User Roles and Permissions
Proper user role and permission configuration ensures that users have appropriate access levels based on their responsibilities.
Understanding the Permission System
Permissions in Country Workspace are organized through Groups and the User Role table, not through the Django user model directly.
The main idea is that permissions are per office or per program within a specific office.
How Permissions Work
- Create a Group with specific permissions
- Assign the Group to a User via the User Role table for a specific office and optionally a specific program
- The permissions control:- Which country offices a user can access
- Which programs within those offices they can work with
- What actions they can perform (e.g., push data to HOPE, validate records, etc.)
 
Creating Groups with Permissions
Step 1: Create a Group
Navigate to:
Admin › Authentication and Authorization › Groups
Click [Add Group] and give it a descriptive name (e.g., "Data Collectors", "Validators", "Managers").
Step 2: Assign Permissions to the Group
Select the appropriate permissions from the available list. See the Available Permissions section below for details on each permission.
Assigning User Roles
Navigate to:
Admin › COUNTRY WORKSPACE › User roles
Required Fields
- User - Select the user to grant permissions to
- Country Office - Select the office this role applies to
- Group - Select the group with the permissions you want to grant
Optional Fields
- Programme - If left empty, the user will have permissions for all programs within the selected office. If a program is selected, permissions apply only to that specific program.
- Expires - If not set, permissions never expire. Set a date to create temporary access.
Example Scenarios
Grant office-wide access: - User: john.doe - Country Office: Afghanistan - Group: Data Validators - Programme: (empty)
Result: John can validate data for all programs in Afghanistan office.
Grant program-specific access: - User: jane.smith - Country Office: Ukraine - Group: Data Collectors - Programme: Cash Transfer Program - Expires: 2025-12-31
Result: Jane can collect data only for the Cash Transfer Program in Ukraine office until December 31, 2025.
Available Permissions
Programme Permissions
- 
workspaces.import_program_data- Can Import beneficiariesAllows users to import beneficiary data (Households and Individuals) into the program from various sources (Kobo, Aurora, XLS). 
Beneficiary (Household/Individual) Permissions
- 
workspaces.validate_beneficiary- Can validate Beneficiary RecordsAllows users to run validation checks on household and individual records to ensure data quality. 
- 
workspaces.mass_update_beneficiary- Can Mass update Beneficiary RecordsAllows users to perform bulk field updates on multiple records at once using the mass update action. 
- 
workspaces.regex_update_beneficiary- Can RegEx update Beneficiary RecordsAllows users to update fields using regular expressions for pattern-based replacements. 
- 
workspaces.export_beneficiary- Can Export Beneficiary RecordsAllows users to export records to .xlsx files for offline bulk editing and reimport. 
- 
workspaces.push_beneficiary_to_hope- Can Push Beneficiary Records To HOPE coreAllows users to push validated beneficiary data to the HOPE core system. This is a critical permission as it affects production data. 
- 
workspaces.calculate_checksum- Can calculate checksum for Beneficiary RecordsAllows users to calculate checksums for data integrity verification. 
Job Permissions
- 
country_workspace.debug_job- Can debug background jobsAllows users to access debugging information for asynchronous background jobs and tasks.