Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in / Register
  • funkwhale funkwhale
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 376
    • Issues 376
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 18
    • Merge requests 18
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • funkwhalefunkwhale
  • funkwhalefunkwhale
  • Issues
  • #152
Closed
Open
Issue created Apr 05, 2018 by Agate@agateMaintainer

Permission management overhaul

Right now we use django's built in permission system, which is nice but also really complicated too, and really granular.

Having something less granular and easier to graps for instance admins would probably be better. I was thinking implementing a UserRole model, with a OneToOne field to User, that would store a few boolean:

  • librarian: can import tracks, correct them, follow other instances catalog
  • federator: can access instance-level and library federation setting, accept follow requests, etc
  • manager: can change other people's permission, delete user accounts, edit instance settings, etc

Don't mind the name, they can change.

User having the superuser flag to True would be able to do all of the above.

Assignee
Assign to
Time tracking