diff --git a/client/res/templates/fields/phone/detail.tpl b/client/res/templates/fields/phone/detail.tpl
index 5c9648e4ed..5bec25fd00 100644
--- a/client/res/templates/fields/phone/detail.tpl
+++ b/client/res/templates/fields/phone/detail.tpl
@@ -1,13 +1,13 @@
{{#if phoneNumberData}}
{{#each phoneNumberData}}
-
{{phoneNumber}}
+ {{#if ../doNotCall}}
{{/if}}{{phoneNumber}}{{#if ../doNotCall}}{{/if}}
({{translateOption type scope=../../scope field=../../name}})
{{/each}}
{{else}}
- {{#if value}}
- {{value}}
+ {{#if value}}
+ {{#if doNotCall}}{{/if}}{{value}}{{#if ../doNotCall}}{{/if}}
{{else}}
{{translate 'None'}}
{{/if}}
diff --git a/client/res/templates/fields/phone/list.tpl b/client/res/templates/fields/phone/list.tpl
index 14b0e4a345..21bac8f98c 100644
--- a/client/res/templates/fields/phone/list.tpl
+++ b/client/res/templates/fields/phone/list.tpl
@@ -1 +1 @@
-{{value}}
+{{#if doNotCall}}{{/if}}{{value}}{{#if doNotCall}}{{/if}}
diff --git a/client/src/views/fields/phone.js b/client/src/views/fields/phone.js
index 0fc6d0bd99..c71975a2f5 100644
--- a/client/src/views/fields/phone.js
+++ b/client/src/views/fields/phone.js
@@ -78,7 +78,8 @@ Espo.define('views/fields/phone', 'views/fields/varchar', function (Dep) {
}
return _.extend({
- phoneNumberData: phoneNumberData
+ phoneNumberData: phoneNumberData,
+ doNotCall: this.model.get('doNotCall')
}, Dep.prototype.data.call(this));
},
@@ -211,6 +212,14 @@ Espo.define('views/fields/phone', 'views/fields/varchar', function (Dep) {
setup: function () {
this.dataFieldName = this.name + 'Data';
this.defaultType = this.defaultType || this.getMetadata().get('entityDefs.' + this.model.name + '.fields.' + this.name + '.defaultType');
+
+ if (this.model.has('doNotCall')) {
+ this.listenTo(this.model, 'change:doNotCall', function (model, value, o) {
+ if (this.mode !== 'detail' && this.mode !== 'list') return;
+ if (!o.ui) return;
+ this.reRender();
+ }, this);
+ }
},
fetchPhoneNumberData: function () {