fix: check exotel number
This commit is contained in:
parent
591e126911
commit
49de7c92a5
@ -9,7 +9,8 @@
|
||||
"user",
|
||||
"user_name",
|
||||
"column_break_hdec",
|
||||
"mobile_no"
|
||||
"mobile_no",
|
||||
"exotel_number"
|
||||
],
|
||||
"fields": [
|
||||
{
|
||||
@ -41,11 +42,16 @@
|
||||
"in_list_view": 1,
|
||||
"in_standard_filter": 1,
|
||||
"label": "User Name"
|
||||
},
|
||||
{
|
||||
"fieldname": "exotel_number",
|
||||
"fieldtype": "Data",
|
||||
"label": "Exotel Number"
|
||||
}
|
||||
],
|
||||
"index_web_pages_for_search": 1,
|
||||
"links": [],
|
||||
"modified": "2025-01-11 16:20:21.877873",
|
||||
"modified": "2025-01-15 16:19:21.965415",
|
||||
"modified_by": "Administrator",
|
||||
"module": "FCRM",
|
||||
"name": "CRM Exotel Agent",
|
||||
|
||||
@ -66,6 +66,12 @@ def make_a_call(to_number, from_number=None, caller_id=None, link_to_document=No
|
||||
if not from_number:
|
||||
from_number = frappe.get_value("CRM Exotel Agent", {"user": frappe.session.user}, "mobile_no")
|
||||
|
||||
if not caller_id:
|
||||
caller_id = frappe.get_value("CRM Exotel Agent", {"user": frappe.session.user}, "exotel_number")
|
||||
|
||||
if caller_id and caller_id not in get_all_exophones():
|
||||
frappe.throw(_("Exotel Number {0} is not valid").format(caller_id), title=_("Invalid Exotel Number"))
|
||||
|
||||
if not from_number:
|
||||
frappe.throw(
|
||||
_("You do not have mobile number set in your Exotel Agent"), title=_("Mobile Number Missing")
|
||||
@ -119,6 +125,15 @@ def get_exotel_endpoint(action=None):
|
||||
)
|
||||
|
||||
|
||||
def get_all_exophones():
|
||||
endpoint = get_exotel_endpoint("IncomingPhoneNumbers.json")
|
||||
response = requests.get(endpoint)
|
||||
return [
|
||||
phone.get("IncomingPhoneNumber", {}).get("PhoneNumber")
|
||||
for phone in response.json().get("IncomingPhoneNumbers", [])
|
||||
]
|
||||
|
||||
|
||||
def get_status_updater_url():
|
||||
from frappe.utils.data import get_url
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user