This category is public, everyone can see, reply and create posts. To restrict permissions, remove one or more of the permissions granted to the “everyone” group.
So to remove the “create” permission, you can remove everyone, and then add everyone with the settings you want; I tested this just now on 2.9.0.beta3 and it works…
In that screenshot () the “New Topic” button is non-functional.
However… when I refresh the permissions on a category, it shows the same “This category is public…” message, and all boxes are checked, while the intended permissions remain; in this case all three checkboxes are checked, but the category in question only allows reading and replying, but not creating new topics.
I’m going to rebuild my site and test some more, to see if this still persists.
You know what, I actually misunderstood that hint-text, and my brain just came up with a workaround, even though the expected behavior was not working my site.
So please ignore my weird hack, and let’s focus on reproducing this bug.
If you untick a box, does it actually set that permission, despite the refresh showing all boxes ticked? That’s how it works for me, if I set the permissions, they are applied, but a fresh viewing of the permissions always resets the boxes being ticked though the permissions remain applied.
Reset security permissions by removing all groups (No groups have been granted access; this category will only be visible to staff.)
Added in ‘everyone’ with all permissions (checked test user - working as expected )
Unticked ‘create’, and refreshed (screen displays a reversion to all being ticked)
Check test user, and they can no longer create a topic in that category, despite the security screen showing they can
And a similar thing when adding a second group alongside ‘everyone’. The ‘everyone’ group disappears from the display, but the permissions seem to be enacted.
It seems it’s also restricted to the ‘everyone’ group. Others I can add and amend permissions for, and they seem to stick just fine.
When I take the second test a step further and add a third group, it seems to override and remove the hidden/background ‘everyone’ security settings. Eg:
Reset security permissions by removing all groups (No groups have been granted access; this category will only be visible to staff.)
Added in ‘everyone’ with all permissions (checked test user - working as expected )
Make ‘everyone’ see only (refresh. all boxes ticked but in reality, they can only see)
Add Group2 with all permissions (refresh. ‘everyone’ disappears, but in reality, everyone can still see)
Add Group3 (refresh. Group2 and 3 are visible, ‘everyone’ has now lost the ability to see the category)
The problem is in the CategorySerializer and it has been introduced in commitdfaf983.
It’s a security fix that has been backported so that’s why it happens in stable as well.