Overview
SASCOP BME SubTec uses Django’s permission system to control access to different modules and features. Permissions are assigned to users through groups and individual user settings.Permission Levels
View
Read-only access to view data
Add
Create new records
Change
Edit existing records
Delete
Delete or deactivate records
Custom
Special permissions for specific features
User Roles
Administrator
Full System Access
Permissions:
- Manage all users and permissions
- Configure system catalogs
- Access all modules without restriction
- View activity logs
- Execute administrative tasks
- System configuration
- User management
- Data maintenance
- Security oversight
Project Manager
Project Oversight
Permissions:
- Create and manage PTEs
- Approve work orders
- View production reports
- Assign resources
- Track project progress
- Cannot modify system catalogs
- Cannot manage user permissions
Field Supervisor
Operational Control
Permissions:
- Record daily production
- Update work order status
- Upload field evidence
- Generate progress reports
- Cannot create PTEs
- Cannot approve work orders
- Limited catalog access
Accounting/Finance
Financial Management
Permissions:
- View all financial data
- Validate production for billing
- Generate financial reports
- Manage payment status
- Cannot modify production volumes
- Cannot change work order details
Read-Only User
View Access Only
Permissions:
- View PTEs and work orders
- Access reports
- View production data
- Cannot create or modify any data
- Cannot access administrative features
Module-Specific Permissions
PTE Management
View PTEs
View PTEs
Permission Code:
operaciones.view_pteheaderAllows users to view the list of PTEs and their details.Required for:- Viewing PTE list
- Accessing PTE details
- Viewing Centro de Consulta
Create PTEs
Create PTEs
Permission Code:
operaciones.add_pteheaderoperaciones/views/pte.py
Modify PTEs
Modify PTEs
Permission Code:
operaciones.change_pteheaderEdit existing PTE information including:- Description and details
- Dates and deadlines
- Responsible parties
- Status changes
Delete PTEs
Delete PTEs
Permission Code:
operaciones.delete_pteheaderoperaciones/views/pte.py
Centro de Consulta
Centro de Consulta
Permission Code:
operaciones.view_centro_consultaCustom permission for viewing the consultation center:operaciones/models/pte_models.py
Work Order Management
Production Management
Production Permissions
View Production:
operaciones.view_produccion- View production grids
- Access production reports
operaciones.add_produccion- Enter daily production volumes
- Create production records
operaciones.change_produccion- Edit production values
- Correct errors
operaciones.validate_produccion- Lock production periods
- Approve for billing
Catalog Management
View Catalogs
View Catalogs
Most users can view catalog data for reference purposes.
Modify Catalogs
Modify Catalogs
Restricted to AdministratorsExample permission check:
operaciones/views/catalogos.py
Activity Logging
All user actions are logged for audit purposes:operaciones/models/registro_actividad_models.py
The
@registrar_actividad decorator automatically logs all create, update, and delete operations.Checking User Permissions
In Python Views
In Templates
User Status
Active Users
Active Status
Users with
is_active=True can log in and access the system according to their permissions.operaciones/views/registro_actividad.py
Inactive Users
Staff Status
is_staff=True grants access to the Django admin interface at /admin/Permission Best Practices
Principle of Least Privilege
Grant users only the minimum permissions needed for their job function
Use Groups
Assign permissions to groups rather than individual users for easier management
Regular Audits
Review user permissions quarterly to ensure they remain appropriate
Document Changes
Log all permission changes in the activity log with justification
Common Permission Scenarios
Scenario 1: New Field Supervisor
Scenario 2: Temporary Read-Only Access
Viewing Your Permissions
Contact your system administrator to review your current permissions or request changes.
- Django Admin:
/admin/auth/user/ - Activity Logs: View permission changes in activity log
Related Topics
Managing Users
Admin guide to user management
Activity Logs
View and audit user activities