Merge branch 'master' of github.com:webnotes/erpnext
diff --git a/accounts/search_criteria/trend_analyzer/trend_analyzer.js b/accounts/search_criteria/trend_analyzer/trend_analyzer.js
index 53de71c..7f4b94b 100644
--- a/accounts/search_criteria/trend_analyzer/trend_analyzer.js
+++ b/accounts/search_criteria/trend_analyzer/trend_analyzer.js
@@ -17,7 +17,17 @@
 report.customize_filters = function() {
   this.hide_all_filters();
 
-  this.add_filter({fieldname:'transaction', label:'Transaction', fieldtype:'Select', options:'Quotation'+NEWLINE+'Sales Order'+NEWLINE+'Delivery Note'+NEWLINE+'Sales Invoice'+NEWLINE+'Purchase Order'+NEWLINE+'Purchase Receipt'+NEWLINE+'Purchase Invoice',report_default:'Delivery Note',ignore : 1,parent:'Profile',in_first_page : 1,single_select : 1});
+  // hide transaction based on permissions
+  var all_transactions = ["Quotation", "Sales Order", "Delivery Note", "Sales Invoice",
+    "Purchase Order", "Purchase Receipt", "Purchase Invoice"];
+  var transaction_list = [];
+  $.each(all_transactions, function(i, dt) {
+    if(wn.boot.profile.can_read.indexOf(dt)!=-1) {
+      transaction_list.push(dt);
+    }
+  });
+  
+  this.add_filter({fieldname:'transaction', label:'Transaction', fieldtype:'Select', options:transaction_list.join(NEWLINE),report_default:'Delivery Note',ignore : 1,parent:'Profile',in_first_page : 1,single_select : 1});
 
   this.add_filter({fieldname:'period', label:'Period', fieldtype:'Select', options:'Monthly'+NEWLINE+'Quarterly'+NEWLINE+'Half Yearly'+NEWLINE+'Annual',report_default:'Quarterly',ignore : 1, parent:'Profile',in_first_page:1,single_select:1});
 
diff --git a/hr/doctype/expense_claim/expense_claim.js b/hr/doctype/expense_claim/expense_claim.js
index a4d26ea..5794429 100644
--- a/hr/doctype/expense_claim/expense_claim.js
+++ b/hr/doctype/expense_claim/expense_claim.js
@@ -63,7 +63,7 @@
 		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;
+			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'); 
 		}
@@ -74,7 +74,6 @@
 		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'); 
 			
@@ -97,6 +96,7 @@
 wn.require('app/setup/doctype/notification_control/notification_control.js');
 
 cur_frm.cscript.approve = function(doc,cdt,cdn){
+	cur_frm.cscript.calculate_total(doc,cdt,cdn);
 
 	if(user == doc.exp_approver){
 		var approve_voucher_dialog;
@@ -166,6 +166,8 @@
 }
 
 cur_frm.cscript.reject = function(doc,cdt,cdn){
+	cur_frm.cscript.calculate_total(doc,cdt,cdn);
+	
 	if(user == doc.exp_approver){
 		var reject_voucher_dialog;
 		
diff --git a/hr/doctype/expense_claim/expense_claim_list.js b/hr/doctype/expense_claim/expense_claim_list.js
index 62efe38..19d5427 100644
--- a/hr/doctype/expense_claim/expense_claim_list.js
+++ b/hr/doctype/expense_claim/expense_claim_list.js
@@ -16,7 +16,7 @@
 	prepare_data: function(data) {
 		this._super(data);
 		data.posting_date = wn.datetime.str_to_user(data.posting_date);
-		data.employee_name = data.employee_name + 'claimed '
+		data.employee_name = data.employee_name + ' claimed '
 			+ wn.boot.company[data.company].default_currency + ' '
 			+ fmt_money(data.total_claimed_amount);
 	},
diff --git a/setup/doctype/email_digest/email_digest.py b/setup/doctype/email_digest/email_digest.py
index 9c5a24f..017001d 100644
--- a/setup/doctype/email_digest/email_digest.py
+++ b/setup/doctype/email_digest/email_digest.py
@@ -56,10 +56,11 @@
 		recipients = filter(lambda r: r in valid_users,
 			self.doc.recipient_list.split("\n"))
 		
-		from webnotes.utils.email_lib import sendmail
-		sendmail(recipients=recipients, subject=(self.doc.frequency + " Digest"),
-			sender="ERPNext Notifications <notifications+email_digest@erpnext.com>",
-			msg=self.get_digest_msg())
+		if recipients:
+			from webnotes.utils.email_lib import sendmail
+			sendmail(recipients=recipients, subject=(self.doc.frequency + " Digest"),
+				sender="ERPNext Notifications <notifications+email_digest@erpnext.com>",
+				msg=self.get_digest_msg())
 				
 	def get_digest_msg(self):
 		""""""