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() | @frappe.whitelist() | ||||||
| def get_contact_doc(phone_number): | def get_contact_doc(phone_number): | ||||||
| 	contacts = frappe.get_all('Contact', filters={ | 	phone_number = phone_number[-10:] | ||||||
| 		'phone': phone_number | 	contacts = frappe.get_all('Contact', or_filters={ | ||||||
|  | 		'phone': ['like', '%{}%'.format(phone_number)], | ||||||
|  | 		'mobile_no': ['like', '%{}%'.format(phone_number)] | ||||||
| 	}, fields=['*']) | 	}, fields=['*']) | ||||||
| 
 | 
 | ||||||
| 	if contacts: | 	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) { | 	constructor(opts) { | ||||||
| 		this.number = '+91234444444'; | 		this.number = opts.number; | ||||||
| 		this.make(); | 		this.make(); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| @ -15,10 +15,18 @@ frappe.call_summary_dialog = class { | |||||||
| 			if (!res) { | 			if (!res) { | ||||||
| 				this.$modal_body.html('Unknown Contact'); | 				this.$modal_body.html('Unknown Contact'); | ||||||
| 			} else { | 			} else { | ||||||
| 				this.$modal_body.html(`${res.first_name}`); | 				this.$modal_body.append(`${frappe.utils.get_form_link('Contact', res.name, true)}`) | ||||||
| 			} | 			} | ||||||
| 		}); | 		}); | ||||||
| 		d.show(); | 		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