Skip to content

User Roles and Permissions

Michael Bunsen edited this page Feb 24, 2025 · 9 revisions

Overview

This document outlines the roles and permissions system introduced in the Antenna project. It covers:

  • Supported user roles and how to assign/unassign them via the Admin UI.

  • Object-level permissions for users and groups.

Roles & Permissions

The permissions framework provides fine-grained object-level access control for the Project model and its related entities.

Supported Roles

Role Name Permissions
Project Manager Full control over the project and related entities. Can add, edit, delete all project-related objects.
Basic Member Can view project information. Can star a Source Image. Project will show under "My Projects".
Identifier Can create, update, and delete Identifications but only for those created by the user.

Role Auto-Assignment

  • Project Manager: Auto-assigned to the project owner upon project creation.

  • Basic Member: Auto-assigned to project members when they join a project.

Managing Roles via Django Admin UI

Assigning/Removing Roles in Admin UI

To Assign a Role:

  1. Navigate to the Django Admin Panel:

  2. Go to Users (/admin/users/user/) image

  3. Click on the user you want to modify.

image

  1. Scroll to the Groups section.

Select the permission group with project and appropriate role (Project Manager, Basic Member, or Identifier). The groups are name following this format : {project_id}_{project_name}_{role_name} image image

  1. Click Save.

To Remove a Role:

  1. Deselect the role from the Groups section.

  2. Click Save.

Object-Level Permissions

Assigning Object-Level Permissions via Django Admin

To Assign Permissions to a User on a project:
  1. Navigate to the Project Page:

Open Django Admin and go to Projects (/admin/main/project/).

  1. Select the project you want to manage. image

  2. Go to the Object Permissions page. image

  3. In the Users section, enter the user's email in the User Identifier field and click Manage User. image

  4. Select the required permissions.

  5. Click Save.

To Assign Permissions to a Group on a project:
  1. Go to the project's Object Permissions page. image

  2. In the Group section, enter the group name in the Group field and click Manage Group. image

  3. Select the required permissions.

  4. Click Save.