Frappe
Cloud
Marketplace
Frappe
Products
Insights
Installation Guide
installs
About
A comprehensive role duplication system for Frappe applications that allows you to easily duplicate roles with all their permissions, user permissions, and settings.
🔄 Complete Role Duplication: Clone roles with all permissions, settings, and configurations
👥 User Permission Cloning: Duplicate user-specific permissions and restrictions
🎯 Smart Permission Management: Automatically handles complex permission structures
🔍 Real-time Validation: Prevents duplicate role names and validates permissions
📊 Detailed Reporting: Shows comprehensive results with success/failure counts
🖥️ Multiple Interfaces: Web interface, form buttons, and programmatic access
Navigate to any Role document (e.g., HR Manager, Delivery Manager)
Click the "Easy Duplicate Role" button in the toolbar
Enter the new role name
The system will create a complete copy with all permissions
Go to Role Duplicate list
Create a new Role Duplicate document
Select the Source Role (e.g., "Delivery Manager")
Enter the New Role Name (e.g., "Delivery Manager Copy")
Click "Load Permissions" to preview all permissions
Click "Create New Role" to complete the duplication
Navigate to User Permission Manager
Create a new document with:
Alias Name: Friendly identifier
Applied User: Target user email
Add permission details in the User Permission Details table:
Allow: Document type (e.g., Customer Group, Warehouse)
For Value: Specific value (e.g., Commercial, Stores - GE)
Configure access levels (Apply To All Documents, Is Default, Hide Descendants)
Source Role: "HR Manager"
New Role: "HR Manager - Mumbai Branch"
Result: Complete role with all HR permissions for Mumbai operations
User: warehouse.manager@company.com
Permissions:
- Customer Group: Commercial (Apply to All Documents)
- Warehouse: Stores - GE (Default access)
Source: "Delivery Manager"
Target: "Delivery Manager Copy"
Permissions Copied: Delivery Note, Delivery Settings, Delivery Trip, Driver, Serial and Batch Bundle
import frappe
# Create role duplicate document
doc = frappe.new_doc('Role Duplicate')
doc.source_role = 'HR Manager'
doc.new_role_name = 'HR Manager Copy'
doc.description = 'Copy of HR Manager role for testing'
# Load permissions from source role
doc.load_source_role_permissions()
print(f'Loaded {len(doc.role_permissions)} permissions')
# Create the new role with all permissions
result = doc.create_new_role()
print(f'Result: {result}')
// Load permissions from source role
frappe.call({
method: 'duplicate.duplicate.doctype.role_duplicate.role_duplicate.load_role_permissions',
args: {
source_role: 'HR Manager',
role_duplicate_name: 'ROLE-DUP-2025-00001'
}
});
// Create new role from duplicate
frappe.call({
method: 'duplicate.duplicate.doctype.role_duplicate.role_duplicate.create_role_from_duplicate',
args: {
role_duplicate_name: 'ROLE-DUP-2025-00001'
}
});
Role Duplicate: Main interface for role duplication
User Permission Manager: Enhanced user permission management
Role Duplicate Permissions: Stores individual permission details
User Permission Details: Manages user-specific access controls
Q: Role creation shows "Network/Server Error" A: Check browser console for detailed error messages. Verify API endpoints are accessible and CSRF tokens are valid.
Q: Only some permissions are copied A: Check for DocTypes that don't exist in the target environment. The system will skip non-existent DocTypes and report them.
Q: User permissions not applying A: Verify the user exists and has the necessary base permissions. User permissions are restrictions, not grants.
MIT License - see LICENSE file for details
For issues and feature requests, please create an issue in our GitHub repository.
User Reviews
No reviews yet, be the first to review.
0 rating
More apps from
Explore more apps