update with migration data

This commit is contained in:
Casey 2026-02-19 15:06:14 -06:00
parent d84c9fd20c
commit 30031c4c56
13 changed files with 489314 additions and 11952 deletions

View file

@ -2,6 +2,7 @@ import click
import os
import subprocess
import frappe
import json
from custom_ui.utils import create_module
from custom_ui.api.db.general import search_any_field
from custom_ui.install import create_companies, create_project_templates, create_task_types, create_tasks, create_bid_meeting_note_form_templates
@ -104,6 +105,142 @@ def create_module_command():
def setup_custom_ui():
pass
@click.command("import-aspire-migration")
@click.option("--path", required=True, help="Path to the migration output directory containing JSON files")
@click.option("--dry-run", is_flag=True, default=False, help="Print what would be done without inserting")
def import_aspire_migration(path, dry_run):
"""Import Aspire migration JSON files into ERPNext in dependency order."""
frappe.connect()
customers_file = os.path.join(path, "customers.json")
contacts_file = os.path.join(path, "contacts.json")
addresses_file = os.path.join(path, "addresses.json")
updates_file = os.path.join(path, "customer_updates.json")
for f in [customers_file, contacts_file, addresses_file, updates_file]:
if not os.path.exists(f):
click.echo(f"❌ Missing file: {f}")
return
# --- Step 1: Insert Customers ---
click.echo("📦 Step 1: Inserting Customers...")
with open(customers_file) as f:
customers = json.load(f)
success, skipped, failed = 0, 0, 0
for i, rec in enumerate(customers):
if dry_run:
click.echo(f" [DRY RUN] Would insert Customer: {rec.get('customer_name')}")
continue
try:
if frappe.db.exists("Customer", rec.get("customer_name")):
skipped += 1
continue
doc = frappe.get_doc(rec)
doc.insert(ignore_permissions=True)
success += 1
except Exception as e:
failed += 1
click.echo(f" ⚠️ Customer '{rec.get('customer_name')}': {e}")
if (i + 1) % 500 == 0:
frappe.db.commit()
click.echo(f" ... committed {i + 1}/{len(customers)}")
frappe.db.commit()
click.echo(f" ✅ Customers — inserted: {success}, skipped: {skipped}, failed: {failed}")
# --- Step 2: Insert Contacts ---
click.echo("📦 Step 2: Inserting Contacts...")
with open(contacts_file) as f:
contacts = json.load(f)
success, skipped, failed = 0, 0, 0
for i, rec in enumerate(contacts):
if dry_run:
click.echo(f" [DRY RUN] Would insert Contact: {rec.get('first_name')} {rec.get('last_name')}")
continue
try:
doc = frappe.get_doc(rec)
doc.insert(ignore_permissions=True)
success += 1
except Exception as e:
failed += 1
name = f"{rec.get('first_name', '')} {rec.get('last_name', '')}"
click.echo(f" ⚠️ Contact '{name}': {e}")
if (i + 1) % 500 == 0:
frappe.db.commit()
click.echo(f" ... committed {i + 1}/{len(contacts)}")
frappe.db.commit()
click.echo(f" ✅ Contacts — inserted: {success}, skipped: {skipped}, failed: {failed}")
# --- Step 3: Insert Addresses ---
click.echo("📦 Step 3: Inserting Addresses...")
with open(addresses_file) as f:
addresses = json.load(f)
success, skipped, failed = 0, 0, 0
for i, rec in enumerate(addresses):
if dry_run:
click.echo(f" [DRY RUN] Would insert Address: {rec.get('address_line1')}")
continue
try:
doc = frappe.get_doc(rec)
doc.insert(ignore_permissions=True)
success += 1
except Exception as e:
failed += 1
click.echo(f" ⚠️ Address '{rec.get('address_line1', '?')}': {e}")
if (i + 1) % 500 == 0:
frappe.db.commit()
click.echo(f" ... committed {i + 1}/{len(addresses)}")
frappe.db.commit()
click.echo(f" ✅ Addresses — inserted: {success}, skipped: {skipped}, failed: {failed}")
# --- Step 4: Update Customers with child tables ---
click.echo("📦 Step 4: Updating Customers with contact/property links...")
with open(updates_file) as f:
updates = json.load(f)
success, skipped, failed = 0, 0, 0
for i, rec in enumerate(updates):
customer_name = rec.get("customer_name")
if dry_run:
click.echo(f" [DRY RUN] Would update Customer: {customer_name}")
continue
try:
if not frappe.db.exists("Customer", customer_name):
skipped += 1
continue
doc = frappe.get_doc("Customer", customer_name)
for contact_row in rec.get("contacts", []):
doc.append("contacts", contact_row)
for property_row in rec.get("properties", []):
doc.append("properties", property_row)
doc.save(ignore_permissions=True)
success += 1
except Exception as e:
failed += 1
click.echo(f" ⚠️ Update '{customer_name}': {e}")
if (i + 1) % 500 == 0:
frappe.db.commit()
click.echo(f" ... committed {i + 1}/{len(updates)}")
frappe.db.commit()
click.echo(f" ✅ Updates — applied: {success}, skipped: {skipped}, failed: {failed}")
click.echo("🎉 Migration complete!")
frappe.destroy()
commands = [build_frontend, create_module_command]

