[fix] sms settings, fixes #3276
diff --git a/erpnext/public/js/controllers/transaction.js b/erpnext/public/js/controllers/transaction.js
index 0e444cc..b4965ee 100644
--- a/erpnext/public/js/controllers/transaction.js
+++ b/erpnext/public/js/controllers/transaction.js
@@ -45,7 +45,7 @@
 			&& !(this.frm.doc.__onload ? this.frm.doc.__onload.load_after_mapping : false)) {
 				this.apply_default_taxes();
 		}
-		
+
 		if(this.frm.doc.__islocal && this.frm.doc.company && this.frm.doc["items"] && !this.frm.doc.is_pos) {
 			this.calculate_taxes_and_totals();
 		}
@@ -63,7 +63,7 @@
 		erpnext.pos.make_pos_btn(this.frm);
 		this.setup_sms();
 	},
-	
+
 	apply_default_taxes: function() {
 		var me = this;
 		return frappe.call({
@@ -83,14 +83,15 @@
 
 	setup_sms: function() {
 		var me = this;
-		if(this.frm.doc.docstatus===1 && !in_list(["Lost", "Stopped"], this.frm.doc.status)) {
+		if(this.frm.doc.docstatus===1 && !in_list(["Lost", "Stopped"], this.frm.doc.status)
+			&& this.frm.doctype != "Purchase Invoice") {
 			this.frm.page.add_menu_item(__('Send SMS'), function() { me.send_sms(); });
 		}
 	},
 
 	send_sms: function() {
 		frappe.require("assets/erpnext/js/sms_manager.js");
-		var sms_man = new SMSManager(this.doc);
+		var sms_man = new SMSManager(this.frm.doc);
 	},
 
 	hide_currency_and_price_list: function() {
@@ -255,7 +256,7 @@
 			this.frm.doc.plc_conversion_rate !== this.frm.doc.conversion_rate) {
 				this.frm.set_value("plc_conversion_rate", this.frm.doc.conversion_rate);
 		}
-		
+
 		if(flt(this.frm.doc.conversion_rate)>0.0) {
 			if(this.frm.doc.ignore_pricing_rule) {
 				this.calculate_taxes_and_totals();
@@ -302,7 +303,7 @@
 			cint(this.frm.doc.plc_conversion_rate) != cint(this.frm.doc.conversion_rate)) {
 				this.frm.set_value("conversion_rate", this.frm.doc.plc_conversion_rate);
 		}
-		
+
 		if(!this.in_apply_price_list) {
 			this.apply_price_list();
 		}
diff --git a/erpnext/selling/doctype/sms_center/sms_center.py b/erpnext/selling/doctype/sms_center/sms_center.py
index 112693a..ea6832b 100644
--- a/erpnext/selling/doctype/sms_center/sms_center.py
+++ b/erpnext/selling/doctype/sms_center/sms_center.py
@@ -44,9 +44,9 @@
 				ifnull(cell_number,'')!='' %s""" % where_clause)
 
 		elif self.send_to == 'All Sales Person':
-			rec = frappe.db.sql("""select sales_person_name, tabEmployee.cell_number from
-				`tabSales Person`, tabEmployee
-				and `tabSales Person`.employee = tabEmployee.name
+			rec = frappe.db.sql("""select sales_person_name,
+				tabEmployee.cell_number from `tabSales Person` left join tabEmployee
+				on `tabSales Person`.employee = tabEmployee.name
 				where ifnull(tabEmployee.cell_number,'')!=''""")
 
 		rec_list = ''