41 lines
1.3 KiB
JavaScript
41 lines
1.3 KiB
JavaScript
import { mailModels } from "@mail/../tests/mail_test_helpers";
|
|
import { mailDataHelpers } from "@mail/../tests/mock_server/mail_mock_server";
|
|
import { fields } from "@web/../tests/web_test_helpers";
|
|
|
|
export class ResPartner extends mailModels.ResPartner {
|
|
phone_sanitized = fields.Char();
|
|
|
|
/** @override */
|
|
_compute_display_name() {
|
|
super._compute_display_name();
|
|
for (const record of this) {
|
|
if (record.company_name) {
|
|
record.display_name = `${record.company_name}, ${record.display_name}`;
|
|
}
|
|
}
|
|
}
|
|
|
|
get_contacts() {
|
|
const store = new mailDataHelpers.Store();
|
|
const contacts = this.browse(this.search([["phone", "!=", false]]));
|
|
return store.add(contacts, this._voip_get_store_fields()).get_result();
|
|
}
|
|
|
|
/** @param {number[]} ids */
|
|
_format_contacts(ids) {
|
|
const contacts = this.browse(ids);
|
|
return contacts.map((contact) => ({
|
|
id: contact.id,
|
|
email: contact.email,
|
|
phone: contact.phone,
|
|
phone_sanitized: contact.phone_sanitized,
|
|
name: contact.display_name,
|
|
t9_name: contact.t9_name,
|
|
}));
|
|
}
|
|
|
|
_voip_get_store_fields() {
|
|
return ["id", "email", "phone", "phone_sanitized", "name", "t9_name"];
|
|
}
|
|
}
|