[fix] [minor] toggle fields based on permission in expense claim

This commit is contained in:
Nabin Hait 2013-09-26 12:09:17 +05:30
parent 16ec981bfd
commit 38567e02e1

View File

@ -58,11 +58,12 @@ cur_frm.cscript.onload = function(doc,cdt,cdn) {
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.clear_sanctioned = function(doc) {
}
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.");
}