View file

@ -1,795 +0,0 @@
[
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:14:22.939672",
"name": "System Manager",
"restrict_to_domain": null,
"role_name": "System Manager",
"two_factor_auth": 0
},
{
"desk_access": 0,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:14:22.949185",
"name": "Guest",
"restrict_to_domain": null,
"role_name": "Guest",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:14:22.957171",
"name": "Administrator",
"restrict_to_domain": null,
"role_name": "Administrator",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:14:22.966723",
"name": "All",
"restrict_to_domain": null,
"role_name": "All",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:14:22.974828",
"name": "Desk User",
"restrict_to_domain": null,
"role_name": "Desk User",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:14:23.925708",
"name": "Website Manager",
"restrict_to_domain": null,
"role_name": "Website Manager",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:14:24.685089",
"name": "Dashboard Manager",
"restrict_to_domain": null,
"role_name": "Dashboard Manager",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:14:26.798862",
"name": "Workspace Manager",
"restrict_to_domain": null,
"role_name": "Workspace Manager",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:14:27.293623",
"name": "Report Manager",
"restrict_to_domain": null,
"role_name": "Report Manager",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:14:29.149829",
"name": "Script Manager",
"restrict_to_domain": null,
"role_name": "Script Manager",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:14:36.945427",
"name": "Inbox User",
"restrict_to_domain": null,
"role_name": "Inbox User",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:14:39.761649",
"name": "Prepared Report User",
"restrict_to_domain": null,
"role_name": "Prepared Report User",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:14:43.947516",
"name": "Blogger",
"restrict_to_domain": null,
"role_name": "Blogger",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:14:46.346917",
"name": "Newsletter Manager",
"restrict_to_domain": null,
"role_name": "Newsletter Manager",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:14:47.243381",
"name": "Knowledge Base Contributor",
"restrict_to_domain": null,
"role_name": "Knowledge Base Contributor",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:14:47.262953",
"name": "Knowledge Base Editor",
"restrict_to_domain": null,
"role_name": "Knowledge Base Editor",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:14:56.661394",
"name": "Accounts Manager",
"restrict_to_domain": null,
"role_name": "Accounts Manager",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:14:56.674846",
"name": "Purchase User",
"restrict_to_domain": null,
"role_name": "Purchase User",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:14:56.683274",
"name": "Sales User",
"restrict_to_domain": null,
"role_name": "Sales User",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:14:56.701284",
"name": "Accounts User",
"restrict_to_domain": null,
"role_name": "Accounts User",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:15:07.963749",
"name": "Sales Master Manager",
"restrict_to_domain": null,
"role_name": "Sales Master Manager",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:15:07.979912",
"name": "Maintenance Manager",
"restrict_to_domain": null,
"role_name": "Maintenance Manager",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:15:08.013321",
"name": "Sales Manager",
"restrict_to_domain": null,
"role_name": "Sales Manager",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:15:08.040169",
"name": "Maintenance User",
"restrict_to_domain": null,
"role_name": "Maintenance User",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:15:08.049510",
"name": "Purchase Master Manager",
"restrict_to_domain": null,
"role_name": "Purchase Master Manager",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:15:08.058859",
"name": "Purchase Manager",
"restrict_to_domain": null,
"role_name": "Purchase Manager",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:15:16.260699",
"name": "Translator",
"restrict_to_domain": null,
"role_name": "Translator",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:15:24.541181",
"name": "Auditor",
"restrict_to_domain": null,
"role_name": "Auditor",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:15:28.563445",
"name": "Employee",
"restrict_to_domain": null,
"role_name": "Employee",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:15:28.593109",
"name": "Stock User",
"restrict_to_domain": null,
"role_name": "Stock User",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:15:54.780680",
"name": "HR Manager",
"restrict_to_domain": null,
"role_name": "HR Manager",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:16:00.248577",
"name": "Manufacturing Manager",
"restrict_to_domain": null,
"role_name": "Manufacturing Manager",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:16:01.617491",
"name": "Stock Manager",
"restrict_to_domain": null,
"role_name": "Stock Manager",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:16:04.521100",
"name": "Projects User",
"restrict_to_domain": null,
"role_name": "Projects User",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:16:05.499661",
"name": "Projects Manager",
"restrict_to_domain": null,
"role_name": "Projects Manager",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:16:06.888198",
"name": "Manufacturing User",
"restrict_to_domain": null,
"role_name": "Manufacturing User",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:16:06.962029",
"name": "HR User",
"restrict_to_domain": null,
"role_name": "HR User",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:16:15.058111",
"name": "Item Manager",
"restrict_to_domain": null,
"role_name": "Item Manager",
"two_factor_auth": 0
},
{
"desk_access": 0,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:17:19.247810",
"name": "Customer",
"restrict_to_domain": null,
"role_name": "Customer",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:16:19.053592",
"name": "Delivery Manager",
"restrict_to_domain": null,
"role_name": "Delivery Manager",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:16:19.110307",
"name": "Delivery User",
"restrict_to_domain": null,
"role_name": "Delivery User",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:16:19.124541",
"name": "Fleet Manager",
"restrict_to_domain": null,
"role_name": "Fleet Manager",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:16:19.602602",
"name": "Academics User",
"restrict_to_domain": null,
"role_name": "Academics User",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:16:38.054879",
"name": "Fulfillment User",
"restrict_to_domain": null,
"role_name": "Fulfillment User",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:16:41.401518",
"name": "Quality Manager",
"restrict_to_domain": null,
"role_name": "Quality Manager",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:16:51.029966",
"name": "Support Team",
"restrict_to_domain": null,
"role_name": "Support Team",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:16:58.882176",
"name": "Agriculture User",
"restrict_to_domain": null,
"role_name": "Agriculture User",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:16:58.966355",
"name": "Agriculture Manager",
"restrict_to_domain": null,
"role_name": "Agriculture Manager",
"two_factor_auth": 0
},
{
"desk_access": 0,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:17:19.249024",
"name": "Supplier",
"restrict_to_domain": null,
"role_name": "Supplier",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2024-04-04 04:17:16.072081",
"name": "Analytics",
"restrict_to_domain": null,
"role_name": "Analytics",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": "/app",
"is_custom": 0,
"modified": "2025-01-28 15:46:59.075095",
"name": "Technician",
"restrict_to_domain": "Service",
"role_name": "Technician",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2025-01-13 10:13:13.163560",
"name": "Interviewer",
"restrict_to_domain": null,
"role_name": "Interviewer",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2025-01-13 10:13:15.161152",
"name": "Expense Approver",
"restrict_to_domain": null,
"role_name": "Expense Approver",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2025-01-13 10:13:16.149250",
"name": "Leave Approver",
"restrict_to_domain": null,
"role_name": "Leave Approver",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 1,
"modified": "2025-01-13 10:13:27.355987",
"name": "Employee Self Service",
"restrict_to_domain": null,
"role_name": "Employee Self Service",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": "/app/snw-foreman",
"is_custom": 0,
"modified": "2025-04-17 11:54:33.174189",
"name": "SNW Foreman",
"restrict_to_domain": null,
"role_name": "SNW Foreman",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": "/app/snw-front-office",
"is_custom": 0,
"modified": "2025-05-02 04:52:34.365177",
"name": "SNW Front Office",
"restrict_to_domain": null,
"role_name": "SNW Front Office",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2025-05-02 06:37:19.711082",
"name": "SNW Install Admin",
"restrict_to_domain": null,
"role_name": "SNW Install Admin",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2025-05-02 09:02:42.978358",
"name": "Nuco Admin",
"restrict_to_domain": null,
"role_name": "Nuco Admin",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2025-05-02 09:02:53.410754",
"name": "Lowe Admin",
"restrict_to_domain": null,
"role_name": "Lowe Admin",
"two_factor_auth": 0
},
{
"desk_access": 1,
"disabled": 0,
"docstatus": 0,
"doctype": "Role",
"home_page": null,
"is_custom": 0,
"modified": "2025-05-02 09:07:40.352031",
"name": "SNW Service Admin",
"restrict_to_domain": null,
"role_name": "SNW Service Admin",
"two_factor_auth": 0
}
]

