-
Notifications
You must be signed in to change notification settings - Fork 0
Feature kpoland access levels #184
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
base: master
Are you sure you want to change the base?
Conversation
819bf6a
to
5871fdf
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this file uses self.assertEqual
, self.assertTrue
, self.assertFalse
, and self.assertIn
from unittest classes; I think we should stick to simple assert
statements for consistency. This also has a little syntax highlighting bonus for using a reserved word in Python.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yeah, noticed this when refactoring, I'll fix that here. haven't run the pre-commit hooks on this branch yet.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR implements a comprehensive access level system for sharing datasets and captures with different permission levels. Users can now assign "Viewer," "Contributor," or "Co-Owner" permissions to shared users and groups, providing granular control over what actions shared users can perform.
- Added three permission levels (Viewer, Contributor, Co-Owner) with specific capabilities for each
- Updated sharing UI with permission level selection and management functionality
- Refactored backend sharing logic to handle permission updates and changes
- Added extensive test coverage for permission checking and updates
Reviewed Changes
Copilot reviewed 19 out of 19 changed files in this pull request and generated 9 comments.
Show a summary per file
File | Description |
---|---|
gateway/sds_gateway/users/views.py | Refactored ShareItemView to handle unified sharing operations including permission changes and removals |
gateway/sds_gateway/users/utils.py | Updated group sharing utility to support permission levels |
gateway/sds_gateway/templates/users/partials/share_modal.html | Enhanced UI with permission level dropdowns and Google Drive-style access controls |
gateway/sds_gateway/static/js/userSearchComponent.js | Added permission level handling to user search and chip rendering |
gateway/sds_gateway/static/js/permission-levels.js | New JavaScript module for permission level management and UI interactions |
gateway/sds_gateway/static/css/permission-levels.css | Comprehensive styling for permission level components and visual feedback |
gateway/sds_gateway/api_methods/models.py | Extended UserSharePermission model with permission checking methods and dataset author management |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
5871fdf
to
598eca5
Compare
This contains ONLY updates to the sharing mechanism, allowing users to:
Changes to write privileges on the dataset editing page are on a branch checked out from this one and can be merged into this branch when these are approved (keeping all the changes together would make this a difficult to review PR so I separated them).