[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.");
 			}