Frappe

Cloud

Marketplace

Duplicate Role

Frappe

Products

Insights

Duplicate Role
Allows you to easily duplicate roles with all their permissions, user permissions, and settings.

Supported versions

Version 15, Version 14

Categories

Paid

E-Commerce

About

Easy Duplicate Role

A comprehensive role duplication system for Frappe applications that allows you to easily duplicate roles with all their permissions, user permissions, and settings.

Features

  • 🔄 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

Quick Start

1. Role Duplication

Using the Role Form

  1. Navigate to any Role document (e.g., HR Manager, Delivery Manager)

  2. Click the "Easy Duplicate Role" button in the toolbar

  3. Enter the new role name

  4. The system will create a complete copy with all permissions

Using the Role Duplicate DocType

  1. Go to Role Duplicate list

  2. Create a new Role Duplicate document

  3. Select the Source Role (e.g., "Delivery Manager")

  4. Enter the New Role Name (e.g., "Delivery Manager Copy")

  5. Click "Load Permissions" to preview all permissions

  6. Click "Create New Role" to complete the duplication

2. User Permission Management

Using User Permission Manager

  1. Navigate to User Permission Manager

  2. Create a new document with:

    • Alias Name: Friendly identifier

    • Applied User: Target user email

  3. 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)

Usage Examples

Scenario 1: Creating Department-Specific Roles

Source Role: "HR Manager" 
New Role: "HR Manager - Mumbai Branch"
Result: Complete role with all HR permissions for Mumbai operations

Scenario 2: Warehouse-Specific Access

User: warehouse.manager@company.com
Permissions: 
- Customer Group: Commercial (Apply to All Documents)
- Warehouse: Stores - GE (Default access)

Scenario 3: Manager Role Variations

Source: "Delivery Manager"
Target: "Delivery Manager Copy"
Permissions Copied: Delivery Note, Delivery Settings, Delivery Trip, Driver, Serial and Batch Bundle

API Reference

Programmatic Usage

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}')

API Endpoints

// 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'
    }
});

DocTypes Included

Primary DocTypes

  • Role Duplicate: Main interface for role duplication

  • User Permission Manager: Enhanced user permission management

Child DocTypes

  • Role Duplicate Permissions: Stores individual permission details

  • User Permission Details: Manages user-specific access controls

Troubleshooting

Common Issues

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.

License

MIT License - see LICENSE file for details

Support

For issues and feature requests, please create an issue in our GitHub repository.

User Reviews

No reviews yet, be the first to review.

0.0

0 rating

Rate and share your experience

Text

Explore more apps