diff --git a/submodules/devices/devices.js b/submodules/devices/devices.js index 191bca1..0647979 100644 --- a/submodules/devices/devices.js +++ b/submodules/devices/devices.js @@ -990,35 +990,27 @@ define(function(require){ } }, success: function(data) { - monster.pub('common.numbers.getListFeatures', function(viewFeatures) { - var e911Numbers = {}; - _.each(data.data.numbers, function(val, key) { - if(val.features.indexOf('e911') >= 0) { - e911Numbers[key] = self.devicesFormatNumber(val, viewFeatures); - } - }); + var e911Numbers = {}; - callback(e911Numbers); + _.each(data.data.numbers, function(val, key) { + if(val.features.indexOf('e911') >= 0) { + e911Numbers[key] = self.devicesFormatNumber(val); + } }); + + callback(e911Numbers); } }); }, - devicesFormatNumber: function(value, viewFeatures) { + devicesFormatNumber: function(value) { var self = this; - value.viewFeatures = $.extend(true, {}, viewFeatures); if('locality' in value) { value.isoCountry = value.locality.country || ''; value.friendlyLocality = 'city' in value.locality ? value.locality.city + ('state' in value.locality ? ', ' + value.locality.state : '') : ''; } - _.each(value.features, function(feature) { - if(feature in value.viewFeatures) { - value.viewFeatures[feature].active = 'active'; - } - }); - return value; }, diff --git a/submodules/groups/groups.css b/submodules/groups/groups.css index f7dcabf..98a0cd9 100644 --- a/submodules/groups/groups.css +++ b/submodules/groups/groups.css @@ -370,14 +370,6 @@ white-space:pre-wrap; } -#groups_container .list-wrapper .item-row .features > i { - display: none; -} - -#groups_container .list-wrapper .item-row .features > i.active { - display: inline-block; -} - #groups_container .list-wrapper .item-row .locality { display: none; border-left: 1px solid #CCC; diff --git a/submodules/groups/groups.js b/submodules/groups/groups.js index e61bdb2..8351603 100644 --- a/submodules/groups/groups.js +++ b/submodules/groups/groups.js @@ -445,10 +445,22 @@ define(function(require){ self.groupsGetNumbersData(groupId, function(data) { self.groupsFormatNumbersData(data, function(data) { - template = $(monster.template(self, 'groups-numbers', $.extend(true, {}, data, { - isCnamEnabled: monster.util.isNumberFeatureEnabled('cnam'), - isE911Enabled: monster.util.isNumberFeatureEnabled('e911') - }))); + template = $(monster.template(self, 'groups-numbers', data)); + + _.each(data.assignedNumbers, function(numberData, numberId) { + numberData.phoneNumber = numberId; + + var numberDiv = template.find('[data-id="' + numberId + '"]'), + argsFeatures = { + target: numberDiv.find('.edit-features'), + numberData: numberData, + afterUpdate: function(features) { + monster.ui.paintNumberFeaturesIcon(features, numberDiv.find('.features')); + } + }; + + monster.pub('common.numberFeaturesMenu.render', argsFeatures); + }); self.groupsBindNumbers(template, data); @@ -1063,83 +1075,6 @@ define(function(require){ } }); - if (monster.util.isNumberFeatureEnabled('e911')) { - template.on('click', '.e911-number', function() { - var e911Cell = $(this).parents('.item-row').first(), - phoneNumber = e911Cell.data('id'); - - if(phoneNumber) { - var args = { - phoneNumber: phoneNumber, - callbacks: { - success: function(data) { - if(!($.isEmptyObject(data.data.e911))) { - e911Cell.find('.features i.feature-e911').addClass('active'); - } - else { - e911Cell.find('.features i.feature-e911').removeClass('active'); - } - } - } - }; - - monster.pub('common.e911.renderPopup', args); - } - }); - } - - if (monster.util.isNumberFeatureEnabled('cnam')) { - template.on('click', '.callerId-number', function() { - var cnamCell = $(this).parents('.item-row').first(), - phoneNumber = cnamCell.data('id'); - - if(phoneNumber) { - var args = { - phoneNumber: phoneNumber, - callbacks: { - success: function(data) { - if('cnam' in data.data && data.data.cnam.display_name) { - cnamCell.find('.features i.feature-outbound_cnam').addClass('active'); - } else { - cnamCell.find('.features i.feature-outbound_cnam').removeClass('active'); - } - - if('cnam' in data.data && data.data.cnam.inbound_lookup) { - cnamCell.find('.features i.feature-inbound_cnam').addClass('active'); - } else { - cnamCell.find('.features i.feature-inbound_cnam').removeClass('active'); - } - } - } - }; - - monster.pub('common.callerId.renderPopup', args); - } - }); - } - - template.on('click', '.prepend-number', function() { - var prependCell = $(this).parents('.item-row').first(), - phoneNumber = prependCell.data('id'); - - if(phoneNumber) { - var args = { - phoneNumber: phoneNumber, - callbacks: { - success: function(data) { - if('prepend' in data.data && data.data.prepend.enabled) { - prependCell.find('.features i.feature-prepend').addClass('active'); - } else { - prependCell.find('.features i.feature-prepend').removeClass('active'); - } - } - } - }; - - monster.pub('common.numberPrepend.renderPopup', args); - } - }); - template.on('click', '.actions .spare-link:not(.disabled)', function(e) { e.preventDefault(); @@ -1155,16 +1090,23 @@ define(function(require){ template.find('.empty-row').hide(); _.each(numberList, function(val, idx) { - val.isLocal = val.features.indexOf('local') > -1; - template .find('.list-assigned-items') .append($(monster.template(self, 'groups-numbersItemRow', { - isCnamEnabled: monster.util.isNumberFeatureEnabled('cnam'), - isE911Enabled: monster.util.isNumberFeatureEnabled('e911'), number: val }))); + var numberDiv = template.find('[data-id="'+val.phoneNumber+'"]'), + args = { + target: numberDiv.find('.edit-features'), + numberData: val, + afterUpdate: function(features) { + monster.ui.paintNumberFeaturesIcon(features, numberDiv.find('.features')); + } + }; + + monster.pub('common.numberFeaturesMenu.render', args); + extraSpareNumbers = _.without(extraSpareNumbers, val.phoneNumber); }); @@ -1186,23 +1128,26 @@ define(function(require){ searchType: $(this).data('type'), callbacks: { success: function(numbers) { - monster.pub('common.numbers.getListFeatures', function(features) { - _.each(numbers, function(number, k) { - 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; + _.each(numbers, function(number, k) { + number.phoneNumber = number.id; - var rowTemplate = $(monster.template(self, 'groups-numbersItemRow', { + var rowTemplate = $(monster.template(self, 'groups-numbersItemRow', { number: number - })); + })), + argsFeatures = { + target: rowTemplate.find('.edit-features'), + numberData: number, + afterUpdate: function(features) { + monster.ui.paintNumberFeaturesIcon(features, rowTemplate.find('.features')); + } + }; - monster.ui.tooltips(rowTemplate); + monster.pub('common.numberFeaturesMenu.render', argsFeatures); - template.find('.list-unassigned-items .empty-row').hide(); - template.find('.list-unassigned-items').append(rowTemplate); - }); + monster.ui.tooltips(rowTemplate); + + template.find('.list-unassigned-items .empty-row').hide(); + template.find('.list-unassigned-items').append(rowTemplate); }); } } @@ -1481,45 +1426,32 @@ define(function(require){ unassignedNumbers: {} }; - monster.pub('common.numbers.getListFeatures', function(features) { - _.each(data.numbers.numbers, function(number, id) { - /* Formating number */ - number.viewFeatures = $.extend(true, {}, features); - /* TODO: Once locality is enabled, we need to remove it */ - number.localityEnabled = 'locality' in number ? true : false; - - _.each(number.features, function(feature) { - if(feature in number.viewFeatures) { - number.viewFeatures[feature].active = 'active'; - } - }); + _.each(data.numbers.numbers, function(number, id) { + /* TODO: Once locality is enabled, we need to remove it */ + number.localityEnabled = 'locality' in number ? true : false; - 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++; + } + }); - if(!number.hasOwnProperty('used_by') || number.used_by === '') { - response.unassignedNumbers[id] = number; - response.countSpare++; + if('groupCallflow' in data.callflow && 'numbers' in data.callflow.groupCallflow) { + _.each(data.callflow.groupCallflow.numbers, function(number) { + if(!(number in data.numbers.numbers)) { + response.extensions.push(number); + } + else { + data.numbers.numbers[number].isLocal = data.numbers.numbers[number].features.indexOf('local') > -1; + response.assignedNumbers[number] = data.numbers.numbers[number]; } }); + } + response.emptyExtensions = _.isEmpty(response.extensions); + response.emptyAssigned = _.isEmpty(response.assignedNumbers); + response.emptySpare = _.isEmpty(response.unassignedNumbers); - if('groupCallflow' in data.callflow && 'numbers' in data.callflow.groupCallflow) { - _.each(data.callflow.groupCallflow.numbers, function(number) { - if(!(number in data.numbers.numbers)) { - response.extensions.push(number); - } - else { - data.numbers.numbers[number].isLocal = data.numbers.numbers[number].features.indexOf('local') > -1; - response.assignedNumbers[number] = data.numbers.numbers[number]; - } - }); - } - response.emptyExtensions = _.isEmpty(response.extensions); - response.emptyAssigned = _.isEmpty(response.assignedNumbers); - response.emptySpare = _.isEmpty(response.unassignedNumbers); - - callback && callback(response); - }); + callback && callback(response); }, groupsGetNumbersData: function(groupId, callback) { diff --git a/submodules/myOffice/myOffice.css b/submodules/myOffice/myOffice.css index df9d213..ffabc25 100644 --- a/submodules/myOffice/myOffice.css +++ b/submodules/myOffice/myOffice.css @@ -246,31 +246,13 @@ color: #22a5ff; } #myoffice_container .dashboard-right-content .dashboard-box .dashboard-box-row .row-content .number-list .features > i { - display: none; cursor: inherit; } -#myoffice_container .dashboard-right-content .dashboard-box .dashboard-box-row .row-content .number-list .features > i.active { - display: inline-block; -} #myoffice_container .dashboard-right-content .dashboard-box .dashboard-box-row .row-content .number-list .number-div { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } -/*#myoffice_container .dashboard-right-content .dashboard-box .dashboard-box-row.e911-row > div { - line-height: 20px; -} -#myoffice_container .dashboard-right-content .dashboard-box .dashboard-box-row.e911-row .row-title .line1 { - font-size: 24px; - line-height: 24px; -} -#myoffice_container .dashboard-right-content .dashboard-box .dashboard-box-row.e911-row .row-title .line2 { - line-height: 16px; -} -#myoffice_container .dashboard-right-content .dashboard-box .dashboard-box-row.e911-row .row-content { - text-transform: uppercase; - font-size: 12px; -}*/ #myoffice_container .dashboard-right-content .dashboard-box .dashboard-box-row.account-info-box > div { height: 20px; line-height: 20px; diff --git a/submodules/myOffice/myOffice.js b/submodules/myOffice/myOffice.js index e89fb76..51de51b 100644 --- a/submodules/myOffice/myOffice.js +++ b/submodules/myOffice/myOffice.js @@ -283,11 +283,6 @@ define(function(require){ } }); }, - numberFeatures: function(callback) { - monster.pub('common.numbers.getListFeatures', function(features) { - callback(null, features); - }); - }, channels: function(parallelCallback) { self.callApi({ resource: 'channel.list', @@ -534,13 +529,10 @@ define(function(require){ _.each(val.numbers, function(num) { if(num !== '0' && num !== 'undefined' && num !== 'undefinedconf' && num !== 'undefinedfaxing') { var number = { - number: num, - features: $.extend(true, {}, data.numberFeatures) + number: num }; if(num in data.numbers) { - _.each(data.numbers[num].features, function(feature) { - number.features[feature] = $.extend(true, number.features[feature], { active : 'active'}); - }); + number.features = data.numbers[num].features; } data[numberArrayName].push(number); } diff --git a/submodules/strategy/strategy.css b/submodules/strategy/strategy.css index 9b81219..018bd22 100644 --- a/submodules/strategy/strategy.css +++ b/submodules/strategy/strategy.css @@ -134,9 +134,6 @@ #strategy_container .element-container .number-element .features-block .features { margin-right: 45px; } -#strategy_container .element-container .number-element .features-block .features > i { - display: none; -} #strategy_container .element-container .number-element .features-block .features > i.active { display: inline-block; diff --git a/submodules/strategy/strategy.js b/submodules/strategy/strategy.js index bc56276..ef0b268 100644 --- a/submodules/strategy/strategy.js +++ b/submodules/strategy/strategy.js @@ -181,11 +181,6 @@ define(function(require){ callback(null, voicemailBoxes); }); }, - numberFeatures: function(callback) { - monster.pub('common.numbers.getListFeatures', function(features) { - callback(null, features); - }); - }, directories: function (callback) { self.strategyListDirectories(function (directories) { callback(null, directories); @@ -396,20 +391,13 @@ define(function(require){ var ret = { number: { id: val - }, - features: $.extend(true, {}, strategyData.numberFeatures) + } }; if(accountNumbers.hasOwnProperty(val)) { - _.each(accountNumbers[val].features, function(feature) { - ret.features[feature].active = 'active'; - }); 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; } }), @@ -417,6 +405,21 @@ define(function(require){ }, template = $(monster.template(self, 'strategy-'+templateName, templateData)); + _.each(templateData.numbers, function(data) { + data.number.phoneNumber = data.number.id; + + var numberDiv = template.find('[data-phonenumber="'+data.number.id+'"]'), + args = { + target: numberDiv.find('.edit-features'), + numberData: data.number, + afterUpdate: function(features) { + monster.ui.paintNumberFeaturesIcon(features, numberDiv.find('.features')); + } + }; + + monster.pub('common.numberFeaturesMenu.render', args); + }); + monster.ui.tooltips(template); container.find('.element-content').empty() @@ -869,83 +872,6 @@ define(function(require){ }); } }); - - if (monster.util.isNumberFeatureEnabled('cnam')) { - container.on('click', '.number-element .callerId-number', function() { - var cnamCell = $(this).parents('.number-element').first(), - phoneNumber = cnamCell.find('.remove-number').data('number'); - - if(phoneNumber) { - var args = { - phoneNumber: phoneNumber, - callbacks: { - success: function(data) { - if('cnam' in data.data && data.data.cnam.display_name) { - cnamCell.find('.features i.feature-outbound_cnam').addClass('active'); - } else { - cnamCell.find('.features i.feature-outbound_cnam').removeClass('active'); - } - - if('cnam' in data.data && data.data.cnam.inbound_lookup) { - cnamCell.find('.features i.feature-inbound_cnam').addClass('active'); - } else { - cnamCell.find('.features i.feature-inbound_cnam').removeClass('active'); - } - } - } - }; - - monster.pub('common.callerId.renderPopup', args); - } - }); - } - - if (monster.util.isNumberFeatureEnabled('e911')) { - container.on('click', '.number-element .e911-number', function() { - var e911Cell = $(this).parents('.number-element').first(), - phoneNumber = e911Cell.find('.remove-number').data('number'); - - if(phoneNumber) { - var args = { - phoneNumber: phoneNumber, - callbacks: { - success: function(data) { - if(!($.isEmptyObject(data.data.e911))) { - e911Cell.find('.features i.feature-e911').addClass('active'); - } - else { - e911Cell.find('.features i.feature-e911').removeClass('active'); - } - } - } - }; - - monster.pub('common.e911.renderPopup', args); - } - }); - } - - container.on('click', '.number-element .prepend-number', function() { - var prependCell = $(this).parents('.number-element').first(), - phoneNumber = prependCell.find('.remove-number').data('number'); - - if(phoneNumber) { - var args = { - phoneNumber: phoneNumber, - callbacks: { - success: function(data) { - if('prepend' in data.data && data.data.prepend.enabled) { - prependCell.find('.features i.feature-prepend').addClass('active'); - } else { - prependCell.find('.features i.feature-prepend').removeClass('active'); - } - } - } - }; - - monster.pub('common.numberPrepend.renderPopup', args); - } - }); }, strategyConfNumBindEvents: function(container, strategyData) { @@ -2277,25 +2203,6 @@ define(function(require){ } }); - // container.on('click', '.number-text', function(e) { - // var $this = $(this); - // $this.parents('.menu-line').addClass('editing'); - // $this.siblings('.number-input').focus(); - // }); - - // container.on('blur', '.number-input', function(e) { - // var $this = $(this); - // $this.parents('.menu-line').removeClass('editing'); - // $this.siblings('.number-text').text($this.val() || "?"); - // }); - - // container.on('keyup', '.number-input', function(e) { - // var $this = $(this); - // if(!/^[0-9#*]*$/.test($this.val())) { - // $this.val($this.val().replace(/[^0-9#*]/g, "")); - // } - // }); - container.on('change', '.target-select', function(e) { var $this = $(this), iconElem = $this.parents('.target-input').find('.target-icon'), diff --git a/submodules/users/fixtures/resendInstructions.json b/submodules/users/fixtures/resendInstructions.json deleted file mode 100644 index 2c63c08..0000000 --- a/submodules/users/fixtures/resendInstructions.json +++ /dev/null @@ -1,2 +0,0 @@ -{ -} diff --git a/submodules/users/fixtures/resetPassword.json b/submodules/users/fixtures/resetPassword.json deleted file mode 100644 index 2c63c08..0000000 --- a/submodules/users/fixtures/resetPassword.json +++ /dev/null @@ -1,2 +0,0 @@ -{ -} diff --git a/submodules/users/users.css b/submodules/users/users.css index cfdb99e..c549f3a 100644 --- a/submodules/users/users.css +++ b/submodules/users/users.css @@ -443,14 +443,6 @@ white-space:pre-wrap; } -#users_container .detail-numbers .list-wrapper .item-row .features > i { - display: none; -} - -#users_container .detail-numbers .list-wrapper .item-row .features > i.active { - display: inline-block; -} - #users_container .detail-numbers .list-wrapper .item-row .locality { display: none; border-left: 1px solid #CCC; diff --git a/submodules/users/users.js b/submodules/users/users.js index e662ee8..3666edb 100644 --- a/submodules/users/users.js +++ b/submodules/users/users.js @@ -1116,14 +1116,23 @@ define(function(require){ template.find('.empty-row').hide(); _.each(numberList, function(val, idx) { - val.isLocal = val.features.indexOf('local') > -1; - template .find('.list-assigned-items') .append($(monster.template(self, 'users-numbersItemRow', { number: val }))); + var numberDiv = template.find('[data-id="'+val.phoneNumber+'"]'), + args = { + target: numberDiv.find('.edit-features'), + numberData: val, + afterUpdate: function(features) { + monster.ui.paintNumberFeaturesIcon(features, numberDiv.find('.features')); + } + }; + + monster.pub('common.numberFeaturesMenu.render', args); + extraSpareNumbers = _.without(extraSpareNumbers, val.phoneNumber); }); @@ -1145,23 +1154,26 @@ define(function(require){ searchType: $(this).data('type'), callbacks: { success: function(numbers) { - monster.pub('common.numbers.getListFeatures', function(features) { - _.each(numbers, function(number, k) { - 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; + _.each(numbers, function(number, k) { + number.phoneNumber = number.id; - var rowTemplate = $(monster.template(self, 'users-numbersItemRow', { + var rowTemplate = $(monster.template(self, 'users-numbersItemRow', { number: number - })); + })), + argsFeatures = { + target: rowTemplate.find('.edit-features'), + numberData: number, + afterUpdate: function(features) { + monster.ui.paintNumberFeaturesIcon(features, rowTemplate.find('.features')); + } + }; - monster.ui.tooltips(rowTemplate); + monster.pub('common.numberFeaturesMenu.render', argsFeatures); - template.find('.list-assigned-items .empty-row').hide(); - template.find('.list-assigned-items').append(rowTemplate); - }); + monster.ui.tooltips(rowTemplate); + + template.find('.list-assigned-items .empty-row').hide(); + template.find('.list-assigned-items').append(rowTemplate); }); } } @@ -1214,83 +1226,6 @@ define(function(require){ } }); - if (monster.util.isNumberFeatureEnabled('cnam')) { - template.on('click', '.callerId-number', function() { - var cnamCell = $(this).parents('.item-row').first(), - phoneNumber = cnamCell.data('id'); - - if(phoneNumber) { - var args = { - phoneNumber: phoneNumber, - callbacks: { - success: function(data) { - if('cnam' in data.data && data.data.cnam.display_name) { - cnamCell.find('.features i.feature-outbound_cnam').addClass('active'); - } else { - cnamCell.find('.features i.feature-outbound_cnam').removeClass('active'); - } - - if('cnam' in data.data && data.data.cnam.inbound_lookup) { - cnamCell.find('.features i.feature-inbound_cnam').addClass('active'); - } else { - cnamCell.find('.features i.feature-inbound_cnam').removeClass('active'); - } - } - } - }; - - monster.pub('common.callerId.renderPopup', args); - } - }); - } - - if (monster.util.isNumberFeatureEnabled('e911')) { - template.on('click', '.e911-number', function() { - var e911Cell = $(this).parents('.item-row').first(), - phoneNumber = e911Cell.data('id'); - - if(phoneNumber) { - var args = { - phoneNumber: phoneNumber, - callbacks: { - success: function(data) { - if(!($.isEmptyObject(data.data.e911))) { - e911Cell.find('.features i.feature-e911').addClass('active'); - } - else { - e911Cell.find('.features i.feature-e911').removeClass('active'); - } - } - } - }; - - monster.pub('common.e911.renderPopup', args); - } - }); - } - - template.on('click', '.prepend-number', function() { - var prependCell = $(this).parents('.item-row').first(), - phoneNumber = prependCell.data('id'); - - if(phoneNumber) { - var args = { - phoneNumber: phoneNumber, - callbacks: { - success: function(data) { - if('prepend' in data.data && data.data.prepend.enabled) { - prependCell.find('.features i.feature-prepend').addClass('active'); - } else { - prependCell.find('.features i.feature-prepend').removeClass('active'); - } - } - } - }; - - monster.pub('common.numberPrepend.renderPopup', args); - } - }); - template.on('click', '.feature[data-feature="caller_id"]', function() { self.usersRenderCallerId(currentUser); }); @@ -2730,6 +2665,19 @@ define(function(require){ self.usersFormatNumbersData(userId, results, function(results) { template = $(monster.template(self, 'users-numbers', results)); + _.each(results.assignedNumbers, function(number) { + var numberDiv = template.find('[data-id="' + number.phoneNumber + '"]'), + argsFeatures = { + target: numberDiv.find('.edit-features'), + numberData: number, + afterUpdate: function(features) { + monster.ui.paintNumberFeaturesIcon(features, numberDiv.find('.features')); + } + }; + + monster.pub('common.numberFeaturesMenu.render', argsFeatures); + }); + callback && callback(template, results); }); }, true); @@ -2808,83 +2756,70 @@ define(function(require){ }); } - monster.pub('common.numbers.getListFeatures', function(features) { - if('numbers' in data.numbers) { - _.each(data.numbers.numbers, function(number, k) { - /* Formating number */ - number.viewFeatures = $.extend(true, {}, features); - /* TODO: Once locality is enabled, we need to remove it */ - number.localityEnabled = 'locality' in number ? true : false; - - _.each(number.features, function(feature) { - if(feature in number.viewFeatures) { - number.viewFeatures[feature].active = 'active'; - } - }); - - monster.util.populateBooleansNumberFeatures(number); - number.extra.hasFeatures = number.extra.hasE911 || number.extra.hasPrepend || number.extra.hasCnam; + if('numbers' in data.numbers) { + _.each(data.numbers.numbers, function(number, k) { + /* TODO: Once locality is enabled, we need to remove it */ + number.localityEnabled = 'locality' in number ? true : false; - /* Adding to spare numbers */ - if(!number.hasOwnProperty('used_by') || number.used_by === '') { - response.countSpare++; - response.unassignedNumbers[k] = number; - } - else if (number.used_by === 'mobile') { - response.assignedNumbers.push(number); - } - }); - } + /* Adding to spare numbers */ + if(!number.hasOwnProperty('used_by') || number.used_by === '') { + response.countSpare++; + response.unassignedNumbers[k] = number; + } + else if (number.used_by === 'mobile') { + response.assignedNumbers.push(number); + } + }); + } - if(response.callflow) { - /* If a number is in a callflow and is returned by the phone_numbers, add it to the assigned numbers */ - _.each(response.callflow.numbers, function(number) { - if(number in data.numbers.numbers) { - var numberElement = data.numbers.numbers[number]; - numberElement.phoneNumber = number; - numberElement.isLocal = numberElement.features.indexOf('local') > -1; + if(response.callflow) { + /* If a number is in a callflow and is returned by the phone_numbers, add it to the assigned numbers */ + _.each(response.callflow.numbers, function(number) { + if(number in data.numbers.numbers) { + var numberElement = data.numbers.numbers[number]; + numberElement.phoneNumber = number; + numberElement.isLocal = numberElement.features.indexOf('local') > -1; - response.assignedNumbers.push(numberElement); - } - else { - response.extensions.push(number); - } - }); - } + response.assignedNumbers.push(numberElement); + } + else { + response.extensions.push(number); + } + }); + } - response.assignedNumbers = monster.util.sort(response.assignedNumbers, 'phoneNumber'); + response.assignedNumbers = monster.util.sort(response.assignedNumbers, 'phoneNumber'); - /* List of extensions */ - response.allExtensions = []; + /* List of extensions */ + response.allExtensions = []; - _.each(data.callflow.list, function(callflow) { - _.each(callflow.numbers, function(number) { - /* If it's a valid extension number (ie: a number that's not in the number database) */ - if(!(number in data.numbers.numbers) && !(_.isNaN(parseInt(number)))) { - response.allExtensions.push(number); - } - }); + _.each(data.callflow.list, function(callflow) { + _.each(callflow.numbers, function(number) { + /* If it's a valid extension number (ie: a number that's not in the number database) */ + if(!(number in data.numbers.numbers) && !(_.isNaN(parseInt(number)))) { + response.allExtensions.push(number); + } }); + }); - /* Sort extensions so that we can recommend an available extension to a user whom would add a new one */ - response.allExtensions.sort(function(a, b) { - var parsedA = parseInt(a), - parsedB = parseInt(b), - result = -1; + /* Sort extensions so that we can recommend an available extension to a user whom would add a new one */ + response.allExtensions.sort(function(a, b) { + var parsedA = parseInt(a), + parsedB = parseInt(b), + result = -1; - if(parsedA > 0 && parsedB > 0) { - result = parsedA > parsedB; - } + if(parsedA > 0 && parsedB > 0) { + result = parsedA > parsedB; + } - return result; - }); + return result; + }); - response.emptyAssigned = _.isEmpty(response.assignedNumbers); - response.emptySpare = _.isEmpty(response.unassignedNumbers); - response.emptyExtensions = _.isEmpty(response.extensions); + response.emptyAssigned = _.isEmpty(response.assignedNumbers); + response.emptySpare = _.isEmpty(response.unassignedNumbers); + response.emptyExtensions = _.isEmpty(response.extensions); - callback && callback(response); - }); + callback && callback(response); }, usersFormatCreationData: function(data, callback) { diff --git a/views/groups-numbers.html b/views/groups-numbers.html index 97889c7..8801cc1 100644 --- a/views/groups-numbers.html +++ b/views/groups-numbers.html @@ -7,35 +7,12 @@ {{#each assignedNumbers}}
-
- {{#if this.extra.hasFeatures}} - - {{/if}} -
+
- {{#compare this.state '===' 'port_in'}} - - {{/compare}} - {{#each viewFeatures}} - - {{/each}} + {{#numberFeatures this.features}}{{/numberFeatures}} + {{#compare state '===' 'port_in'}} + + {{/compare}}
diff --git a/views/groups-numbersItemRow.html b/views/groups-numbersItemRow.html index 221f347..966d84e 100644 --- a/views/groups-numbersItemRow.html +++ b/views/groups-numbersItemRow.html @@ -1,34 +1,12 @@
-
- {{#if number.extra.hasFeatures}} - - {{/if}} -
+
+
- {{#compare number.state '===' 'port_in'}} + {{#numberFeatures number.features}}{{/numberFeatures}} + {{#compare number.state '===' 'port_in'}} - {{/compare}} - {{#each number.viewFeatures}} - - {{/each}} + {{/compare}}
diff --git a/views/myOffice-layout.html b/views/myOffice-layout.html index 52b1c5a..bd25a92 100644 --- a/views/myOffice-layout.html +++ b/views/myOffice-layout.html @@ -87,9 +87,7 @@ {{#each mainNumbers}}
- {{#each this.features}} - - {{/each}} + {{#numberFeatures this.features}}{{/numberFeatures}}
{{formatPhoneNumber this.number}}
@@ -113,9 +111,7 @@ {{#each confNumbers}}
  • - {{#each this.features}} - - {{/each}} + {{#numberFeatures this.features}}{{/numberFeatures}}
    {{formatPhoneNumber number}}
  • @@ -134,9 +130,7 @@ {{#each faxingNumbers}}
  • - {{#each this.features}} - - {{/each}} + {{#numberFeatures this.features}}{{/numberFeatures}}
    {{formatPhoneNumber number}}
  • diff --git a/views/strategy-numbers.html b/views/strategy-numbers.html index 6f24ed5..cc289c3 100644 --- a/views/strategy-numbers.html +++ b/views/strategy-numbers.html @@ -1,59 +1,39 @@ -{{#each numbers}} -
    -
    - - {{formatPhoneNumber this.number.id}} -
    -
    -
    - {{#if this.number.extra.hasFeatures}} -