Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Register
  • Sign in
  • funkwhale funkwhale
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
    • Locked files
  • Issues 427
    • Issues 427
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 15
    • Merge requests 15
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Artifacts
    • Schedules
    • Test cases
  • Deployments
    • Deployments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Terraform modules
    • Model experiments
  • Analytics
    • Analytics
    • 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

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