Merge branch 'master' of github.com:webnotes/erpnext
diff --git a/erpnext/hr/doctype/expense_claim/expense_claim.js b/erpnext/hr/doctype/expense_claim/expense_claim.js
index b30a401..9242a72 100644
--- a/erpnext/hr/doctype/expense_claim/expense_claim.js
+++ b/erpnext/hr/doctype/expense_claim/expense_claim.js
@@ -27,23 +27,23 @@
 		for(var i = 0; i<val.length; i++){
 			val[i].sanctioned_amount ='';
 		}
-		//doc.total_claimed_amount = '';
 		doc.total_sanctioned_amount = '';
 		refresh_many(['sanctioned_amount', 'total_sanctioned_amount']);
 	}
 }
 
 cur_frm.cscript.refresh = function(doc,cdt,cdn){
-	if((user == doc.exp_approver && doc.approval_status == 'Submitted') || doc.docstatus == 0) unhide_field('calculate_total_amount');
-	else hide_field('calculate_total_amount');
-	
-	if(user == doc.exp_approver && doc.approval_status == 'Submitted')	unhide_field(['update_voucher', 'approve', 'reject']);
-
-	else hide_field(['update_voucher', 'approve', 'reject']);
-
-	
-	if(user == doc.exp_approver && doc.approval_status == 'Submitted') set_field_permlevel('remark', 0);
-	else set_field_permlevel('remark', 1);
+	hide_field('calculate_total_amount');
+	if(user == doc.exp_approver && doc.approval_status == 'Submitted'){
+		unhide_field(['update_voucher', 'approve', 'reject', 'calculate_total_amount']);
+		cur_frm.fields_dict['expense_voucher_details'].grid.set_column_disp('sanctioned_amount', true);
+		set_field_permlevel('remark', 0);
+	} else {
+		hide_field(['update_voucher', 'approve', 'reject']);
+		cur_frm.fields_dict['expense_voucher_details'].grid.set_column_disp('sanctioned_amount', false);
+		set_field_permlevel('remark', 1);
+	}
+	if (doc.docstatus == 0) unhide_field('calculate_total_amount');
 }
 
 cur_frm.cscript.employee = function(doc,cdt,cdn){
@@ -63,7 +63,9 @@
 		var val = getchildren('Expense Claim Detail', doc.name, 'expense_voucher_details', doc.doctype);
 		var total_claim =0;
 		for(var i = 0; i<val.length; i++){
+			if(!doc.claim_amount) val[i].sanctioned_amount = val[i].claim_amount;
 			total_claim = flt(total_claim)+flt(val[i].claim_amount);
+			refresh_field('sactioned_amount', val[i].name, 'expense_voucher_details'); 
 		}
 		doc.total_claimed_amount = flt(total_claim);
 		refresh_field('total_claimed_amount');
@@ -83,7 +85,10 @@
 		var val = getchildren('Expense Claim Detail', doc.name, 'expense_voucher_details', doc.doctype);
 		var total_sanctioned = 0;
 		for(var i = 0; i<val.length; i++){
+			if(!doc.claim_amount) val[i].sanctioned_amount = val[i].claim_amount;
 			total_sanctioned = flt(total_sanctioned)+flt(val[i].sanctioned_amount);
+			refresh_field('sactioned_amount', val[i].name, 'expense_voucher_details'); 
+			
 		}
 		doc.total_sanctioned_amount = flt(total_sanctioned);
 		refresh_field('total_sanctioned_amount');
diff --git a/erpnext/hr/doctype/expense_claim/expense_claim.py b/erpnext/hr/doctype/expense_claim/expense_claim.py
index 7701e72..881000c 100644
--- a/erpnext/hr/doctype/expense_claim/expense_claim.py
+++ b/erpnext/hr/doctype/expense_claim/expense_claim.py
@@ -98,20 +98,8 @@
 			set(self.doc, 'remark', self.doc.remark)	 
 		set(self.doc, 'approval_status', 'Rejected')		
 
-		# on approval notification
-		#get_obj('Notification Control').notify_contact('Expense Claim Rejected', self.doc.doctype, self.doc.name, self.doc.email_id, self.doc.employee_name)
-
 		return cstr('Rejected')
 	
-	def validate_curr_exp(self):
-		for d in getlist(self.doclist, 'expense_voucher_details'):
-			if flt(d.sanctioned_amount) > 0:
-				if self.doc.approval_status == 'Draft':
-					msgprint("Sanctioned amount can be added by Approver person only for submitted Expense Claim")
-					raise Exception
-				elif self.doc.approval_status == 'Submitted' and session['user'] != self.doc.exp_approver:
-					msgprint("Sanctioned amount can be added only by expense voucher Approver")
-					raise Exception
 	
 	def validate_fiscal_year(self):
 		fy=sql("select year_start_date from `tabFiscal Year` where name='%s'"%self.doc.fiscal_year)
@@ -122,7 +110,6 @@
 			raise Exception
 		
 	def validate(self):
-		self.validate_curr_exp()
 		self.validate_fiscal_year()
 	
 	def on_update(self):