From 4c2ecc83d22ba44ee3a203ff6a99c3117175b75d Mon Sep 17 00:00:00 2001 From: Jean-Roch Maitre Date: Tue, 8 Nov 2016 16:23:05 -0800 Subject: [PATCH] UI-2425: fix features in smartpbx with new back-end field --- submodules/groups/groups.js | 8 ++++-- submodules/strategy/strategy.js | 11 ++++++--- submodules/users/users.js | 31 ++++++++++++----------- views/groups-numbers.html | 38 +++++++++++++++-------------- views/groups-numbersItemRow.html | 38 +++++++++++++++-------------- views/strategy-numbers.html | 42 +++++++++++++++++--------------- views/users-numbers.html | 38 +++++++++++++++-------------- views/users-numbersItemRow.html | 38 +++++++++++++++-------------- 8 files changed, 132 insertions(+), 112 deletions(-) diff --git a/submodules/groups/groups.js b/submodules/groups/groups.js index 717202c..e61bdb2 100644 --- a/submodules/groups/groups.js +++ b/submodules/groups/groups.js @@ -1191,9 +1191,10 @@ define(function(require){ number.viewFeatures = $.extend(true, {}, features); number.phoneNumber = number.id; + monster.util.populateBooleansNumberFeatures(number); + number.extra.hasFeatures = number.extra.hasE911 || number.extra.hasPrepend || number.extra.hasCnam; + var rowTemplate = $(monster.template(self, 'groups-numbersItemRow', { - isCnamEnabled: monster.util.isNumberFeatureEnabled('cnam'), - isE911Enabled: monster.util.isNumberFeatureEnabled('e911'), number: number })); @@ -1493,6 +1494,9 @@ define(function(require){ } }); + monster.util.populateBooleansNumberFeatures(number); + number.extra.hasFeatures = number.extra.hasE911 || number.extra.hasPrepend || number.extra.hasCnam; + if(!number.hasOwnProperty('used_by') || number.used_by === '') { response.unassignedNumbers[id] = number; response.countSpare++; diff --git a/submodules/strategy/strategy.js b/submodules/strategy/strategy.js index 0b50b1d..bc56276 100644 --- a/submodules/strategy/strategy.js +++ b/submodules/strategy/strategy.js @@ -394,7 +394,9 @@ define(function(require){ numbers: $.map(numbers, function(val, key) { if(val!=="0") { var ret = { - number: val, + number: { + id: val + }, features: $.extend(true, {}, strategyData.numberFeatures) }; @@ -402,14 +404,15 @@ define(function(require){ _.each(accountNumbers[val].features, function(feature) { ret.features[feature].active = 'active'; }); - ret.isLocal = accountNumbers[val].features.indexOf('local') > -1; + ret.number = $.extend(true, accountNumbers[val], ret.number); } + monster.util.populateBooleansNumberFeatures(ret.number); + ret.number.extra.hasFeatures = ret.number.extra.hasE911 || ret.number.extra.hasPrepend || ret.number.extra.hasCnam; + return ret; } }), - isCnamEnabled: monster.util.isNumberFeatureEnabled('cnam'), - isE911Enabled: monster.util.isNumberFeatureEnabled('e911'), spareLinkEnabled: (_.countBy(accountNumbers, function(number) {return number.used_by ? 'assigned' : 'spare';})['spare'] > 0) }, template = $(monster.template(self, 'strategy-'+templateName, templateData)); diff --git a/submodules/users/users.js b/submodules/users/users.js index 82fc66f..e662ee8 100644 --- a/submodules/users/users.js +++ b/submodules/users/users.js @@ -70,7 +70,7 @@ define(function(require){ monster.ui.highlight(cells); } - if ( dataTemplate.users.length == 0) { + if ( dataTemplate.users.length === 0) { parent.find('.grid-row.title').css('display', 'none'); parent.find('.no-users-row').css('display', 'block'); } else { @@ -1121,8 +1121,6 @@ define(function(require){ template .find('.list-assigned-items') .append($(monster.template(self, 'users-numbersItemRow', { - isCnamEnabled: monster.util.isNumberFeatureEnabled('cnam'), - isE911Enabled: monster.util.isNumberFeatureEnabled('e911'), number: val }))); @@ -1152,9 +1150,10 @@ define(function(require){ number.viewFeatures = $.extend(true, {}, features); number.phoneNumber = number.id; + monster.util.populateBooleansNumberFeatures(number); + number.extra.hasFeatures = number.extra.hasE911 || number.extra.hasPrepend || number.extra.hasCnam; + var rowTemplate = $(monster.template(self, 'users-numbersItemRow', { - isCnamEnabled: monster.util.isNumberFeatureEnabled('cnam'), - isE911Enabled: monster.util.isNumberFeatureEnabled('e911'), number: number })); @@ -2724,32 +2723,33 @@ define(function(require){ }, usersGetNumbersTemplate: function(userId, callback) { - var self = this; + var self = this, + template; self.usersGetNumbersData(userId, function(results) { self.usersFormatNumbersData(userId, results, function(results) { - template = $(monster.template(self, 'users-numbers', $.extend(true, {}, results, { - isCnamEnabled: monster.util.isNumberFeatureEnabled('cnam'), - isE911Enabled: monster.util.isNumberFeatureEnabled('e911') - }))); + template = $(monster.template(self, 'users-numbers', results)); callback && callback(template, results); }); }, true); }, usersGetDevicesTemplate: function(userId, callback) { - var self = this; + var self = this, + template; self.usersGetDevicesData(function(results) { - var results = self.usersFormatDevicesData(userId, results); + var formattedResults = self.usersFormatDevicesData(userId, results); - template = $(monster.template(self, 'users-devices', results)); + template = $(monster.template(self, 'users-devices', formattedResults)); callback && callback(template, results); }); }, usersGetExtensionsTemplate: function(userId, callback) { - var self = this; + var self = this, + template; + self.usersGetNumbersData(userId, function(results) { self.usersFormatNumbersData(userId, results, function(results) { template = $(monster.template(self, 'users-extensions', results)); @@ -2822,6 +2822,9 @@ define(function(require){ } }); + monster.util.populateBooleansNumberFeatures(number); + number.extra.hasFeatures = number.extra.hasE911 || number.extra.hasPrepend || number.extra.hasCnam; + /* Adding to spare numbers */ if(!number.hasOwnProperty('used_by') || number.used_by === '') { response.countSpare++; diff --git a/views/groups-numbers.html b/views/groups-numbers.html index f0495ef..97889c7 100644 --- a/views/groups-numbers.html +++ b/views/groups-numbers.html @@ -8,24 +8,26 @@
- + {{#if this.extra.hasFeatures}} + + {{/if}}
{{#compare this.state '===' 'port_in'}} diff --git a/views/groups-numbersItemRow.html b/views/groups-numbersItemRow.html index 4d9fff7..221f347 100644 --- a/views/groups-numbersItemRow.html +++ b/views/groups-numbersItemRow.html @@ -1,24 +1,26 @@
- + {{#if number.extra.hasFeatures}} + + {{/if}}
{{#compare number.state '===' 'port_in'}} diff --git a/views/strategy-numbers.html b/views/strategy-numbers.html index 79d0847..6f24ed5 100644 --- a/views/strategy-numbers.html +++ b/views/strategy-numbers.html @@ -1,31 +1,33 @@ {{#each numbers}}
- - {{formatPhoneNumber this.number}} + {{formatPhoneNumber this.number.id}}
- + {{#if this.number.extra.hasFeatures}} + + {{/if}}
{{#each this.features}} diff --git a/views/users-numbers.html b/views/users-numbers.html index 6cb3e7c..7fb8ab4 100644 --- a/views/users-numbers.html +++ b/views/users-numbers.html @@ -9,24 +9,26 @@
{{#compare this.used_by "!==" "mobile"}}
- + {{#if this.extra.hasFeatures}} + + {{/if}}
{{/compare}}
diff --git a/views/users-numbersItemRow.html b/views/users-numbersItemRow.html index 4d9fff7..221f347 100644 --- a/views/users-numbersItemRow.html +++ b/views/users-numbersItemRow.html @@ -1,24 +1,26 @@
- + {{#if number.extra.hasFeatures}} + + {{/if}}
{{#compare number.state '===' 'port_in'}}