fix(permissions): grant select on link targets to roles with write access (#59123)

This commit is contained in:
Diptanil Saha
2026-09-21 16:56:53 +05:30
committed by GitHub
parent 9b8c35f431
commit 854b0e4734
70 changed files with 1387 additions and 69 deletions

View File

@@ -203,7 +203,7 @@
"idx": 1,
"is_tree": 1,
"links": [],
"modified": "2026-04-14 18:14:42.202065",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Account",
@@ -264,6 +264,46 @@
{
"role": "HR Manager",
"select": 1
},
{
"role": "Delivery Manager",
"select": 1
},
{
"role": "Delivery User",
"select": 1
},
{
"role": "Maintenance Manager",
"select": 1
},
{
"role": "Maintenance User",
"select": 1
},
{
"role": "Manufacturing Manager",
"select": 1
},
{
"role": "Manufacturing User",
"select": 1
},
{
"role": "Purchase Master Manager",
"select": 1
},
{
"role": "Quality Manager",
"select": 1
},
{
"role": "Sales Master Manager",
"select": 1
},
{
"role": "Stock Manager",
"select": 1
}
],
"row_format": "Dynamic",

View File

@@ -101,7 +101,7 @@
}
],
"links": [],
"modified": "2024-03-27 13:06:36.896195",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Bank",
@@ -118,6 +118,14 @@
"role": "System Manager",
"share": 1,
"write": 1
},
{
"role": "Accounts Manager",
"select": 1
},
{
"role": "Accounts User",
"select": 1
}
],
"quick_entry": 1,

View File

@@ -269,7 +269,7 @@
"link_fieldname": "default_bank_account"
}
],
"modified": "2026-04-11 19:46:27.609994",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Bank Account",
@@ -299,6 +299,22 @@
"role": "Accounts User",
"share": 1,
"write": 1
},
{
"role": "Purchase Manager",
"select": 1
},
{
"role": "Purchase Master Manager",
"select": 1
},
{
"role": "Sales Master Manager",
"select": 1
},
{
"role": "Sales User",
"select": 1
}
],
"row_format": "Dynamic",

View File

@@ -126,7 +126,7 @@
"idx": 1,
"is_tree": 1,
"links": [],
"modified": "2026-04-14 18:15:27.367298",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Cost Center",
@@ -181,6 +181,54 @@
{
"role": "HR Manager",
"select": 1
},
{
"role": "Delivery Manager",
"select": 1
},
{
"role": "Delivery User",
"select": 1
},
{
"role": "Maintenance Manager",
"select": 1
},
{
"role": "Maintenance User",
"select": 1
},
{
"role": "Manufacturing Manager",
"select": 1
},
{
"role": "Manufacturing User",
"select": 1
},
{
"role": "Projects Manager",
"select": 1
},
{
"role": "Projects User",
"select": 1
},
{
"role": "Purchase Master Manager",
"select": 1
},
{
"role": "Quality Manager",
"select": 1
},
{
"role": "Sales Master Manager",
"select": 1
},
{
"role": "Stock Manager",
"select": 1
}
],
"row_format": "Dynamic",

View File

@@ -125,7 +125,7 @@
}
],
"links": [],
"modified": "2024-11-19 16:35:11.836441",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Coupon Code",
@@ -179,6 +179,14 @@
"role": "Website Manager",
"share": 1,
"write": 1
},
{
"role": "Maintenance Manager",
"select": 1
},
{
"role": "Maintenance User",
"select": 1
}
],
"sort_field": "creation",

View File

@@ -20,7 +20,7 @@
],
"icon": "fa fa-book",
"links": [],
"modified": "2024-03-27 13:09:44.514241",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Finance Book",
@@ -55,6 +55,18 @@
"report": 1,
"role": "Auditor",
"share": 1
},
{
"role": "HR Manager",
"select": 1
},
{
"role": "Manufacturing Manager",
"select": 1
},
{
"role": "Quality Manager",
"select": 1
}
],
"quick_entry": 1,

View File

@@ -82,7 +82,7 @@
"icon": "fa fa-calendar",
"idx": 1,
"links": [],
"modified": "2024-05-27 17:29:55.560840",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Fiscal Year",
@@ -131,6 +131,10 @@
{
"read": 1,
"role": "Auditor"
},
{
"role": "Sales Master Manager",
"select": 1
}
],
"show_name_in_global_search": 1,

View File

@@ -57,7 +57,7 @@
}
],
"links": [],
"modified": "2024-03-27 13:09:55.573483",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Item Tax Template",
@@ -95,6 +95,54 @@
"report": 1,
"role": "Accounts User",
"share": 1
},
{
"role": "Delivery Manager",
"select": 1
},
{
"role": "Delivery User",
"select": 1
},
{
"role": "Item Manager",
"select": 1
},
{
"role": "Maintenance Manager",
"select": 1
},
{
"role": "Maintenance User",
"select": 1
},
{
"role": "Manufacturing Manager",
"select": 1
},
{
"role": "Purchase Manager",
"select": 1
},
{
"role": "Purchase User",
"select": 1
},
{
"role": "Sales Manager",
"select": 1
},
{
"role": "Sales User",
"select": 1
},
{
"role": "Stock Manager",
"select": 1
},
{
"role": "Stock User",
"select": 1
}
],
"show_name_in_global_search": 1,

View File

