Non-staff members cannot create calendar events

AI-generated summary

Users reported that non-staff members cannot create calendar events despite enabling permissions for the ‘everyone’ group. sam suggested using trust_level_0 instead, as ‘everyone’ lacks proper handling. Moin linked to a related topic. kris.kotlarek clarified that the error occurs when users try to invite inaccessible groups or leave groups unspecified in private events. marvi confirmed the issue persists even after switching to trust_level_2, with events set to public and all groups allowed. kris.kotlarek identified the root cause: the event wizard incorrectly adds allowedGroups=trust_level_0 to public events, and since trust_level_0 visibility is restricted to group owners/moderators in marvi’s setup, trust_level_2 users can’t access it. Two temporary fixes were offered: manually removing allowedGroups from event code or changing trust_level_0 visibility to ‘logged on users’. A permanent fix was deployed to prevent the wizard from adding allowedGroups for public events kris.kotlarek, resolving the issue.

We are using the Calendar plugin and have tried to enable event posting for all users:

However when non-staff users try to post to the calendar this notice comes up:

Has anyone else experienced this issue? Is it in fact a bug or are we setting something up incorrectly?

2 Likes

Oh this is indeed an oversight, can you try setting it to trust_level_0 , everyone is a special group and it looks like we are missing some special handling here.

trust_level_0 is a group that captures every single logged in user on your forum.

2 Likes

There is also another topic about this issue

4 Likes

This error is displayed in two cases:

  1. The user tries to create a private event and invite groups that they cannot access. For example, here I try to invite admins:

To make it work, I would need to change the permission on the Admins group.

  1. A private event is clicked, but no groups are specified.

Maybe we should improve the event builder form to inform the user that this is an incorrect configuration.


@marvi, is it possible that one of those scenarios happened in your case?

6 Likes

Thank you all for your replies! And interesting about the ‘everyone’ setting. I have updated it to trust_level2, which is the lowest trust level at which people enter, but it’s still not working unfortunately. The events are public and all groups are allowed:

1 Like

I took another look and I think I know what is happening. The wizard to build an event is adding this allowedGroups=trust_level_0 to the event for public events.

In most cases, by default, everyone can see the trust_level_0 group, but in your case, it is configured that only Group owners and moderators can see it.

Something similar to my test instance:

Because allowedGroups is mentioned, permission is checked and trust_level_2 members cannot “see” trust_level_0.

I will work on fixing the wizard so that it is not adding “allowedGroups” for public events, as it is unnecessary.

In the meantime, you have 2 options to fix this issue:

  1. Remove allowedGroups by hand so your event should look like this:
[event start="2025-08-12 09:49" end="2025-08-13 00:00" status="public" timezone="Pacific/Auckland"]
[/event]
  1. Change the visibility of trust_level_0 group to logged on users. You can do this on this page /g/trust_level_0/manage/interaction

I will let you know once the fix to the event wizard is fixed.

I made a fix for event builder to not add allowedGroups for public events and it was deployed to your instance.

https://github.com/discourse/discourse/pull/34244

1 Like

This topic was automatically closed after 3 days. New replies are no longer allowed.