fix success_list if http status == 200 + utf-8 support + optional success message
This commit is contained in:
parent
8281b36a26
commit
35cefb1275
@ -1,3 +1,4 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# License: GNU General Public License v3. See license.txt
|
# License: GNU General Public License v3. See license.txt
|
||||||
|
|
||||||
@ -46,7 +47,7 @@ def get_contact_number(contact_name, value, key):
|
|||||||
return number and (number[0][0] or number[0][1]) or ''
|
return number and (number[0][0] or number[0][1]) or ''
|
||||||
|
|
||||||
@frappe.whitelist()
|
@frappe.whitelist()
|
||||||
def send_sms(receiver_list, msg, sender_name = ''):
|
def send_sms(receiver_list, msg, sender_name = '', success_msg = True):
|
||||||
|
|
||||||
import json
|
import json
|
||||||
if isinstance(receiver_list, basestring):
|
if isinstance(receiver_list, basestring):
|
||||||
@ -58,8 +59,9 @@ def send_sms(receiver_list, msg, sender_name = ''):
|
|||||||
|
|
||||||
arg = {
|
arg = {
|
||||||
'receiver_list' : receiver_list,
|
'receiver_list' : receiver_list,
|
||||||
'message' : msg,
|
'message' : unicode(msg).encode('utf-8'),
|
||||||
'sender_name' : sender_name or get_sender_name()
|
'sender_name' : sender_name or get_sender_name(),
|
||||||
|
'success_msg' : success_msg
|
||||||
}
|
}
|
||||||
|
|
||||||
if frappe.db.get_value('SMS Settings', None, 'sms_gateway_url'):
|
if frappe.db.get_value('SMS Settings', None, 'sms_gateway_url'):
|
||||||
@ -77,13 +79,15 @@ def send_via_gateway(arg):
|
|||||||
for d in arg.get('receiver_list'):
|
for d in arg.get('receiver_list'):
|
||||||
args[ss.receiver_parameter] = d
|
args[ss.receiver_parameter] = d
|
||||||
status = send_request(ss.sms_gateway_url, args)
|
status = send_request(ss.sms_gateway_url, args)
|
||||||
if status >= 200 and status < 300:
|
|
||||||
|
if 200 <= status < 300:
|
||||||
success_list.append(d)
|
success_list.append(d)
|
||||||
|
|
||||||
if len(success_list) > 0:
|
if len(success_list) > 0:
|
||||||
args.update(arg)
|
args.update(arg)
|
||||||
create_sms_log(args, success_list)
|
create_sms_log(args, success_list)
|
||||||
frappe.msgprint(_("SMS sent to following numbers: {0}").format("\n" + "\n".join(success_list)))
|
if arg.get('success_msg'):
|
||||||
|
frappe.msgprint(_("SMS sent to following numbers: {0}").format("\n" + "\n".join(success_list)))
|
||||||
|
|
||||||
|
|
||||||
def send_request(gateway_url, params):
|
def send_request(gateway_url, params):
|
||||||
@ -99,7 +103,7 @@ def create_sms_log(args, sent_to):
|
|||||||
sl = frappe.new_doc('SMS Log')
|
sl = frappe.new_doc('SMS Log')
|
||||||
sl.sender_name = args['sender_name']
|
sl.sender_name = args['sender_name']
|
||||||
sl.sent_on = nowdate()
|
sl.sent_on = nowdate()
|
||||||
sl.message = args['message']
|
sl.message = args['message'].decode('utf-8')
|
||||||
sl.no_of_requested_sms = len(args['receiver_list'])
|
sl.no_of_requested_sms = len(args['receiver_list'])
|
||||||
sl.requested_numbers = "\n".join(args['receiver_list'])
|
sl.requested_numbers = "\n".join(args['receiver_list'])
|
||||||
sl.no_of_sent_sms = len(sent_to)
|
sl.no_of_sent_sms = len(sent_to)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user