1
0
forked from test/crm

fix: get and set default medium via telephony agent

This commit is contained in:
Shariq Ansari 2025-01-19 14:28:36 +05:30
parent 03b1bab00d
commit 5cd2f2bd39
2 changed files with 27 additions and 18 deletions

View File

@ -12,9 +12,7 @@
"brand_logo",
"favicon",
"dropdown_items_tab",
"dropdown_items",
"calling_tab",
"default_calling_medium"
"dropdown_items"
],
"fields": [
{
@ -58,23 +56,12 @@
"fieldname": "favicon",
"fieldtype": "Attach",
"label": "Favicon"
},
{
"fieldname": "calling_tab",
"fieldtype": "Tab Break",
"label": "Calling"
},
{
"fieldname": "default_calling_medium",
"fieldtype": "Select",
"label": "Default calling medium",
"options": "\nTwilio\nExotel"
}
],
"index_web_pages_for_search": 1,
"issingle": 1,
"links": [],
"modified": "2025-01-15 17:40:32.784762",
"modified": "2025-01-19 14:23:05.981355",
"modified_by": "Administrator",
"module": "FCRM",
"name": "FCRM Settings",

View File

@ -9,18 +9,40 @@ from crm.utils import are_same_phone_number, parse_phone_number
def is_call_integration_enabled():
twilio_enabled = frappe.db.get_single_value("Twilio Settings", "enabled")
exotel_enabled = frappe.db.get_single_value("CRM Exotel Settings", "enabled")
default_calling_medium = frappe.db.get_single_value("FCRM Settings", "default_calling_medium")
return {
"twilio_enabled": twilio_enabled,
"exotel_enabled": exotel_enabled,
"default_calling_medium": default_calling_medium,
"default_calling_medium": get_user_default_calling_medium(),
}
def get_user_default_calling_medium():
if not frappe.db.exists("CRM Telephony Agent", frappe.session.user):
return None
default_medium = frappe.db.get_value("CRM Telephony Agent", frappe.session.user, "default_medium")
if not default_medium:
return None
return default_medium
@frappe.whitelist()
def set_default_calling_medium(medium):
return frappe.db.set_value("FCRM Settings", "FCRM Settings", "default_calling_medium", medium)
if not frappe.db.exists("CRM Telephony Agent", frappe.session.user):
frappe.get_doc(
{
"doctype": "CRM Telephony Agent",
"agent": frappe.session.user,
"default_medium": medium,
}
).insert(ignore_permissions=True)
else:
frappe.db.set_value("CRM Telephony Agent", frappe.session.user, "default_medium", medium)
return get_user_default_calling_medium()
@frappe.whitelist()