@@ -154,7 +154,7 @@
}
],
"links": [],
"modified": "2024-03-27 13:10:03.361383",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Loyalty Program",
@@ -171,6 +171,14 @@
"role": "System Manager",
"share": 1,
"write": 1
},
{
"role": "Sales Master Manager",
"select": 1
},
{
"role": "Sales User",
"select": 1
}
],
"quick_entry": 1,

View File

@@ -48,7 +48,7 @@
"idx": 1,
"index_web_pages_for_search": 1,
"links": [],
"modified": "2026-04-14 18:16:47.795986",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Mode of Payment",
@@ -76,6 +76,30 @@
{
"role": "HR Manager",
"select": 1
},
{
"role": "Maintenance Manager",
"select": 1
},
{
"role": "Maintenance User",
"select": 1
},
{
"role": "Purchase Manager",
"select": 1
},
{
"role": "Purchase User",
"select": 1
},
{
"role": "Sales Manager",
"select": 1
},
{
"role": "Sales User",
"select": 1
}
],
"quick_entry": 1,

View File

@@ -46,7 +46,7 @@
"icon": "fa fa-bar-chart",
"idx": 1,
"links": [],
"modified": "2024-03-27 13:10:05.873547",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Monthly Distribution",
@@ -69,6 +69,10 @@
"read": 1,
"report": 1,
"role": "Accounts Manager"
},
{
"role": "Sales Master Manager",
"select": 1
}
],
"sort_field": "creation",

View File

@@ -116,7 +116,7 @@
}
],
"links": [],
"modified": "2024-03-27 13:10:11.511137",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Payment Term",
@@ -157,6 +157,30 @@
"role": "Accounts User",
"share": 1,
"write": 1
},
{
"role": "Maintenance Manager",
"select": 1
},
{
"role": "Maintenance User",
"select": 1
},
{
"role": "Purchase Manager",
"select": 1
},
{
"role": "Purchase User",
"select": 1
},
{
"role": "Sales Manager",
"select": 1
},
{
"role": "Sales User",
"select": 1
}
],
"quick_entry": 1,

View File

@@ -1637,7 +1637,7 @@
"icon": "fa fa-file-text",
"is_submittable": 1,
"links": [],
"modified": "2026-08-12 12:00:00.000000",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Accounts",
"name": "POS Invoice",
@@ -1680,6 +1680,14 @@
"permlevel": 1,
"read": 1,
"role": "All"
},
{
"role": "Sales Manager",
"select": 1
},
{
"role": "Sales User",
"select": 1
}
],
"row_format": "Dynamic",

View File

@@ -570,7 +570,7 @@
"link_fieldname": "pos_profile"
}
],
"modified": "2026-05-26 12:07:48.597412",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Accounts",
"name": "POS Profile",
@@ -594,6 +594,10 @@
"read": 1,
"report": 1,
"role": "Accounts User"
},
{
"role": "Sales Manager",
"select": 1
}
],
"row_format": "Dynamic",

View File

@@ -1704,7 +1704,7 @@
"idx": 204,
"is_submittable": 1,
"links": [],
"modified": "2026-08-12 12:00:00.000000",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Purchase Invoice",
@@ -1757,6 +1757,18 @@
"read": 1,
"role": "Accounts Manager",
"write": 1
},
{
"role": "Manufacturing Manager",
"select": 1
},
{
"role": "Quality Manager",
"select": 1
},
{
"role": "Stock Manager",
"select": 1
}
],
"row_format": "Dynamic",

View File

@@ -77,7 +77,7 @@
"icon": "fa fa-money",
"idx": 1,
"links": [],
"modified": "2024-03-27 13:10:26.945131",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Purchase Taxes and Charges Template",
@@ -104,6 +104,22 @@
{
"read": 1,
"role": "Purchase User"
},
{
"role": "Accounts Manager",
"select": 1
},
{
"role": "Accounts User",
"select": 1
},
{
"role": "Manufacturing Manager",
"select": 1
},
{
"role": "Stock Manager",
"select": 1
}
],
"show_title_field_in_link": 1,

View File

@@ -79,7 +79,7 @@
"icon": "fa fa-money",
"idx": 1,
"links": [],
"modified": "2024-03-27 13:10:38.343481",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Sales Taxes and Charges Template",
@@ -113,6 +113,26 @@
"role": "Sales Master Manager",
"share": 1,
"write": 1
},
{
"role": "Delivery Manager",
"select": 1
},
{
"role": "Delivery User",
"select": 1
},
{
"role": "Maintenance Manager",
"select": 1
},
{
"role": "Maintenance User",
"select": 1
},
{
"role": "Stock Manager",
"select": 1
}
],
"show_title_field_in_link": 1,

View File

@@ -149,7 +149,7 @@
"icon": "fa fa-truck",
"idx": 1,
"links": [],
"modified": "2026-07-22 14:53:27.315435",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Shipping Rule",
@@ -195,6 +195,38 @@
"role": "Sales Master Manager",
"share": 1,
"write": 1
},
{
"role": "Delivery Manager",
"select": 1
},
{
"role": "Delivery User",
"select": 1
},
{
"role": "Maintenance Manager",
"select": 1
},
{
"role": "Maintenance User",
"select": 1
},
{
"role": "Manufacturing Manager",
"select": 1
},
{
"role": "Purchase Manager",
"select": 1
},
{
"role": "Purchase User",
"select": 1
},
{
"role": "Stock Manager",
"select": 1
}
],
"row_format": "Dynamic",

View File

