diff --git a/frappe/core/doctype/sms_settings/sms_settings.py b/frappe/core/doctype/sms_settings/sms_settings.py index f48ddcfa0f..43830b0155 100644 --- a/frappe/core/doctype/sms_settings/sms_settings.py +++ b/frappe/core/doctype/sms_settings/sms_settings.py @@ -78,6 +78,10 @@ def send_sms(receiver_list, msg, sender_name="", success_msg=True): "success_msg": success_msg, } + send_sms_hook_methods = frappe.get_hooks("send_sms") + if send_sms_hook_methods: + return frappe.get_attr(send_sms_hook_methods[-1])(receiver_list, msg, sender_name, success_msg) + if frappe.db.get_single_value("SMS Settings", "sms_gateway_url"): send_via_gateway(arg) else: diff --git a/frappe/twofactor.py b/frappe/twofactor.py index 6ae53ec403..940e420ad2 100644 --- a/frappe/twofactor.py +++ b/frappe/twofactor.py @@ -302,6 +302,11 @@ def get_link_for_qrcode(user, totp_uri): def send_token_via_sms(otpsecret, token=None, phone_no=None): """Send token as sms to user.""" + + send_token_hook_methods = frappe.get_hooks("send_token_via_sms") + if send_token_hook_methods: + return frappe.get_attr(send_token_hook_methods[-1])(otpsecret, token, phone_no) + try: from frappe.core.doctype.sms_settings.sms_settings import send_request except Exception: