From 19ffc45fbc0641e3e543320611f5a1cb21ed3a3a Mon Sep 17 00:00:00 2001 From: Julien Denizot Date: Sun, 21 Jun 2026 16:13:13 +0000 Subject: [PATCH] feat: finalize electronic invoicing role-based UI --- enuxia_einvoice/public/js/sales_invoice.js | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/enuxia_einvoice/public/js/sales_invoice.js b/enuxia_einvoice/public/js/sales_invoice.js index 690c978..d183f8c 100644 --- a/enuxia_einvoice/public/js/sales_invoice.js +++ b/enuxia_einvoice/public/js/sales_invoice.js @@ -151,6 +151,22 @@ function render_einvoice_summary(frm) { } +function canReadElectronicInvoicing() { + return ( + frappe.user.has_role("System Manager") + || frappe.user.has_role( + "Facturation électronique - Lecture" + ) + || frappe.user.has_role( + "Facturation électronique - Opérateur" + ) + || frappe.user.has_role( + "Facturation électronique - Responsable" + ) + ); +} + + function canOperateElectronicInvoicing() { return ( frappe.user.has_role("System Manager") @@ -168,7 +184,10 @@ function add_einvoice_buttons(frm) { const group = __("Facturation électronique"); - if (frm.doc.einvoice_exchange) { + if ( + frm.doc.einvoice_exchange + && canReadElectronicInvoicing() + ) { frm.add_custom_button( __("Ouvrir l’échange"), () => {