@@ -29,7 +29,7 @@
],
"index_web_pages_for_search": 1,
"links": [],
"modified": "2024-03-27 13:10:51.976600",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Tax Category",
@@ -68,6 +68,62 @@
"report": 1,
"role": "Accounts User",
"share": 1
},
{
"role": "Delivery Manager",
"select": 1
},
{
"role": "Delivery User",
"select": 1
},
{
"role": "Item Manager",
"select": 1
},
{
"role": "Maintenance Manager",
"select": 1
},
{
"role": "Maintenance User",
"select": 1
},
{
"role": "Manufacturing Manager",
"select": 1
},
{
"role": "Purchase Manager",
"select": 1
},
{
"role": "Purchase Master Manager",
"select": 1
},
{
"role": "Purchase User",
"select": 1
},
{
"role": "Sales Manager",
"select": 1
},
{
"role": "Sales Master Manager",
"select": 1
},
{
"role": "Sales User",
"select": 1
},
{
"role": "Stock Manager",
"select": 1
},
{
"role": "Stock User",
"select": 1
}
],
"quick_entry": 1,

View File

@@ -100,7 +100,7 @@
],
"index_web_pages_for_search": 1,
"links": [],
"modified": "2025-07-30 07:13:51.785735",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Tax Withholding Category",
@@ -142,6 +142,26 @@
"role": "Accounts User",
"share": 1,
"write": 1
},
{
"role": "Item Manager",
"select": 1
},
{
"role": "Purchase Manager",
"select": 1
},
{
"role": "Purchase Master Manager",
"select": 1
},
{
"role": "Sales Master Manager",
"select": 1
},
{
"role": "Sales User",
"select": 1
}
],
"row_format": "Dynamic",

View File

@@ -21,7 +21,7 @@
"grid_page_length": 50,
"index_web_pages_for_search": 1,
"links": [],
"modified": "2025-06-29 05:25:50.243710",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Tax Withholding Group",
@@ -39,6 +39,30 @@
"role": "System Manager",
"share": 1,
"write": 1
},
{
"role": "Accounts Manager",
"select": 1
},
{
"role": "Accounts User",
"select": 1
},
{
"role": "Purchase Manager",
"select": 1
},
{
"role": "Purchase Master Manager",
"select": 1
},
{
"role": "Sales Master Manager",
"select": 1
},
{
"role": "Sales User",
"select": 1
}
],
"row_format": "Dynamic",

View File

@@ -627,7 +627,7 @@
"link_fieldname": "target_asset"
}
],
"modified": "2026-03-12 16:07:39.543227",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Assets",
"name": "Asset",
@@ -663,6 +663,30 @@
"share": 1,
"submit": 1,
"write": 1
},
{
"role": "Manufacturing Manager",
"select": 1
},
{
"role": "Manufacturing User",
"select": 1
},
{
"role": "Purchase Manager",
"select": 1
},
{
"role": "Purchase User",
"select": 1
},
{
"role": "Stock Manager",
"select": 1
},
{
"role": "Stock User",
"select": 1
}
],
"row_format": "Dynamic",

View File

@@ -73,7 +73,7 @@
}
],
"links": [],
"modified": "2025-05-13 15:33:03.791814",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Assets",
"name": "Asset Category",
@@ -116,6 +116,10 @@
"role": "Quality Manager",
"share": 1,
"write": 1
},
{
"role": "Item Manager",
"select": 1
}
],
"row_format": "Dynamic",

View File

@@ -61,7 +61,7 @@
],
"index_web_pages_for_search": 1,
"links": [],
"modified": "2024-03-27 13:06:34.976117",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Assets",
"name": "Asset Maintenance Team",
@@ -78,6 +78,10 @@
"role": "Manufacturing User",
"share": 1,
"write": 1
},
{
"role": "Quality Manager",
"select": 1
}
],
"quick_entry": 1,

View File

@@ -36,7 +36,7 @@
],
"index_web_pages_for_search": 1,
"links": [],
"modified": "2024-03-27 13:06:35.869900",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Assets",
"name": "Asset Shift Factor",
@@ -66,6 +66,10 @@
"role": "Accounts User",
"share": 1,
"write": 1
},
{
"role": "Quality Manager",
"select": 1
}
],
"sort_field": "creation",

View File

@@ -143,7 +143,7 @@
],
"is_tree": 1,
"links": [],
"modified": "2025-04-29 13:53:13.488906",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Assets",
"name": "Location",
@@ -198,6 +198,10 @@
"role": "Stock Manager",
"share": 1,
"write": 1
},
{
"role": "Quality Manager",
"select": 1
}
],
"quick_entry": 1,

View File

@@ -562,7 +562,7 @@
"link_fieldname": "party"
}
],
"modified": "2026-08-14 16:10:58.600553",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Buying",
"name": "Supplier",
@@ -618,6 +618,30 @@
"read": 1,
"report": 1,
"role": "Accounts Manager"
},
{
"role": "Delivery Manager",
"select": 1
},
{
"role": "Delivery User",
"select": 1
},
{
"role": "Maintenance User",
"select": 1
},
{
"role": "Quality Manager",
"select": 1
},
{
"role": "Sales Master Manager",
"select": 1
},
{
"role": "Website Manager",
"select": 1
}
],
"quick_entry": 1,

View File

