With a couple changes, this extension should be able to support a use case in which all new posts and replies need to be held for admin or moderator approval.
This setting should go directly beneath the "Start discussions" setting ... but what to call it? Logic dictates that it should be named "Start discussions without approval", but that's pretty long. One possible alternative would be to:
This new setting will give admins sufficient granular control for various moderation scenarios.
Currently a group can be permitted to act without approval, and yet _not_ permitted to act at all. This can be a bit confusing for admins, as it isn't quite clear how the two settings will interact.
There are two approaches that can be taken to make these settings more intuitive.
Either:
Or:
Either of these changes should make the use of these permissions more intuitive for admins.
In a similar vein, removal of a "Post" or "Reply" permission could result in a situation where a group is permitted to act without approval, and yet _not_ permitted to act at all; this change will prevent that.
@franzliedke are you working on this?
I will, but I haven't started yet. So if you want to, you can take over.
Reopening, as the requirement for approval within a certain tag can easily be worked around. You simply create a discussion with another tag, and then move it after you're done.
Any ideas on how to solve this?
That's a feature, not a bug. ;)
Couldn't you apply the permission to the movement of discussions as well? E.g., a user needs to have permission to create a discussion in the Destination tag in order to move a discussion to that tag.
(You'd have to check the permission of the user doing the move, not that of the user who created the discussion ... or you could end up preventing even admins from moving the discussion.)
The alternative would be to leave Tags out of it altogether: users in a group without this permission will have all new discussions held for approval, regardless of where they're creating them. That would make it less like the "Reply without approval" permission and less configurable, but still somewhat useful.
Yeah, it's a little complicated but the way I'm working on is to prevent a user from adding a tag to a discussion if they don't have permission to start discussions in that tag without approval. So they only get the opportunity to select those tags when they create the discussion – after they've created it, they're limited to tags which they have full permissions in. Sound good?
Sounds good!
Most helpful comment
Yeah, it's a little complicated but the way I'm working on is to prevent a user from adding a tag to a discussion if they don't have permission to start discussions in that tag without approval. So they only get the opportunity to select those tags when they create the discussion – after they've created it, they're limited to tags which they have full permissions in. Sound good?