[fix] [minor] toggle fields based on permission in expense claim
diff --git a/hr/doctype/expense_claim/expense_claim.js b/hr/doctype/expense_claim/expense_claim.js
index 65c5579..f7895b1 100644
--- a/hr/doctype/expense_claim/expense_claim.js
+++ b/hr/doctype/expense_claim/expense_claim.js
@@ -58,11 +58,12 @@
query:"controllers.queries.employee_query"
}
}
-
+ var exp_approver = doc.exp_approver;
return cur_frm.call({
method:"hr.utils.get_expense_approver_list",
callback: function(r) {
cur_frm.set_df_property("exp_approver", "options", r.message);
+ if(exp_approver) cur_frm.set_value("exp_approver", exp_approver);
}
});
}
@@ -79,26 +80,39 @@
}
cur_frm.cscript.refresh = function(doc,cdt,cdn){
+ cur_frm.cscript.set_help(doc);
+
+ if(!doc.__islocal) {
+ cur_frm.toggle_enable("exp_approver", (doc.owner==user && doc.approval_status=="Draft"));
+ cur_frm.toggle_enable("approval_status", (doc.exp_approver==user && doc.docstatus==0));
+
+ if(!doc.__islocal && user!=doc.exp_approver && cur_frm.frm_head.appframe.buttons.Submit)
+ cur_frm.frm_head.appframe.buttons.Submit.toggle(false);
+
+ if(doc.docstatus==0 && doc.exp_approver==user && doc.approval_status=="Approved")
+ cur_frm.savesubmit();
+
+ if(doc.docstatus==1 && wn.model.can_create("Journal Voucher"))
+ cur_frm.add_custom_button("Make Bank Voucher", cur_frm.cscript.make_bank_voucher);
+ }
+}
+
+cur_frm.cscript.set_help = function(doc) {
cur_frm.set_intro("");
if(doc.__islocal && !in_list(user_roles, "HR User")) {
cur_frm.set_intro("Fill the form and save it")
} else {
if(doc.docstatus==0 && doc.approval_status=="Draft") {
if(user==doc.exp_approver) {
- cur_frm.set_intro("You are the Expense Approver for this record. Please Update the 'Status' and Save");
- cur_frm.toggle_enable("approval_status", true);
+ cur_frm.set_intro("You are the Expense Approver for this record. \
+ Please Update the 'Status' and Save");
} else {
- cur_frm.set_intro("Expense Claim is pending approval. Only the Expense Approver can update status.");
- cur_frm.toggle_enable("approval_status", false);
- if(!doc.__islocal && cur_frm.frm_head.appframe.buttons.Submit)
- cur_frm.frm_head.appframe.buttons.Submit.toggle(false);
+ cur_frm.set_intro("Expense Claim is pending approval. \
+ Only the Expense Approver can update status.");
}
} else {
if(doc.approval_status=="Approved") {
cur_frm.set_intro("Expense Claim has been approved.");
- if(doc.docstatus==0) cur_frm.savesubmit();
- if(doc.docstatus==1) cur_frm.add_custom_button("Make Bank Voucher",
- cur_frm.cscript.make_bank_voucher);
} else if(doc.approval_status=="Rejected") {
cur_frm.set_intro("Expense Claim has been rejected.");
}