@@ -948,7 +948,7 @@
"index_web_pages_for_search": 1,
"is_submittable": 1,
"links": [],
"modified": "2026-08-12 12:00:00.000000",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Buying",
"name": "Supplier Quotation",
@@ -1007,6 +1007,14 @@
"read": 1,
"role": "Purchase Manager",
"write": 1
},
{
"role": "Maintenance Manager",
"select": 1
},
{
"role": "Maintenance User",
"select": 1
}
],
"row_format": "Dynamic",

View File

@@ -543,7 +543,7 @@
"idx": 5,
"image_field": "image",
"links": [],
"modified": "2026-02-10 14:36:37.157961",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "CRM",
"name": "Lead",
@@ -600,6 +600,10 @@
"read": 1,
"report": 1,
"role": "Sales User"
},
{
"role": "Support Team",
"select": 1
}
],
"row_format": "Dynamic",

View File

@@ -18,7 +18,7 @@
}
],
"links": [],
"modified": "2025-12-17 12:09:34.687368",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "CRM",
"name": "Market Segment",
@@ -36,6 +36,10 @@
"role": "Sales Manager",
"share": 1,
"write": 1
},
{
"role": "Sales Master Manager",
"select": 1
}
],
"quick_entry": 1,

View File

@@ -215,7 +215,7 @@
"index_web_pages_for_search": 1,
"is_submittable": 1,
"links": [],
"modified": "2026-08-27 10:55:37.000000",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Manufacturing",
"name": "Blanket Order",
@@ -235,6 +235,30 @@
"share": 1,
"submit": 1,
"write": 1
},
{
"role": "Maintenance Manager",
"select": 1
},
{
"role": "Maintenance User",
"select": 1
},
{
"role": "Purchase Manager",
"select": 1
},
{
"role": "Purchase User",
"select": 1
},
{
"role": "Sales Manager",
"select": 1
},
{
"role": "Sales User",
"select": 1
}
],
"quick_entry": 1,

View File

@@ -761,7 +761,7 @@
"image_field": "image",
"is_submittable": 1,
"links": [],
"modified": "2026-08-23 15:20:11.032436",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Manufacturing",
"name": "BOM",
@@ -792,6 +792,30 @@
"share": 1,
"submit": 1,
"write": 1
},
{
"role": "Maintenance User",
"select": 1
},
{
"role": "Purchase Manager",
"select": 1
},
{
"role": "Purchase User",
"select": 1
},
{
"role": "Sales Manager",
"select": 1
},
{
"role": "Sales User",
"select": 1
},
{
"role": "Stock Manager",
"select": 1
}
],
"row_format": "Dynamic",

View File

@@ -74,7 +74,7 @@
"hide_toolbar": 1,
"index_web_pages_for_search": 1,
"links": [],
"modified": "2026-02-17 11:53:17.940039",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Manufacturing",
"name": "Plant Floor",
@@ -92,6 +92,10 @@
"role": "System Manager",
"share": 1,
"write": 1
},
{
"role": "Manufacturing User",
"select": 1
}
],
"row_format": "Dynamic",

View File

@@ -158,7 +158,7 @@
"index_web_pages_for_search": 1,
"is_submittable": 1,
"links": [],
"modified": "2026-01-02 15:09:32.165242",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Manufacturing",
"name": "Sales Forecast",
@@ -234,6 +234,10 @@
"share": 1,
"submit": 1,
"write": 1
},
{
"role": "Stock Manager",
"select": 1
}
],
"row_format": "Dynamic",

View File

@@ -47,7 +47,7 @@
"icon": "icon-flag",
"idx": 1,
"links": [],
"modified": "2026-04-17 15:24:16.754519",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Projects",
"name": "Activity Type",
@@ -91,6 +91,18 @@
"role": "HR Manager",
"share": 1,
"write": 1
},
{
"role": "Accounts User",
"select": 1
},
{
"role": "HR User",
"select": 1
},
{
"role": "Manufacturing User",
"select": 1
}
],
"quick_entry": 1,

View File

@@ -484,7 +484,7 @@
"index_web_pages_for_search": 1,
"links": [],
"max_attachments": 4,
"modified": "2026-07-21 11:23:22.000000",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Projects",
"name": "Project",
@@ -548,6 +548,78 @@
{
"role": "HR Manager",
"select": 1
},
{
"role": "Accounts Manager",
"select": 1
},
{
"role": "Accounts User",
"select": 1
},
{
"role": "Delivery Manager",
"select": 1
},
{
"role": "Delivery User",
"select": 1
},
{
"role": "Maintenance Manager",
"select": 1
},
{
"role": "Maintenance User",
"select": 1
},
{
"role": "Manufacturing Manager",
"select": 1
},
{
"role": "Manufacturing User",
"select": 1
},
{
"role": "Purchase Manager",
"select": 1
},
{
"role": "Purchase Master Manager",
"select": 1
},
{
"role": "Purchase User",
"select": 1
},
{
"role": "Quality Manager",
"select": 1
},
{
"role": "Sales Manager",
"select": 1
},
{
"role": "Sales Master Manager",
"select": 1
},
{
"role": "Sales User",
"select": 1
},
{
"role": "Stock Manager",
"select": 1
},
{
"role": "Stock User",
"select": 1
},
{
"role": "Support Team",
"select": 1
}
],
"quick_entry": 1,

View File

@@ -34,7 +34,7 @@
}
],
"links": [],
"modified": "2025-03-12 14:20:57.301906",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Projects",
"name": "Project Template",
@@ -52,6 +52,14 @@
"role": "System Manager",
"share": 1,
"write": 1
},
{
"role": "Projects Manager",
"select": 1
},
{
"role": "Projects User",
"select": 1
}
],
"quick_entry": 1,

View File

@@ -423,7 +423,7 @@
"is_tree": 1,
"links": [],
"max_attachments": 5,
"modified": "2026-04-09 19:12:27.153143",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Projects",
"name": "Task",
@@ -455,6 +455,18 @@
"role": "HR Manager",
"share": 1,
"write": 1
},
{
"role": "Accounts User",
"select": 1
},
{
"role": "Employee",
"select": 1
},
{
"role": "Manufacturing User",
"select": 1
}
],
"quick_entry": 1,

View File

@@ -696,7 +696,7 @@
"link_fieldname": "party"
}
],
"modified": "2026-08-14 16:10:58.600553",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Selling",
"name": "Customer",
@@ -771,6 +771,62 @@
"read": 1,
"report": 1,
"role": "Accounts Manager"
},
{
"role": "Delivery Manager",
"select": 1
},
{
"role": "Delivery User",
"select": 1
},
{
"role": "Employee",
"select": 1
},
{
"role": "Fulfillment User",
"select": 1
},
{
"role": "HR Manager",
"select": 1
},
{
"role": "HR User",
"select": 1
},
{
"role": "Maintenance Manager",
"select": 1
},
{
"role": "Maintenance User",
"select": 1
},
{
"role": "Projects Manager",
"select": 1
},
{
"role": "Projects User",
"select": 1
},
{
"role": "Purchase Master Manager",
"select": 1
},
{
"role": "Quality Manager",
"select": 1
},
{
"role": "Support Team",
"select": 1
},
{
"role": "Website Manager",
"select": 1
}
],
"quick_entry": 1,

View File

@@ -81,7 +81,7 @@
"icon": "fa fa-sitemap",
"idx": 1,
"links": [],
"modified": "2026-06-10 16:00:00.000000",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Selling",
"name": "Product Bundle",
@@ -115,6 +115,30 @@
"role": "Sales User",
"share": 1,
"write": 1
},
{
"role": "Accounts Manager",
"select": 1
},
{
"role": "Accounts User",
"select": 1
},
{
"role": "Delivery Manager",
"select": 1
},
{
"role": "Delivery User",
"select": 1
},
{
"role": "Maintenance Manager",
"select": 1
},
{
"role": "Maintenance User",
"select": 1
}
],
"search_fields": "new_item_code,description",

View File

@@ -1763,7 +1763,7 @@
"idx": 105,
"is_submittable": 1,
"links": [],
"modified": "2026-08-12 12:00:00.000000",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Selling",
"name": "Sales Order",
@@ -1830,6 +1830,14 @@
"read": 1,
"role": "Sales Manager",
"write": 1
},
{
"role": "Projects Manager",
"select": 1
},
{
"role": "Projects User",
"select": 1
}
],
"row_format": "Dynamic",

View File

@@ -19,7 +19,7 @@
}
],
"links": [],
"modified": "2024-03-27 13:10:37.773308",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Selling",
"name": "Sales Partner Type",
@@ -37,6 +37,10 @@
"role": "System Manager",
"share": 1,
"write": 1
},
{
"role": "Sales Master Manager",
"select": 1
}
],
"quick_entry": 1,

View File

@@ -56,7 +56,7 @@
"idx": 1,
"image_field": "image",
"links": [],
"modified": "2024-08-20 14:10:21.377962",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Setup",
"name": "Brand",
@@ -103,6 +103,10 @@
"read": 1,
"report": 1,
"role": "Accounts User"
},
{
"role": "Website Manager",
"select": 1
}
],
"quick_entry": 1,

View File

@@ -1037,7 +1037,7 @@
"image_field": "company_logo",
"is_tree": 1,
"links": [],
"modified": "2026-07-02 07:21:21.794533",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Setup",
"name": "Company",
@@ -1107,6 +1107,10 @@
"report": 1,
"role": "HR Manager",
"write": 1
},
{
"role": "Desk User",
"select": 1
}
],
"row_format": "Dynamic",

View File

@@ -140,7 +140,7 @@
"idx": 1,
"is_tree": 1,
"links": [],
"modified": "2025-12-02 13:58:03.378607",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Setup",
"name": "Customer Group",
@@ -207,6 +207,26 @@
"report": 1,
"role": "Accounts User",
"share": 1
},
{
"role": "Item Manager",
"select": 1
},
{
"role": "Maintenance Manager",
"select": 1
},
{
"role": "Maintenance User",
"select": 1
},
{
"role": "Purchase Manager",
"select": 1
},
{
"role": "Website Manager",
"select": 1
}
],
"row_format": "Dynamic",

View File

@@ -90,7 +90,7 @@
"idx": 1,
"is_tree": 1,
"links": [],
"modified": "2024-06-12 16:10:31.451257",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Setup",
"name": "Department",
@@ -136,6 +136,22 @@
{
"role": "Employee",
"select": 1
},
{
"role": "Accounts User",
"select": 1
},
{
"role": "Projects Manager",
"select": 1
},
{
"role": "Projects User",
"select": 1
},
{
"role": "Quality Manager",
"select": 1
}
],
"show_name_in_global_search": 1,

View File

@@ -130,7 +130,7 @@
],
"icon": "fa fa-user",
"links": [],
"modified": "2026-06-16 16:04:12.762960",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Setup",
"name": "Driver",
@@ -173,6 +173,22 @@
"role": "System Manager",
"share": 1,
"write": 1
},
{
"role": "Fulfillment User",
"select": 1
},
{
"role": "Sales User",
"select": 1
},
{
"role": "Stock Manager",
"select": 1
},
{
"role": "Stock User",
"select": 1
}
],
"quick_entry": 1,

View File

@@ -834,7 +834,7 @@
"image_field": "image",
"is_tree": 1,
"links": [],
"modified": "2026-03-23 15:26:05.149280",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Setup",
"name": "Employee",
@@ -874,6 +874,46 @@
"role": "HR Manager",
"share": 1,
"write": 1
},
{
"role": "Accounts Manager",
"select": 1
},
{
"role": "Accounts User",
"select": 1
},
{
"role": "Delivery Manager",
"select": 1
},
{
"role": "Fleet Manager",
"select": 1
},
{
"role": "Manufacturing Manager",
"select": 1
},
{
"role": "Manufacturing User",
"select": 1
},
{
"role": "Projects User",
"select": 1
},
{
"role": "Quality Manager",
"select": 1
},
{
"role": "Sales Master Manager",
"select": 1
},
{
"role": "Stock Manager",
"select": 1
}
],
"row_format": "Dynamic",

View File

@@ -154,7 +154,7 @@
"icon": "fa fa-calendar",
"idx": 1,
"links": [],
"modified": "2026-04-14 18:21:08.018741",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Setup",
"name": "Holiday List",
@@ -175,6 +175,26 @@
{
"role": "HR User",
"select": 1
},
{
"role": "Accounts Manager",
"select": 1
},
{
"role": "Manufacturing User",
"select": 1
},
{
"role": "Projects Manager",
"select": 1
},
{
"role": "Projects User",
"select": 1
},
{
"role": "Sales Manager",
"select": 1
}
],
"row_format": "Dynamic",

View File

@@ -87,7 +87,7 @@
"link_fieldname": "incoterm"
}
],
"modified": "2022-11-17 22:35:52.084553",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Setup",
"name": "Incoterm",
@@ -157,6 +157,22 @@
{
"read": 1,
"role": "Stock User"
},
{
"role": "Delivery Manager",
"select": 1
},
{
"role": "Delivery User",
"select": 1
},
{
"role": "Maintenance Manager",
"select": 1
},
{
"role": "Maintenance User",
"select": 1
}
],
"show_title_field_in_link": 1,

View File

@@ -192,7 +192,7 @@
"icon": "fa fa-user",
"idx": 1,
"links": [],
"modified": "2024-03-27 13:10:37.455664",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Setup",
"name": "Sales Partner",
@@ -221,6 +221,42 @@
"role": "Sales Master Manager",
"share": 1,
"write": 1
},
{
"role": "Accounts Manager",
"select": 1
},
{
"role": "Accounts User",
"select": 1
},
{
"role": "Delivery Manager",
"select": 1
},
{
"role": "Delivery User",
"select": 1
},
{
"role": "Maintenance Manager",
"select": 1
},
{
"role": "Maintenance User",
"select": 1
},
{
"role": "Purchase Manager",
"select": 1
},
{
"role": "Stock Manager",
"select": 1
},
{
"role": "Website Manager",
"select": 1
}
],
"show_name_in_global_search": 1,

View File

@@ -145,7 +145,7 @@
"idx": 1,
"is_tree": 1,
"links": [],
"modified": "2024-03-27 13:10:37.891377",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Setup",
"name": "Sales Person",
@@ -177,6 +177,34 @@
"role": "Sales Master Manager",
"share": 1,
"write": 1
},
{
"role": "Accounts Manager",
"select": 1
},
{
"role": "Accounts User",
"select": 1
},
{
"role": "Delivery Manager",
"select": 1
},
{
"role": "Delivery User",
"select": 1
},
{
"role": "Maintenance Manager",
"select": 1
},
{
"role": "Maintenance User",
"select": 1
},
{
"role": "Stock Manager",
"select": 1
}
],
"search_fields": "parent_sales_person",

View File

@@ -109,7 +109,7 @@
"idx": 1,
"is_tree": 1,
"links": [],
"modified": "2025-12-02 13:57:57.814686",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Setup",
"name": "Supplier Group",
@@ -167,6 +167,14 @@
"report": 1,
"role": "Accounts User",
"share": 1
},
{
"role": "Sales Manager",
"select": 1
},
{
"role": "Website Manager",
"select": 1
}
],
"row_format": "Dynamic",

View File

@@ -89,7 +89,7 @@
"icon": "icon-legal",
"idx": 1,
"links": [],
"modified": "2026-06-06 16:35:34.394675",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Setup",
"name": "Terms and Conditions",
@@ -161,6 +161,22 @@
"report": 1,
"role": "Accounts User",
"share": 1
},
{
"role": "Delivery Manager",
"select": 1
},
{
"role": "Delivery User",
"select": 1
},
{
"role": "Maintenance Manager",
"select": 1
},
{
"role": "Maintenance User",
"select": 1
}
],
"quick_entry": 1,

View File

@@ -124,7 +124,7 @@
"idx": 1,
"is_tree": 1,
"links": [],
"modified": "2025-12-02 13:58:55.190485",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Setup",
"name": "Territory",
@@ -183,6 +183,22 @@
"report": 1,
"role": "Accounts User",
"share": 1
},
{
"role": "Delivery Manager",
"select": 1
},
{
"role": "Delivery User",
"select": 1
},
{
"role": "Maintenance Manager",
"select": 1
},
{
"role": "Website Manager",
"select": 1
}
],
"row_format": "Dynamic",

View File

@@ -75,7 +75,7 @@
"icon": "fa fa-compass",
"idx": 1,
"links": [],
"modified": "2026-04-14 21:20:16.983514",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Setup",
"name": "UOM",
@@ -126,6 +126,10 @@
"report": 1,
"role": "Sales Manager",
"share": 1
},
{
"role": "Desk User",
"select": 1
}
],
"quick_entry": 1,

View File

@@ -204,7 +204,7 @@
}
],
"links": [],
"modified": "2025-01-24 06:22:33.129805",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Setup",
"name": "Vehicle",
@@ -238,6 +238,14 @@
"role": "Delivery Manager",
"share": 1,
"write": 1
},
{
"role": "Fulfillment User",
"select": 1
},
{
"role": "Stock User",
"select": 1
}
],
"quick_entry": 1,

View File

@@ -215,7 +215,7 @@
"image_field": "image",
"links": [],
"max_attachments": 5,
"modified": "2026-06-17 16:01:26.556324",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Stock",
"name": "Batch",
@@ -234,6 +234,58 @@
"role": "Item Manager",
"share": 1,
"write": 1
},
{
"role": "Accounts Manager",
"select": 1
},
{
"role": "Accounts User",
"select": 1
},
{
"role": "Delivery Manager",
"select": 1
},
{
"role": "Delivery User",
"select": 1
},
{
"role": "Maintenance Manager",
"select": 1
},
{
"role": "Maintenance User",
"select": 1
},
{
"role": "Manufacturing Manager",
"select": 1
},
{
"role": "Manufacturing User",
"select": 1
},
{
"role": "Purchase Master Manager",
"select": 1
},
{
"role": "Quality Manager",
"select": 1
},
{
"role": "Sales Manager",
"select": 1
},
{
"role": "Sales Master Manager",
"select": 1
},
{
"role": "Sales User",
"select": 1
}
],
"quick_entry": 1,

View File

@@ -87,7 +87,7 @@
],
"icon": "fa fa-certificate",
"links": [],
"modified": "2024-03-27 13:10:04.558108",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Stock",
"name": "Manufacturer",
@@ -113,6 +113,14 @@
"report": 1,
"role": "Stock User",
"share": 1
},
{
"role": "Accounts Manager",
"select": 1
},
{
"role": "Accounts User",
"select": 1
}
],
"search_fields": "short_name, full_name",

View File

@@ -377,7 +377,7 @@
"idx": 70,
"is_submittable": 1,
"links": [],
"modified": "2026-03-09 17:15:30.124509",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Stock",
"name": "Material Request",
@@ -441,6 +441,18 @@
"share": 1,
"submit": 1,
"write": 1
},
{
"role": "Delivery Manager",
"select": 1
},
{
"role": "Delivery User",
"select": 1
},
{
"role": "Maintenance User",
"select": 1
}
],
"quick_entry": 1,

View File

@@ -84,7 +84,7 @@
"idx": 1,
"links": [],
"max_attachments": 1,
"modified": "2024-08-16 19:41:19.591111",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Stock",
"name": "Price List",
@@ -124,6 +124,38 @@
{
"read": 1,
"role": "Manufacturing User"
},
{
"role": "Accounts Manager",
"select": 1
},
{
"role": "Accounts User",
"select": 1
},
{
"role": "Delivery Manager",
"select": 1
},
{
"role": "Delivery User",
"select": 1
},
{
"role": "Maintenance Manager",
"select": 1
},
{
"role": "Maintenance User",
"select": 1
},
{
"role": "Stock Manager",
"select": 1
},
{
"role": "Website Manager",
"select": 1
}
],
"search_fields": "currency",

View File

@@ -1302,7 +1302,7 @@
"idx": 261,
"is_submittable": 1,
"links": [],
"modified": "2026-08-12 12:00:00.000000",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Stock",
"name": "Purchase Receipt",
@@ -1361,6 +1361,18 @@
"read": 1,
"role": "Stock Manager",
"write": 1
},
{
"role": "Delivery Manager",
"select": 1
},
{
"role": "Delivery User",
"select": 1
},
{
"role": "Quality Manager",
"select": 1
}
],
"row_format": "Dynamic",

View File

@@ -278,7 +278,7 @@
"index_web_pages_for_search": 1,
"is_submittable": 1,
"links": [],
"modified": "2025-12-24 15:21:03.240008",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Stock",
"name": "Quality Inspection",
@@ -298,6 +298,46 @@
"share": 1,
"submit": 1,
"write": 1
},
{
"role": "Accounts Manager",
"select": 1
},
{
"role": "Accounts User",
"select": 1
},
{
"role": "Delivery Manager",
"select": 1
},
{
"role": "Delivery User",
"select": 1
},
{
"role": "Manufacturing Manager",
"select": 1
},
{
"role": "Manufacturing User",
"select": 1
},
{
"role": "Purchase User",
"select": 1
},
{
"role": "Sales User",
"select": 1
},
{
"role": "Stock Manager",
"select": 1
},
{
"role": "Stock User",
"select": 1
}
],
"row_format": "Dynamic",

View File

