Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Epic: Permissions implementation #148

Open
5 tasks
fyliu opened this issue Apr 14, 2023 · 2 comments
Open
5 tasks

Epic: Permissions implementation #148

fyliu opened this issue Apr 14, 2023 · 2 comments
Labels
complexity: missing dependency Issue has dependencies epic Issue is an epic ethan p-feature: permissions research Issue involving doing research role: back end s: org stakeholder: the org (includes stats) s: PD team stakeholder: People Depot Team s: VRMS stakeholder: VRMS size: 5pt Can be done in 19-30 hours

Comments

@fyliu
Copy link
Member

fyliu commented Apr 14, 2023

Dependencies

Overview

We need to research how permissions is implemented in Django and DRF, versus what we need.

This is a meta issue to keep track of the action issues.

Action Items

Discussion

  • Django comes with Group and Permission models in django.contrib.auth out of the box. If they don't match up well, then we need to evaluate existing packages and decide on one that will support our requirements best
  • we need to define our requirements (what we need) for permissions
    • ex. a project lead needs to be able to update the project they are leading (row in the project table for their project), but not be able to update the other projects (rows belonging to other projects).
    • ex. a contributor needs to be able to edit their own user profile, but not the user.status field, since that data belongs to the organization, and not the other user profiles.
    • more requirements (aka acceptance criteria)
@fyliu fyliu added role: back end size: 5pt Can be done in 19-30 hours research Issue involving doing research p-feature: permissions s: VRMS stakeholder: VRMS feature: missing s: PD team stakeholder: People Depot Team s: org stakeholder: the org (includes stats) labels Apr 14, 2023
@fyliu fyliu added this to the v0.01 - initial setup milestone Apr 14, 2023
@ethanstrominger
Copy link
Member

I researched Django permissions and it is very customizable, so it should be able to handle anything we come up with. Django uses user groups and permissions.

You can assign user groups privileges to

  • add, change, delete, and view permissions for individual tables.
  • set permissions on a per record basis based on values in that record or any other condition using has_permission
  • create a generic role like "access api" for generic access

@fyliu fyliu mentioned this issue Jul 8, 2023
21 tasks
@fyliu fyliu added the epic Issue is an epic label Aug 14, 2023
@fyliu fyliu changed the title Permissions implementation Epic: Permissions implementation Aug 14, 2023
@PlantGirlCodes
Copy link
Member

Up for discussion next week #150 per @fyliu next week 8/24/23

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
complexity: missing dependency Issue has dependencies epic Issue is an epic ethan p-feature: permissions research Issue involving doing research role: back end s: org stakeholder: the org (includes stats) s: PD team stakeholder: People Depot Team s: VRMS stakeholder: VRMS size: 5pt Can be done in 19-30 hours
Projects
Status: ❓Questions/Review
Development

No branches or pull requests

4 participants