Skip to content

Add user roles for organizations in backend and frontend #1973

Description

@andrewtavis

Terms

Description

We've had some great conversations about user roles in the last few days and are now ready to start implementing them. This is an important feature to add in to make sure that we have roles set for who is able to do what on the platform.

We were thinking that changes would be made on the backend and then frontend works on the same PR.

Specifically, we need to decide on how this information will be conveyed to the frontend so that planning can begin on that end of the process :)

The following is what we had mapped out on Figma in the schemas from the discussion (I've now deleted it there):

Organization Roles

  • Note: Fewer is better than more
  • Organization roles are transferred to all sub entities (groups and events)

Admin (creator automatically gets this role)

  • Can edit and close the organization
  • Can promote admins
  • Can remove their own admin rights
    • If there’s another admin
  • Can promote and demote coordinators
  • Can remove support of the organization
  • Can see admins rather than just coordinators
  • Can delete sub entities
  • [and everything below]

Coordinator

  • Can block users
  • Can invite and remove members
  • Can support and vote on new orgs
    • Vote is for the org
    • They can also support as a user, but specifically for the org admission they can vote
  • Can create and edit sub entities
  • Can create, edit and delete content (resources, FAQs and discussions)
  • Can see content that was hidden (via flags)
  • [and everything below]

Member

  • Can create, edit and close their discussions
  • Can flag content (resources, FAQs and discussions)
    • X2 flags → hidden
  • Can see hidden content that they flagged
  • Can see private members
  • [Tasks would also be included, but are not done now]

Allies

  • Can create discussions and edit/close their own
  • [Down the rode, but it's an interesting idea]

User

  • Can support (as a user)
  • Can participate in discussions
    • Feature flag with the base role for this being members
    • Setting within an org is that discussions are members/allies only
    • Or set an individual discussion to members only

All

  • Can view
  • Can see public organization members
    • Can see if they are members or coordinators
    • Admins are shown as coordinators
    • Ordered based on date joined

Site Level Roles

Community admins

  • Are chosen by the community and are able to delete things (must eventually have 2FA enabled)
  • Can remove the rights of any user
  • Can see hidden content
  • Can un/block users and see blocked users
  • Can see who downvoted an organization on their applications (others just see a total downvote)

Site admins

  • Development community members

Contribution

Happy to discuss the above, review PRs and work with people on the various parts of this! 🚀

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

-next release-Included in the next releasebackendRelates to the project backendfrontendRelates to the project frontendhelp wantedExtra attention is neededpythonRelates to Python codetypescriptRelates to TypeScript code

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions