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

This commit is contained in:
Diptanil Saha
2026-09-21 17:28:56 +05:30
committed by GitHub
parent 4f122ab2b3
commit 89de899c95
68 changed files with 1360 additions and 67 deletions

View File

@@ -191,7 +191,7 @@
"idx": 1,
"is_tree": 1,
"links": [],
"modified": "2024-08-19 15:19:11.095045",
"modified": "2026-09-16 12:00:00.000000",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Account",
@@ -244,6 +244,46 @@
"role": "Accounts 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": "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
}
],
"search_fields": "account_number",

View File

@@ -101,7 +101,7 @@
}
],
"links": [],
"modified": "2020-07-17 14:00:13.105433",
"modified": "2026-09-16 12:00:00.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

@@ -254,7 +254,7 @@
"link_fieldname": "default_bank_account"
}
],
"modified": "2026-01-20 00:46:16.633364",
"modified": "2026-09-16 12:00:00.000000",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Bank Account",
@@ -284,6 +284,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

@@ -125,7 +125,7 @@
"idx": 1,
"is_tree": 1,
"links": [],
"modified": "2024-04-24 10:55:54.083042",
"modified": "2026-09-16 12:00:00.000000",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Cost Center",
@@ -172,6 +172,54 @@
"role": "Employee",
"select": 1,
"share": 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
}
],
"search_fields": "parent_cost_center, is_group",

View File

@@ -115,7 +115,7 @@
"read_only": 1
}
],
"modified": "2019-10-19 14:48:14.602481",
"modified": "2026-09-16 12:00:00.000000",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Coupon Code",
@@ -168,6 +168,14 @@
"role": "Website Manager",
"share": 1,
"write": 1
},
{
"role": "Maintenance Manager",
"select": 1
},
{
"role": "Maintenance User",
"select": 1
}
],
"sort_field": "modified",

View File

@@ -56,7 +56,7 @@
"issingle": 0,
"istable": 0,
"max_attachments": 0,
"modified": "2018-05-09 14:55:01.394387",
"modified": "2026-09-16 12:00:00.000000",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Finance Book",
@@ -119,6 +119,18 @@
"share": 1,
"submit": 0,
"write": 0
},
{
"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 12:00:00.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": "2023-07-09 18:11:23.105589",
"modified": "2026-09-16 12:00:00.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

@@ -152,7 +152,7 @@
"options": "Project"
}
],
"modified": "2019-05-26 09:11:46.120251",
"modified": "2026-09-16 12:00:00.000000",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Loyalty Program",
@@ -169,6 +169,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": "2020-09-18 17:57:23.835236",
"modified": "2026-09-16 12:00:00.000000",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Mode of Payment",
@@ -68,6 +68,30 @@
"read": 1,
"report": 1,
"role": "Accounts User"
},
{
"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-01-30 13:57:55.802744",
"modified": "2026-09-16 12:00:00.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": "modified",

View File

@@ -116,7 +116,7 @@
}
],
"links": [],
"modified": "2021-02-15 20:30:56.256403",
"modified": "2026-09-16 12:00:00.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

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

View File

@@ -422,7 +422,7 @@
"link_fieldname": "pos_profile"
}
],
"modified": "2026-02-22 04:17:03.308876",
"modified": "2026-09-16 12:00:00.000000",
"modified_by": "Administrator",
"module": "Accounts",
"name": "POS Profile",
@@ -446,6 +446,10 @@
"read": 1,
"report": 1,
"role": "Accounts User"
},
{
"role": "Sales Manager",
"select": 1
}
],
"row_format": "Dynamic",

View File

@@ -1664,7 +1664,7 @@
"idx": 204,
"is_submittable": 1,
"links": [],
"modified": "2026-08-12 12:00:00.000000",
"modified": "2026-09-16 12:00:00.000000",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Purchase Invoice",
@@ -1717,6 +1717,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-01-30 13:08:09.537242",
"modified": "2026-09-16 12:00:00.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-01-30 13:07:28.801104",
"modified": "2026-09-16 12:00:00.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

@@ -147,7 +147,7 @@
"icon": "fa fa-truck",
"idx": 1,
"links": [],
"modified": "2026-07-22 14:53:27.315435",
"modified": "2026-09-16 12:00:00.000000",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Shipping Rule",
@@ -195,6 +195,38 @@
"set_user_permissions": 1,
"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": "2022-01-18 21:13:41.161017",
"modified": "2026-09-16 12:00:00.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

@@ -102,7 +102,7 @@
],
"index_web_pages_for_search": 1,
"links": [],
"modified": "2025-07-30 07:13:51.785735",
"modified": "2026-09-16 12:00:00.000000",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Tax Withholding Category",
@@ -144,6 +144,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
}
],
"sort_field": "modified",

View File

@@ -597,7 +597,7 @@
"link_fieldname": "target_asset"
}
],
"modified": "2026-03-13 12:15:25.734623",
"modified": "2026-09-16 12:00:00.000000",
"modified_by": "Administrator",
"module": "Assets",
"name": "Asset",
@@ -633,6 +633,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 12:00:00.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": "2021-01-22 15:09:03.347345",
"modified": "2026-09-16 12:00:00.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": "2023-11-29 04:04:24.272872",
"modified": "2026-09-16 12:00:00.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": "modified",

View File

@@ -142,7 +142,7 @@
],
"is_tree": 1,
"links": [],
"modified": "2023-08-29 12:49:33.290527",
"modified": "2026-09-16 12:00:00.000000",
"modified_by": "Administrator",
"module": "Assets",
"name": "Location",
@@ -219,6 +219,10 @@
"role": "Agriculture User",
"share": 1,
"write": 1
},
{
"role": "Quality Manager",
"select": 1
}
],
"quick_entry": 1,

View File

@@ -491,7 +491,7 @@
"link_fieldname": "party"
}
],
"modified": "2026-05-29 16:52:59.441272",
"modified": "2026-09-16 12:00:00.000000",
"modified_by": "Administrator",
"module": "Buying",
"name": "Supplier",
@@ -547,6 +547,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

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

View File

@@ -517,7 +517,7 @@
"idx": 5,
"image_field": "image",
"links": [],
"modified": "2025-06-26 11:02:01.158901",
"modified": "2026-09-16 12:00:00.000000",
"modified_by": "Administrator",
"module": "CRM",
"name": "Lead",
@@ -574,6 +574,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 12:00:00.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

@@ -147,7 +147,7 @@
"index_web_pages_for_search": 1,
"is_submittable": 1,
"links": [],
"modified": "2024-12-05 15:44:21.520093",
"modified": "2026-09-16 12:00:00.000000",
"modified_by": "Administrator",
"module": "Manufacturing",
"name": "Blanket Order",
@@ -167,6 +167,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

@@ -641,7 +641,7 @@
"image_field": "image",
"is_submittable": 1,
"links": [],
"modified": "2025-11-19 16:17:15.925156",
"modified": "2026-09-16 12:00:00.000000",
"modified_by": "Administrator",
"module": "Manufacturing",
"name": "BOM",
@@ -672,6 +672,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 12:00:00.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
}
],
"sort_field": "modified",

View File

@@ -173,7 +173,7 @@
"issingle": 0,
"istable": 0,
"max_attachments": 0,
"modified": "2017-07-25 20:11:05.229092",
"modified": "2026-09-16 12:00:00.000000",
"modified_by": "Administrator",
"module": "Projects",
"name": "Activity Type",
@@ -243,6 +243,18 @@
"share": 0,
"submit": 0,
"write": 0
},
{
"role": "Accounts User",
"select": 1
},
{
"role": "HR User",
"select": 1
},
{
"role": "Manufacturing User",
"select": 1
}
],
"quick_entry": 1,

View File

@@ -466,7 +466,7 @@
"index_web_pages_for_search": 1,
"links": [],
"max_attachments": 4,
"modified": "2026-07-21 11:23:22.000000",
"modified": "2026-09-16 12:00:00.000000",
"modified_by": "Administrator",
"module": "Projects",
"name": "Project",
@@ -522,6 +522,78 @@
"role": "Employee",
"select": 1,
"share": 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

@@ -26,7 +26,7 @@
}
],
"links": [],
"modified": "2020-04-26 02:23:53.990322",
"modified": "2026-09-16 12:00:00.000000",
"modified_by": "Administrator",
"module": "Projects",
"name": "Project Template",
@@ -43,6 +43,14 @@
"role": "System Manager",
"share": 1,
"write": 1
},
{
"role": "Projects Manager",
"select": 1
},
{
"role": "Projects User",
"select": 1
}
],
"quick_entry": 1,

View File

@@ -404,7 +404,7 @@
"is_tree": 1,
"links": [],
"max_attachments": 5,
"modified": "2025-10-16 08:39:12.214577",
"modified": "2026-09-16 12:00:00.000000",
"modified_by": "Administrator",
"module": "Projects",
"name": "Task",
@@ -422,6 +422,18 @@
"role": "Projects User",
"share": 1,
"write": 1
},
{
"role": "Accounts User",
"select": 1
},
{
"role": "Employee",
"select": 1
},
{
"role": "Manufacturing User",
"select": 1
}
],
"quick_entry": 1,

View File

@@ -618,7 +618,7 @@
"link_fieldname": "party"
}
],
"modified": "2026-05-29 16:52:59.441272",
"modified": "2026-09-16 12:00:00.000000",
"modified_by": "Administrator",
"module": "Selling",
"name": "Customer",
@@ -693,6 +693,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

@@ -77,7 +77,7 @@
"icon": "fa fa-sitemap",
"idx": 1,
"links": [],
"modified": "2024-01-30 13:57:04.951788",
"modified": "2026-09-16 12:00:00.000000",
"modified_by": "Administrator",
"module": "Selling",
"name": "Product Bundle",
@@ -111,6 +111,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
}
],
"sort_field": "modified",

View File

@@ -1680,7 +1680,7 @@
"idx": 105,
"is_submittable": 1,
"links": [],
"modified": "2026-08-12 12:00:00.000000",
"modified": "2026-09-16 12:00:00.000000",
"modified_by": "Administrator",
"module": "Selling",
"name": "Sales Order",
@@ -1747,6 +1747,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": "2023-02-10 01:00:20.110800",
"modified": "2026-09-16 12:00:00.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 12:00:00.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

@@ -908,7 +908,7 @@
"image_field": "company_logo",
"is_tree": 1,
"links": [],
"modified": "2026-07-02 07:21:21.794533",
"modified": "2026-09-16 12:00:00.000000",
"modified_by": "Administrator",
"module": "Setup",
"name": "Company",
@@ -968,6 +968,10 @@
{
"role": "Auditor",
"select": 1
},
{
"role": "Desk User",
"select": 1
}
],
"row_format": "Dynamic",

View File

@@ -139,7 +139,7 @@
"idx": 1,
"is_tree": 1,
"links": [],
"modified": "2025-12-02 13:58:03.378607",
"modified": "2026-09-16 12:00:00.000000",
"modified_by": "Administrator",
"module": "Setup",
"name": "Customer Group",
@@ -206,6 +206,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 12:00:00.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

@@ -118,7 +118,7 @@
}
],
"icon": "fa fa-user",
"modified": "2026-06-16 16:04:12.762960",
"modified": "2026-09-16 12:00:00.000000",
"modified_by": "Administrator",
"module": "Setup",
"name": "Driver",
@@ -185,6 +185,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

@@ -823,7 +823,7 @@
"image_field": "image",
"is_tree": 1,
"links": [],
"modified": "2025-08-29 11:52:12.819878",
"modified": "2026-09-16 12:00:00.000000",
"modified_by": "Administrator",
"module": "Setup",
"name": "Employee",
@@ -863,6 +863,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

@@ -141,7 +141,7 @@
"icon": "fa fa-calendar",
"idx": 1,
"links": [],
"modified": "2023-07-14 13:28:53.156421",
"modified": "2026-09-16 12:00:00.000000",
"modified_by": "Administrator",
"module": "Setup",
"name": "Holiday List",
@@ -158,6 +158,26 @@
"role": "HR Manager",
"share": 1,
"write": 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
}
],
"sort_field": "modified",

View File

@@ -87,7 +87,7 @@
"link_fieldname": "incoterm"
}
],
"modified": "2022-11-17 22:35:52.084553",
"modified": "2026-09-16 12:00:00.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

@@ -846,7 +846,7 @@
"issingle": 0,
"istable": 0,
"max_attachments": 0,
"modified": "2019-10-14 16:26:45.447265",
"modified": "2026-09-16 12:00:00.000000",
"modified_by": "Administrator",
"module": "Setup",
"name": "Sales Partner",
@@ -908,6 +908,42 @@
"share": 1,
"submit": 0,
"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
}
],
"quick_entry": 0,

View File

@@ -145,7 +145,7 @@
"idx": 1,
"is_tree": 1,
"links": [],
"modified": "2024-01-30 13:57:26.436991",
"modified": "2026-09-16 12:00:00.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

@@ -108,7 +108,7 @@
"idx": 1,
"is_tree": 1,
"links": [],
"modified": "2025-12-02 13:57:57.814686",
"modified": "2026-09-16 12:00:00.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 12:00:00.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 12:00:00.000000",
"modified_by": "Administrator",
"module": "Setup",
"name": "Territory",
@@ -185,6 +185,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

@@ -40,7 +40,7 @@
"icon": "fa fa-compass",
"idx": 1,
"links": [],
"modified": "2021-10-18 14:07:43.722144",
"modified": "2026-09-16 12:00:00.000000",
"modified_by": "Administrator",
"module": "Setup",
"name": "UOM",
@@ -73,6 +73,10 @@
"read": 1,
"report": 1,
"role": "Stock User"
},
{
"role": "Desk User",
"select": 1
}
],
"quick_entry": 1,

View File

@@ -836,7 +836,7 @@
"istable": 0,
"max_attachments": 0,
"links": [],
"modified": "2024-05-31 06:38:15.399283",
"modified": "2026-09-16 12:00:00.000000",
"modified_by": "Administrator",
"module": "Setup",
"name": "Vehicle",
@@ -878,6 +878,14 @@
"role": "Delivery Manager",
"share": 1,
"write": 1
},
{
"role": "Fulfillment User",
"select": 1
},
{
"role": "Stock User",
"select": 1
}
],
"quick_entry": 1,

View File

@@ -218,7 +218,7 @@
"image_field": "image",
"links": [],
"max_attachments": 5,
"modified": "2026-06-17 12:17:28.339975",
"modified": "2026-09-16 12:00:00.000000",
"modified_by": "Administrator",
"module": "Stock",
"name": "Batch",
@@ -238,6 +238,58 @@
"set_user_permissions": 1,
"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

@@ -85,7 +85,7 @@
}
],
"icon": "fa fa-certificate",
"modified": "2019-07-06 13:06:47.237014",
"modified": "2026-09-16 12:00:00.000000",
"modified_by": "Administrator",
"module": "Stock",
"name": "Manufacturer",
@@ -111,6 +111,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

@@ -367,7 +367,7 @@
"idx": 70,
"is_submittable": 1,
"links": [],
"modified": "2026-01-21 12:48:40.792323",
"modified": "2026-09-16 12:00:00.000000",
"modified_by": "Administrator",
"module": "Stock",
"name": "Material Request",
@@ -432,6 +432,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-01-30 14:39:26.328837",
"modified": "2026-09-16 12:00:00.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 12:00:00.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-02-17 13:20:17.583094",
"modified": "2026-09-16 12:00:00.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
}
],
"search_fields": "item_code, report_date, reference_name",

View File

@@ -244,7 +244,7 @@
"index_web_pages_for_search": 1,
"is_submittable": 1,
"links": [],
"modified": "2025-09-24 16:24:48.154853",
"modified": "2026-09-16 12:00:00.000000",
"modified_by": "Administrator",
"module": "Stock",
"name": "Serial and Batch Bundle",
@@ -376,6 +376,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
}
],
"sort_field": "modified",

View File

@@ -282,7 +282,7 @@
"icon": "fa fa-barcode",
"idx": 1,
"links": [],
"modified": "2025-12-24 20:14:52.942251",
"modified": "2026-09-16 12:00:00.000000",
"modified_by": "Administrator",
"module": "Stock",
"name": "Serial No",
@@ -318,6 +318,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 12:00:00.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

@@ -264,7 +264,7 @@
"idx": 1,
"is_tree": 1,
"links": [],
"modified": "2025-06-26 11:19:04.673115",
"modified": "2026-09-16 12:00:00.000000",
"modified_by": "Administrator",
"module": "Stock",
"name": "Warehouse",
@@ -315,6 +315,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": "2025-09-25 11:10:53.556731",
"modified": "2026-09-16 12:00:00.000000",
"modified_by": "Administrator",
"module": "Support",
"name": "Issue",
@@ -410,6 +410,10 @@
"role": "Support Team",
"share": 1,
"write": 1
},
{
"role": "Projects User",
"select": 1
}
],
"quick_entry": 1,

View File

@@ -13,7 +13,7 @@
"label": "Description"
}
],
"modified": "2019-05-20 17:06:38.095647",
"modified": "2026-09-16 12:00:00.000000",
"modified_by": "Administrator",
"module": "Support",
"name": "Issue Priority",
@@ -30,6 +30,10 @@
"role": "System Manager",
"share": 1,
"write": 1
},
{
"role": "Support Team",
"select": 1
}
],
"quick_entry": 1,

View File

@@ -0,0 +1,69 @@
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 frappe.tests.utils import FrappeTestCase
class TestLinkTargetSelectPermissions(FrappeTestCase):
"""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 306 rows; it holds no other right on Lead.
On version-15 these rows are load-bearing in a way they are not on version-16:
`has_permission()` here ends at `return bool(perm)` and never falls back from
`read` to `select`, so a role holding `read` does not pass a `select` guard.
"""
@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)