feat: Open modal in realtime for incoming call
This commit is contained in:
		
							parent
							
								
									d382f1d470
								
							
						
					
					
						commit
						03c3bd5f4a
					
				| @ -2,8 +2,10 @@ import frappe | ||||
| 
 | ||||
| @frappe.whitelist() | ||||
| def get_contact_doc(phone_number): | ||||
| 	contacts = frappe.get_all('Contact', filters={ | ||||
| 		'phone': phone_number | ||||
| 	phone_number = phone_number[-10:] | ||||
| 	contacts = frappe.get_all('Contact', or_filters={ | ||||
| 		'phone': ['like', '%{}%'.format(phone_number)], | ||||
| 		'mobile_no': ['like', '%{}%'.format(phone_number)] | ||||
| 	}, fields=['*']) | ||||
| 
 | ||||
| 	if contacts: | ||||
|  | ||||
							
								
								
									
										12
									
								
								erpnext/crm/call_summary/exotel_call_handler.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								erpnext/crm/call_summary/exotel_call_handler.py
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,12 @@ | ||||
| import frappe | ||||
| 
 | ||||
| @frappe.whitelist(allow_guest=True) | ||||
| def handle_request(*args, **kwargs): | ||||
| 	r = frappe.request | ||||
| 
 | ||||
| 	payload = r.get_data() | ||||
| 
 | ||||
| 	print(r.args.to_dict()) | ||||
| 	print(payload) | ||||
| 
 | ||||
| 	frappe.publish_realtime('incoming_call', r.args.to_dict()) | ||||
| @ -1,6 +1,6 @@ | ||||
| frappe.call_summary_dialog = class { | ||||
| class CallSummaryDialog { | ||||
| 	constructor(opts) { | ||||
| 		this.number = '+91234444444'; | ||||
| 		this.number = opts.number; | ||||
| 		this.make(); | ||||
| 	} | ||||
| 
 | ||||
| @ -15,10 +15,18 @@ frappe.call_summary_dialog = class { | ||||
| 			if (!res) { | ||||
| 				this.$modal_body.html('Unknown Contact'); | ||||
| 			} else { | ||||
| 				this.$modal_body.html(`${res.first_name}`); | ||||
| 				this.$modal_body.append(`${frappe.utils.get_form_link('Contact', res.name, true)}`) | ||||
| 			} | ||||
| 		}); | ||||
| 		d.show(); | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| }; | ||||
| $(document).on('app_ready', function() { | ||||
| 	frappe.realtime.on('incoming_call', data => { | ||||
| 		const number = data.CallFrom; | ||||
| 		frappe.call_summary_dialog = new CallSummaryDialog({ | ||||
| 			number | ||||
| 		}); | ||||
| 	}); | ||||
| }); | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user