@@ -14,7 +14,7 @@ import os, sys, importlib, inspect, json | |||||
from .exceptions import * | from .exceptions import * | ||||
from .utils.jinja import get_jenv, get_template, render_template, get_email_from_template | from .utils.jinja import get_jenv, get_template, render_template, get_email_from_template | ||||
__version__ = '9.2.5' | |||||
__version__ = '9.2.6' | |||||
__title__ = "Frappe Framework" | __title__ = "Frappe Framework" | ||||
local = Local() | local = Local() | ||||
@@ -1,5 +1,6 @@ | |||||
{ | { | ||||
"allow_copy": 0, | "allow_copy": 0, | ||||
"allow_guest_to_view": 0, | |||||
"allow_import": 0, | "allow_import": 0, | ||||
"allow_rename": 0, | "allow_rename": 0, | ||||
"beta": 0, | "beta": 0, | ||||
@@ -11,16 +12,20 @@ | |||||
"editable_grid": 1, | "editable_grid": 1, | ||||
"fields": [ | "fields": [ | ||||
{ | { | ||||
"allow_bulk_edit": 0, | |||||
"allow_on_submit": 0, | "allow_on_submit": 0, | ||||
"bold": 0, | "bold": 0, | ||||
"collapsible": 0, | "collapsible": 0, | ||||
"columns": 0, | |||||
"fieldname": "module", | "fieldname": "module", | ||||
"fieldtype": "Data", | "fieldtype": "Data", | ||||
"hidden": 0, | "hidden": 0, | ||||
"ignore_user_permissions": 0, | "ignore_user_permissions": 0, | ||||
"ignore_xss_filter": 0, | "ignore_xss_filter": 0, | ||||
"in_filter": 0, | "in_filter": 0, | ||||
"in_list_view": 0, | |||||
"in_global_search": 0, | |||||
"in_list_view": 1, | |||||
"in_standard_filter": 0, | |||||
"label": "Module", | "label": "Module", | ||||
"length": 0, | "length": 0, | ||||
"no_copy": 0, | "no_copy": 0, | ||||
@@ -30,6 +35,7 @@ | |||||
"print_hide": 0, | "print_hide": 0, | ||||
"print_hide_if_no_value": 0, | "print_hide_if_no_value": 0, | ||||
"read_only": 0, | "read_only": 0, | ||||
"remember_last_selected_value": 0, | |||||
"report_hide": 0, | "report_hide": 0, | ||||
"reqd": 1, | "reqd": 1, | ||||
"search_index": 0, | "search_index": 0, | ||||
@@ -37,17 +43,17 @@ | |||||
"unique": 0 | "unique": 0 | ||||
} | } | ||||
], | ], | ||||
"has_web_view": 0, | |||||
"hide_heading": 0, | "hide_heading": 0, | ||||
"hide_toolbar": 0, | "hide_toolbar": 0, | ||||
"idx": 0, | "idx": 0, | ||||
"image_view": 0, | "image_view": 0, | ||||
"in_create": 0, | "in_create": 0, | ||||
"in_dialog": 0, | |||||
"is_submittable": 0, | "is_submittable": 0, | ||||
"issingle": 0, | "issingle": 0, | ||||
"istable": 1, | "istable": 1, | ||||
"max_attachments": 0, | "max_attachments": 0, | ||||
"modified": "2016-07-11 03:27:58.240564", | |||||
"modified": "2017-10-31 19:36:18.586834", | |||||
"modified_by": "Administrator", | "modified_by": "Administrator", | ||||
"module": "Core", | "module": "Core", | ||||
"name": "Block Module", | "name": "Block Module", | ||||
@@ -57,7 +63,9 @@ | |||||
"quick_entry": 0, | "quick_entry": 0, | ||||
"read_only": 0, | "read_only": 0, | ||||
"read_only_onload": 0, | "read_only_onload": 0, | ||||
"show_name_in_global_search": 0, | |||||
"sort_field": "modified", | "sort_field": "modified", | ||||
"sort_order": "DESC", | "sort_order": "DESC", | ||||
"track_changes": 0, | |||||
"track_seen": 0 | "track_seen": 0 | ||||
} | } |
@@ -202,7 +202,7 @@ | |||||
"issingle": 1, | "issingle": 1, | ||||
"istable": 0, | "istable": 0, | ||||
"max_attachments": 0, | "max_attachments": 0, | ||||
"modified": "2017-10-23 12:57:20.943845", | |||||
"modified": "2017-11-01 12:57:20.943845", | |||||
"modified_by": "Administrator", | "modified_by": "Administrator", | ||||
"module": "Core", | "module": "Core", | ||||
"name": "SMS Settings", | "name": "SMS Settings", | ||||
@@ -64,18 +64,17 @@ def send_sms(receiver_list, msg, sender_name = '', success_msg = True): | |||||
def send_via_gateway(arg): | def send_via_gateway(arg): | ||||
ss = frappe.get_doc('SMS Settings', 'SMS Settings') | ss = frappe.get_doc('SMS Settings', 'SMS Settings') | ||||
headers = get_headers(ss) | |||||
args = {ss.message_parameter: arg.get('message')} | args = {ss.message_parameter: arg.get('message')} | ||||
headers={'Accept': "text/plain, text/html, */*"} | |||||
for d in ss.get("parameters"): | for d in ss.get("parameters"): | ||||
if d.header == 1: | |||||
headers.update({d.parameter: d.value}) | |||||
continue | |||||
args[d.parameter] = d.value | |||||
if not d.header: | |||||
args[d.parameter] = d.value | |||||
success_list = [] | success_list = [] | ||||
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, headers, args, ss.use_post) | |||||
status = send_request(ss.sms_gateway_url, args, headers, ss.use_post) | |||||
if 200 <= status < 300: | if 200 <= status < 300: | ||||
success_list.append(d) | success_list.append(d) | ||||
@@ -86,9 +85,23 @@ def send_via_gateway(arg): | |||||
if arg.get('success_msg'): | if arg.get('success_msg'): | ||||
frappe.msgprint(_("SMS sent to following numbers: {0}").format("\n" + "\n".join(success_list))) | frappe.msgprint(_("SMS sent to following numbers: {0}").format("\n" + "\n".join(success_list))) | ||||
def get_headers(sms_settings=None): | |||||
if not sms_settings: | |||||
sms_settings = frappe.get_doc('SMS Settings', 'SMS Settings') | |||||
def send_request(gateway_url, headers, params, use_post=False): | |||||
headers={'Accept': "text/plain, text/html, */*"} | |||||
for d in sms_settings.get("parameters"): | |||||
if d.header == 1: | |||||
headers.update({d.parameter: d.value}) | |||||
return headers | |||||
def send_request(gateway_url, params, headers=None, use_post=False): | |||||
import requests | import requests | ||||
if not headers: | |||||
headers = get_headers() | |||||
if use_post: | if use_post: | ||||
response = requests.post(gateway_url, headers=headers, data=params) | response = requests.post(gateway_url, headers=headers, data=params) | ||||
else: | else: | ||||
@@ -938,7 +938,7 @@ def send_token_via_sms(tmp_id,phone_no=None,user=None): | |||||
return False | return False | ||||
args[ss.receiver_parameter] = usr_phone | args[ss.receiver_parameter] = usr_phone | ||||
status = send_request(ss.sms_gateway_url, args) | |||||
status = send_request(ss.sms_gateway_url, args, use_post=ss.use_post) | |||||
if 200 <= status < 300: | if 200 <= status < 300: | ||||
frappe.cache().delete(tmp_id + '_token') | frappe.cache().delete(tmp_id + '_token') | ||||
@@ -255,7 +255,6 @@ def get_link_for_qrcode(user, totp_uri): | |||||
def send_token_via_sms(otpsecret, token=None, phone_no=None): | def send_token_via_sms(otpsecret, token=None, phone_no=None): | ||||
'''Send token as sms to user.''' | '''Send token as sms to user.''' | ||||
otp_issuer = frappe.db.get_value('System Settings', 'System Settings', 'otp_issuer_name') | |||||
try: | try: | ||||
from frappe.core.doctype.sms_settings.sms_settings import send_request | from frappe.core.doctype.sms_settings.sms_settings import send_request | ||||
except: | except: | ||||
@@ -280,7 +279,8 @@ def send_token_via_sms(otpsecret, token=None, phone_no=None): | |||||
sms_args = { | sms_args = { | ||||
'params': args, | 'params': args, | ||||
'gateway_url': ss.sms_gateway_url | |||||
'gateway_url': ss.sms_gateway_url, | |||||
'use_post': ss.use_post | |||||
} | } | ||||
enqueue(method=send_request, queue='short', timeout=300, event=None, | enqueue(method=send_request, queue='short', timeout=300, event=None, | ||||
async=True, job_name=None, now=False, **sms_args) | async=True, job_name=None, now=False, **sms_args) | ||||