fix: Add Make contact button
This commit is contained in:
parent
6013375fbb
commit
28f7c3ca3f
@ -56,7 +56,7 @@ class CallPopup {
|
|||||||
this.make_caller_info_section();
|
this.make_caller_info_section();
|
||||||
this.dialog.get_close_btn().show();
|
this.dialog.get_close_btn().show();
|
||||||
this.dialog.$body.addClass('call-popup');
|
this.dialog.$body.addClass('call-popup');
|
||||||
this.dialog.set_secondary_action(this.close_modal);
|
this.dialog.set_secondary_action(this.close_modal.bind(this));
|
||||||
frappe.utils.play_sound("incoming-call");
|
frappe.utils.play_sound("incoming-call");
|
||||||
this.dialog.show();
|
this.dialog.show();
|
||||||
}
|
}
|
||||||
@ -70,18 +70,41 @@ class CallPopup {
|
|||||||
wrapper.empty();
|
wrapper.empty();
|
||||||
const contact = this.contact = contact_doc;
|
const contact = this.contact = contact_doc;
|
||||||
if (!contact) {
|
if (!contact) {
|
||||||
|
this.setup_unknown_caller(wrapper);
|
||||||
|
} else {
|
||||||
|
this.setup_known_caller(wrapper);
|
||||||
|
this.set_call_status();
|
||||||
|
this.make_last_interaction_section();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
setup_unknown_caller(wrapper) {
|
||||||
wrapper.append(`
|
wrapper.append(`
|
||||||
<div class="caller-info">
|
<div class="caller-info">
|
||||||
<div>${__('Unknown Number')}: <b>${this.caller_number}</b></div>
|
<b>${__('Unknown Number')}:</b> ${this.caller_number}
|
||||||
<a class="contact-link" href="#Form/Contact/New Contact?phone=${this.caller_number}">
|
<button
|
||||||
${__('Create New Contact')}
|
class="margin-left btn btn-new btn-default btn-xs"
|
||||||
</a>
|
data-doctype="Contact"
|
||||||
|
title="Make New Contact">
|
||||||
|
<i class="octicon octicon-plus text-medium"></i>
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
`);
|
`).find('button').click(
|
||||||
} else {
|
() => frappe.set_route(`Form/Contact/New Contact?phone=${this.caller_number}`)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
setup_known_caller(wrapper) {
|
||||||
|
const contact = this.contact;
|
||||||
const contact_name = frappe.utils.get_form_link('Contact', contact.name, true);
|
const contact_name = frappe.utils.get_form_link('Contact', contact.name, true);
|
||||||
const link = contact.links ? contact.links[0] : null;
|
const links = contact.links ? contact.links : [];
|
||||||
let contact_link = link ? frappe.utils.get_form_link(link.link_doctype, link.link_name, true): '';
|
|
||||||
|
let contact_links = '';
|
||||||
|
|
||||||
|
links.forEach(link => {
|
||||||
|
contact_links += `<div>${link.link_doctype}: ${frappe.utils.get_form_link(link.link_doctype, link.link_name, true)}</div>`;
|
||||||
|
});
|
||||||
wrapper.append(`
|
wrapper.append(`
|
||||||
<div class="caller-info flex">
|
<div class="caller-info flex">
|
||||||
${frappe.avatar(null, 'avatar-xl', contact.name, contact.image)}
|
${frappe.avatar(null, 'avatar-xl', contact.name, contact.image)}
|
||||||
@ -89,14 +112,10 @@ class CallPopup {
|
|||||||
<h5>${contact_name}</h5>
|
<h5>${contact_name}</h5>
|
||||||
<div>${contact.mobile_no || ''}</div>
|
<div>${contact.mobile_no || ''}</div>
|
||||||
<div>${contact.phone_no || ''}</div>
|
<div>${contact.phone_no || ''}</div>
|
||||||
${contact_link}
|
${contact_links}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
`);
|
`);
|
||||||
this.set_call_status();
|
|
||||||
this.make_last_interaction_section();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
set_indicator(color, blink=false) {
|
set_indicator(color, blink=false) {
|
||||||
@ -133,8 +152,8 @@ class CallPopup {
|
|||||||
}
|
}
|
||||||
|
|
||||||
close_modal() {
|
close_modal() {
|
||||||
delete erpnext.call_popup;
|
|
||||||
this.dialog.hide();
|
this.dialog.hide();
|
||||||
|
delete erpnext.call_popup;
|
||||||
}
|
}
|
||||||
|
|
||||||
call_disconnected(call_log) {
|
call_disconnected(call_log) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user