Merge pull request #1374 from akhileshdarjee/sms-center
SMS center character count
diff --git a/erpnext/accounts/doctype/bank_reconciliation/bank_reconciliation.js b/erpnext/accounts/doctype/bank_reconciliation/bank_reconciliation.js
index 3e50ad7..1edacd6 100644
--- a/erpnext/accounts/doctype/bank_reconciliation/bank_reconciliation.js
+++ b/erpnext/accounts/doctype/bank_reconciliation/bank_reconciliation.js
@@ -1,9 +1,8 @@
// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
// License: GNU General Public License v3. See license.txt
-
cur_frm.add_fetch("bank_account", "company", "company");
cur_frm.cscript.onload = function(doc, cdt, cdn){
cur_frm.set_intro('<i class="icon-question" /> ' +
wn._("Update clearance date of Journal Entries marked as 'Bank Vouchers'"))
-}
+}
\ No newline at end of file
diff --git a/erpnext/selling/doctype/sms_center/sms_center.js b/erpnext/selling/doctype/sms_center/sms_center.js
new file mode 100644
index 0000000..1c5b92b
--- /dev/null
+++ b/erpnext/selling/doctype/sms_center/sms_center.js
@@ -0,0 +1,17 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
+// License: GNU General Public License v3. See license.txt
+
+$.extend(cur_frm.cscript, {
+ message: function () {
+ var total_words = this.frm.doc.message.length;
+ var total_msg = 1;
+
+ if (total_words > 160) {
+ total_msg = cint(total_words / 160);
+ total_msg = (total_words % 160 == 0 ? total_msg : total_msg + 1);
+ }
+
+ this.frm.set_value("total_words", total_words);
+ this.frm.set_value("total_messages", this.frm.doc.message ? total_msg : 0);
+ }
+});
\ No newline at end of file
diff --git a/erpnext/selling/doctype/sms_center/sms_center.py b/erpnext/selling/doctype/sms_center/sms_center.py
index 6eaab48..8681b9c 100644
--- a/erpnext/selling/doctype/sms_center/sms_center.py
+++ b/erpnext/selling/doctype/sms_center/sms_center.py
@@ -8,7 +8,7 @@
from webnotes.model import db_exists
from webnotes.model.bean import copy_doclist
from webnotes.model.code import get_obj
-from webnotes import msgprint
+from webnotes import msgprint, _
class DocType:
def __init__(self, doc, doclist=[]):
@@ -25,33 +25,47 @@
where_clause = self.doc.sales_partner and " and ifnull(is_sales_partner, 0) = 1 and sales_partner = '%s'" % self.doc.sales_partner or " and ifnull(sales_partner, '') != ''"
if self.doc.send_to in ['All Contact', 'All Customer Contact', 'All Supplier Contact', 'All Sales Partner Contact']:
- rec = webnotes.conn.sql("select CONCAT(ifnull(first_name,''),'',ifnull(last_name,'')), mobile_no from `tabContact` where ifnull(mobile_no,'')!='' and docstatus != 2 %s" % where_clause)
+ rec = webnotes.conn.sql("""select CONCAT(ifnull(first_name,''), '', ifnull(last_name,'')),
+ mobile_no from `tabContact` where ifnull(mobile_no,'')!='' and
+ docstatus != 2 %s""", where_clause)
+
elif self.doc.send_to == 'All Lead (Open)':
- rec = webnotes.conn.sql("select lead_name, mobile_no from tabLead where ifnull(mobile_no,'')!='' and docstatus != 2 and status = 'Open'")
+ rec = webnotes.conn.sql("""select lead_name, mobile_no from `tabLead` where
+ ifnull(mobile_no,'')!='' and docstatus != 2 and status='Open'""")
+
elif self.doc.send_to == 'All Employee (Active)':
where_clause = self.doc.department and " and department = '%s'" % self.doc.department or ""
where_clause += self.doc.branch and " and branch = '%s'" % self.doc.branch or ""
- rec = webnotes.conn.sql("select employee_name, cell_number from `tabEmployee` where status = 'Active' and docstatus < 2 and ifnull(cell_number,'')!='' %s" % where_clause)
+ rec = webnotes.conn.sql("""select employee_name, cell_number from
+ `tabEmployee` where status = 'Active' and docstatus < 2 and
+ ifnull(cell_number,'')!='' %s""", where_clause)
+
elif self.doc.send_to == 'All Sales Person':
- rec = webnotes.conn.sql("select sales_person_name, mobile_no from `tabSales Person` where docstatus != 2 and ifnull(mobile_no,'')!=''")
+ rec = webnotes.conn.sql("""select sales_person_name, mobile_no from
+ `tabSales Person` where docstatus!=2 and ifnull(mobile_no,'')!=''""")
rec_list = ''
+
for d in rec:
rec_list += d[0] + ' - ' + d[1] + '\n'
self.doc.receiver_list = rec_list
def get_receiver_nos(self):
receiver_nos = []
- for d in self.doc.receiver_list.split('\n'):
- receiver_no = d
- if '-' in d:
- receiver_no = receiver_no.split('-')[1]
- if receiver_no.strip():
- receiver_nos.append(cstr(receiver_no).strip())
+ if self.doc.receiver_list:
+ for d in self.doc.receiver_list.split('\n'):
+ receiver_no = d
+ if '-' in d:
+ receiver_no = receiver_no.split('-')[1]
+ if receiver_no.strip():
+ receiver_nos.append(cstr(receiver_no).strip())
+ else:
+ msgprint(_("Receiver List is empty. Please create Receiver List"))
+
return receiver_nos
def send_sms(self):
if not self.doc.message:
- msgprint("Please enter message before sending")
+ msgprint(_("Please enter message before sending"))
else:
receiver_list = self.get_receiver_nos()
if receiver_list:
diff --git a/erpnext/selling/doctype/sms_center/sms_center.txt b/erpnext/selling/doctype/sms_center/sms_center.txt
index 364704c..efa7a45 100644
--- a/erpnext/selling/doctype/sms_center/sms_center.txt
+++ b/erpnext/selling/doctype/sms_center/sms_center.txt
@@ -2,15 +2,13 @@
{
"creation": "2013-01-10 16:34:22",
"docstatus": 0,
- "modified": "2013-07-05 14:55:36",
+ "modified": "2014-01-30 15:29:04",
"modified_by": "Administrator",
"owner": "Administrator"
},
{
"allow_attach": 0,
"allow_copy": 1,
- "allow_email": 1,
- "allow_print": 1,
"doctype": "DocType",
"hide_heading": 0,
"hide_toolbar": 0,
@@ -30,15 +28,19 @@
"permlevel": 0
},
{
+ "cancel": 0,
"create": 1,
+ "delete": 0,
"doctype": "DocPerm",
+ "export": 0,
+ "import": 0,
"name": "__common__",
"parent": "SMS Center",
"parentfield": "permissions",
"parenttype": "DocType",
"permlevel": 0,
"read": 1,
- "report": 1,
+ "report": 0,
"role": "System Manager",
"submit": 0,
"write": 1
@@ -121,6 +123,20 @@
},
{
"doctype": "DocField",
+ "fieldname": "total_words",
+ "fieldtype": "Int",
+ "label": "Total Words",
+ "read_only": 1
+ },
+ {
+ "doctype": "DocField",
+ "fieldname": "total_messages",
+ "fieldtype": "Int",
+ "label": "Total Message(s)",
+ "read_only": 1
+ },
+ {
+ "doctype": "DocField",
"fieldname": "send_sms",
"fieldtype": "Button",
"label": "Send SMS",
@@ -129,4 +145,4 @@
{
"doctype": "DocPerm"
}
-]
+]
\ No newline at end of file