View file

@ -1,725 +0,0 @@
[
{
"docstatus": 0,
"doctype": "Role Profile",
"modified": "2024-04-04 04:17:19.023597",
"name": "Inventory",
"role_profile": "Inventory",
"roles": [
{
"parent": "Inventory",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Stock User"
},
{
"parent": "Inventory",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Stock Manager"
},
{
"parent": "Inventory",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Item Manager"
}
]
},
{
"docstatus": 0,
"doctype": "Role Profile",
"modified": "2024-04-04 04:17:19.035761",
"name": "Manufacturing",
"role_profile": "Manufacturing",
"roles": [
{
"parent": "Manufacturing",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Stock User"
},
{
"parent": "Manufacturing",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Manufacturing User"
},
{
"parent": "Manufacturing",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Manufacturing Manager"
}
]
},
{
"docstatus": 0,
"doctype": "Role Profile",
"modified": "2024-12-30 09:14:46.881813",
"name": "Accounts",
"role_profile": "Accounts",
"roles": [
{
"parent": "Accounts",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Accounts User"
},
{
"parent": "Accounts",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Accounts Manager"
},
{
"parent": "Accounts",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Academics User"
}
]
},
{
"docstatus": 0,
"doctype": "Role Profile",
"modified": "2024-04-04 04:17:19.070987",
"name": "Purchase",
"role_profile": "Purchase",
"roles": [
{
"parent": "Purchase",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Item Manager"
},
{
"parent": "Purchase",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Stock User"
},
{
"parent": "Purchase",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Purchase User"
},
{
"parent": "Purchase",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Purchase Manager"
}
]
},
{
"docstatus": 0,
"doctype": "Role Profile",
"modified": "2025-02-10 14:08:13.619290",
"name": "System Manager",
"role_profile": "System Manager",
"roles": [
{
"parent": "System Manager",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "System Manager"
}
]
},
{
"docstatus": 0,
"doctype": "Role Profile",
"modified": "2025-01-28 13:40:31.163924",
"name": "HR",
"role_profile": "HR & Admin",
"roles": [
{
"parent": "HR",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "HR User"
},
{
"parent": "HR",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "HR Manager"
},
{
"parent": "HR",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Leave Approver"
},
{
"parent": "HR",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Expense Approver"
},
{
"parent": "HR",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Dashboard Manager"
},
{
"parent": "HR",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "System Manager"
},
{
"parent": "HR",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Accounts Manager"
},
{
"parent": "HR",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Agriculture Manager"
},
{
"parent": "HR",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Analytics"
},
{
"parent": "HR",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Auditor"
},
{
"parent": "HR",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Delivery Manager"
},
{
"parent": "HR",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Fleet Manager"
},
{
"parent": "HR",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Inbox User"
},
{
"parent": "HR",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Interviewer"
},
{
"parent": "HR",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Item Manager"
},
{
"parent": "HR",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Maintenance Manager"
},
{
"parent": "HR",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Manufacturing Manager"
},
{
"parent": "HR",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Newsletter Manager"
},
{
"parent": "HR",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Prepared Report User"
},
{
"parent": "HR",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Projects Manager"
},
{
"parent": "HR",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Purchase Master Manager"
},
{
"parent": "HR",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Quality Manager"
},
{
"parent": "HR",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Report Manager"
},
{
"parent": "HR",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Sales Master Manager"
},
{
"parent": "HR",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Stock Manager"
},
{
"parent": "HR",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Workspace Manager"
},
{
"parent": "HR",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Website Manager"
}
]
},
{
"docstatus": 0,
"doctype": "Role Profile",
"modified": "2025-01-28 15:49:20.863461",
"name": "Technician",
"role_profile": "Technician",
"roles": [
{
"parent": "Technician",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Projects User"
},
{
"parent": "Technician",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Maintenance User"
},
{
"parent": "Technician",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Stock User"
}
]
},
{
"docstatus": 0,
"doctype": "Role Profile",
"modified": "2025-02-10 14:33:01.847181",
"name": "Admin",
"role_profile": "Admin",
"roles": [
{
"parent": "Admin",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Academics User"
},
{
"parent": "Admin",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Accounts Manager"
},
{
"parent": "Admin",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Agriculture Manager"
},
{
"parent": "Admin",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Analytics"
},
{
"parent": "Admin",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Auditor"
},
{
"parent": "Admin",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Blogger"
},
{
"parent": "Admin",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Dashboard Manager"
},
{
"parent": "Admin",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Delivery Manager"
},
{
"parent": "Admin",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Fleet Manager"
},
{
"parent": "Admin",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Fulfillment User"
},
{
"parent": "Admin",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "HR User"
},
{
"parent": "Admin",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Inbox User"
},
{
"parent": "Admin",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Item Manager"
},
{
"parent": "Admin",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Knowledge Base Editor"
},
{
"parent": "Admin",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Maintenance Manager"
},
{
"parent": "Admin",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Maintenance User"
},
{
"parent": "Admin",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Manufacturing Manager"
},
{
"parent": "Admin",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Newsletter Manager"
},
{
"parent": "Admin",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Prepared Report User"
},
{
"parent": "Admin",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Projects Manager"
},
{
"parent": "Admin",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Purchase Manager"
},
{
"parent": "Admin",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Purchase Master Manager"
},
{
"parent": "Admin",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Quality Manager"
},
{
"parent": "Admin",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Report Manager"
},
{
"parent": "Admin",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Sales Manager"
},
{
"parent": "Admin",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Sales Master Manager"
},
{
"parent": "Admin",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Script Manager"
},
{
"parent": "Admin",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Stock Manager"
},
{
"parent": "Admin",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Supplier"
},
{
"parent": "Admin",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Support Team"
},
{
"parent": "Admin",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "System Manager"
},
{
"parent": "Admin",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Translator"
},
{
"parent": "Admin",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Website Manager"
},
{
"parent": "Admin",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Workspace Manager"
},
{
"parent": "Admin",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Accounts User"
},
{
"parent": "Admin",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Agriculture User"
},
{
"parent": "Admin",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Delivery User"
},
{
"parent": "Admin",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Employee"
},
{
"parent": "Admin",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Sales User"
},
{
"parent": "Admin",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Stock User"
},
{
"parent": "Admin",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Purchase User"
},
{
"parent": "Admin",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Projects User"
},
{
"parent": "Admin",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Manufacturing User"
},
{
"parent": "Admin",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Knowledge Base Contributor"
}
]
},
{
"docstatus": 0,
"doctype": "Role Profile",
"modified": "2025-02-12 10:37:54.633409",
"name": "Sales",
"role_profile": "Sales",
"roles": [
{
"parent": "Sales",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Sales User"
},
{
"parent": "Sales",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Stock User"
},
{
"parent": "Sales",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Projects User"
},
{
"parent": "Sales",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Purchase User"
},
{
"parent": "Sales",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Maintenance User"
},
{
"parent": "Sales",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Delivery User"
},
{
"parent": "Sales",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Fulfillment User"
},
{
"parent": "Sales",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Agriculture User"
},
{
"parent": "Sales",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Support Team"
},
{
"parent": "Sales",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Prepared Report User"
},
{
"parent": "Sales",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Manufacturing User"
},
{
"parent": "Sales",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Inbox User"
},
{
"parent": "Sales",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Employee Self Service"
},
{
"parent": "Sales",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Employee"
},
{
"parent": "Sales",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Blogger"
},
{
"parent": "Sales",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Workspace Manager"
},
{
"parent": "Sales",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Website Manager"
},
{
"parent": "Sales",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "System Manager"
},
{
"parent": "Sales",
"parentfield": "roles",
"parenttype": "Role Profile",
"role": "Accounts Manager"
}
]
}
]

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff