Good Day All
I created a custom button in custom Doctype, also created Workflow for the Custom Doctype.
The button would appear on a specific Workflow State, which has a specific Role permitted for that Workflow State.
Here is the Code:
frappe.ui.form.on('Custom Doctype', {
refresh: function(frm){
if (frm.doc.workflow_state == "Approved") {
frm.add_custom_button(__('Create Purchase Order'), function() {
frappe.model.with_doctype('Purchase Order', function() {
var doc = frappe.model.get_new_doc('Purchase Order');
//To set data from Custom Doctype to Purchase Order
doc.company = frm.doc.company;
doc.transaction_date = frm.doc.purchase_date;
doc.currency = frm.doc.currency;
doc.supplier = frm.doc.supplier;
doc.project = frm.doc.project;
//to add row for child table
$.each(frm.doc.child_table, function (index, source_row){
var row = frappe.model.add_child(doc, 'items');
row.item_code = source_row.item_code;
row.item_name = source_row.item_name;
row.description = source_row.description;
row.qty = source_row.qty;
row.uom = source_row.uom;
row.rate = source_row.item_rate;
})
frappe.set_route('Form', doc.doctype, doc.name);
})
});
}
}
}
The code works well, however, The issue I’m facing is, all Users who have “Read” permission can click on the Custom Button.
How can I restrict access to the Custom Button?
Thank you