Allow group owners to assign other members as owners

At the moment, group owners can add new members to their group, but cannot make them owners. This can only be done by an admin or site moderator.
I think it would make sense if a group owner could manage group members including promoting them to group owner, and it seems fairly straightforward.

7 Likes

Hello folks. I’m @uffehe’s dev, and I’m wondering if this is a feature that could potentially be acceptable as a candidate for a future release. The behavior seems generic enough, and could be enabled/disabled in the site_settings.

If there are no resources to spare on this, I could try my hand at implementing it. I’m pretty new to Discourse, but as far as I can determine, it seems to be a simple matter of changing group-member-dropdown.js for the UI, move add_owners and remove_owner from /admin/groups_controller.rb to just /groups_controller.rb, and making the corresponding change in routes.rb.

Do you think this feature looks Pull-Request-worthy, @codinghorror?

2 Likes

@codinghorror can you think of any reason why would would not want “group owners” to assign “ownership” to other members of the group.

The general pattern out there in places like GitHub, filesystems and so on, is that owners can always assign new ownership

I support a PR here to change this, I don’t think we need a site setting.

Only big question I have is if you are allowed to demote yourself or remove yourself from a group when you are an owner. Mixed on this. I guess yes, but we should warn.

6 Likes

Seems fine to me if it’s relatively easy we can go for it!

2 Likes

Nice idea. Just wondering, should there be some type of notice/message generated that this happened? (In case of a rogue or misinformed group owner?)

1 Like

It should go in the admin log somewhere.

image

In fact the name “Staff Actions” is not ideal anymore, this should include “group moderator” actions for stuff like delete topic, it should also include “group manager” actions, like adding and removing a user etc.

It is a tricky problem cleaning this up, but certainly worth doing longer term.

6 Likes

Hey folks. Not to rush or anything – we don’t need this feature immediately – but I’m wondering what the process is from here. Is there something I should be doing, like implementing it and making a Pull Request, or will this be handled by your team internally?

Just asking so I know if there’s something I need to be doing.

Thanks.