@@ -252,7 +252,7 @@
"index_web_pages_for_search": 1,
"is_submittable": 1,
"links": [],
"modified": "2025-09-24 16:24:48.154853",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Stock",
"name": "Serial and Batch Bundle",
@@ -384,6 +384,26 @@
"share": 1,
"submit": 1,
"write": 1
},
{
"role": "Accounts Manager",
"select": 1
},
{
"role": "Accounts User",
"select": 1
},
{
"role": "Maintenance Manager",
"select": 1
},
{
"role": "Maintenance User",
"select": 1
},
{
"role": "Quality Manager",
"select": 1
}
],
"row_format": "Dynamic",

View File

@@ -312,7 +312,7 @@
"icon": "fa fa-barcode",
"idx": 1,
"links": [],
"modified": "2025-12-24 20:14:52.942251",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Stock",
"name": "Serial No",
@@ -348,6 +348,22 @@
"read": 1,
"report": 1,
"role": "Stock User"
},
{
"role": "Delivery Manager",
"select": 1
},
{
"role": "Delivery User",
"select": 1
},
{
"role": "Maintenance User",
"select": 1
},
{
"role": "Quality Manager",
"select": 1
}
],
"row_format": "Dynamic",

View File

@@ -52,7 +52,7 @@
}
],
"links": [],
"modified": "2026-03-29 00:00:00.000000",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Stock",
"name": "Shipment Parcel Template",
@@ -69,6 +69,10 @@
"role": "System Manager",
"share": 1,
"write": 1
},
{
"role": "Stock Manager",
"select": 1
}
],
"quick_entry": 1,

View File

@@ -286,7 +286,7 @@
"idx": 1,
"is_tree": 1,
"links": [],
"modified": "2026-02-05 18:17:11.035097",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Stock",
"name": "Warehouse",
@@ -337,6 +337,34 @@
{
"read": 1,
"role": "Manufacturing User"
},
{
"role": "Delivery Manager",
"select": 1
},
{
"role": "Delivery User",
"select": 1
},
{
"role": "HR Manager",
"select": 1
},
{
"role": "Maintenance Manager",
"select": 1
},
{
"role": "Maintenance User",
"select": 1
},
{
"role": "Quality Manager",
"select": 1
},
{
"role": "Website Manager",
"select": 1
}
],
"row_format": "Dynamic",

View File

@@ -393,7 +393,7 @@
"icon": "fa fa-ticket",
"idx": 7,
"links": [],
"modified": "2026-04-09 19:14:57.692236",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Support",
"name": "Issue",
@@ -418,6 +418,10 @@
{
"role": "HR User",
"select": 1
},
{
"role": "Projects User",
"select": 1
}
],
"quick_entry": 1,

View File

@@ -15,7 +15,7 @@
}
],
"links": [],
"modified": "2024-08-16 19:23:40.697426",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Support",
"name": "Issue Priority",
@@ -32,6 +32,10 @@
"role": "System Manager",
"share": 1,
"write": 1
},
{
"role": "Support Team",
"select": 1
}
],
"quick_entry": 1,

View File

@@ -0,0 +1,66 @@
import frappe
from frappe.core.doctype.user_permission.test_user_permission import create_user
from frappe.permissions import add_user_permission, remove_user_permission
from erpnext.tests.utils import ERPNextTestSuite
class TestLinkTargetSelectPermissions(ERPNextTestSuite):
"""A role that can write a form must be able to use that form's link pickers.
The DocPerm rows behind this grant `select` on the link target and nothing else, so
each case asserts both halves: the picker fills, and no `read` arrives with it.
Support Team on Lead stands in for the 313 rows; it holds no other right on Lead.
"""
@classmethod
def setUpClass(cls):
super().setUpClass()
cls.user = create_user("_test_link_target_select@example.com", "Support Team").name
cls.lead = cls.make_lead("_Test Link Target Lead")
cls.other_lead = cls.make_lead("_Test Link Target Lead 2")
@staticmethod
def make_lead(lead_name):
if existing := frappe.db.get_value("Lead", {"lead_name": lead_name}):
return existing
return (
frappe.get_doc({"doctype": "Lead", "lead_name": lead_name}).insert(ignore_permissions=True).name
)
def tearDown(self):
frappe.set_user("Administrator")
def test_granted_role_can_search_the_link_target(self):
frappe.set_user(self.user)
self.assertTrue(frappe.has_permission("Lead", "select"))
self.assertIn(self.lead, frappe.get_list("Lead", pluck="name"))
def test_select_does_not_grant_read(self):
self.assertFalse(frappe.has_permission("Lead", "read", user=self.user))
self.assertFalse(frappe.has_permission("Lead", "write", user=self.user))
def test_select_exposes_search_fields_only(self):
frappe.set_user(self.user)
row = frappe.get_list("Lead", filters={"name": self.lead}, fields=["name", "email_id"])[0]
# email_id is not a Lead search field, so a select-only role never receives it
self.assertIn("name", row)
self.assertNotIn("email_id", row)
def test_doctype_without_a_grant_stays_denied(self):
frappe.set_user(self.user)
self.assertRaises(frappe.PermissionError, frappe.get_list, "Sales Invoice")
def test_user_permissions_still_filter_a_select_only_target(self):
add_user_permission("Lead", self.lead, self.user)
try:
frappe.set_user(self.user)
self.assertEqual(frappe.get_list("Lead", pluck="name"), [self.lead])
finally:
frappe.set_user("Administrator")
remove_user_permission("Lead", self.lead, self.user)