From 7a2247ed6122c4de253b93d253eb5ef272a58e59 Mon Sep 17 00:00:00 2001 From: Joris Tirado Date: Mon, 2 Nov 2015 11:32:04 -0800 Subject: [PATCH 1/6] UI-1855: On the dashboard, hide e911 related actions when the feature is disabled on the account --- submodules/myOffice/myOffice.js | 104 ++++++++++++++++++------------ views/myOffice-callerIdPopup.html | 2 + 2 files changed, 65 insertions(+), 41 deletions(-) diff --git a/submodules/myOffice/myOffice.js b/submodules/myOffice/myOffice.js index 114e659..d820525 100644 --- a/submodules/myOffice/myOffice.js +++ b/submodules/myOffice/myOffice.js @@ -523,11 +523,12 @@ define(function(require){ if(channelsArray.indexOf(val.bridge_id) < 0) { channelsArray.push(val.bridge_id); } - }) + }); if( data.mainNumbers && data.mainNumbers.length > 0 + && monster.util.isNumberFeatureEnabled('e911') && ( !('caller_id' in data.account) || !('emergency' in data.account.caller_id) @@ -539,7 +540,7 @@ define(function(require){ data.topMessage = { class: 'btn-danger', message: self.i18n.active().myOffice.missingE911Message - } + }; } data.totalChannels = channelsArray.length; @@ -754,35 +755,40 @@ define(function(require){ var self = this, parent = args.parent, myOfficeData = args.myOfficeData, + isE911Enabled = monster.util.isNumberFeatureEnabled('e911'), templateData = { + isE911Enabled: isE911Enabled, mainNumbers: myOfficeData.mainNumbers, selectedMainNumber: 'caller_id' in myOfficeData.account && 'external' in myOfficeData.account.caller_id ? myOfficeData.account.caller_id.external.number || 'none' : 'none' }, popupTemplate = $(monster.template(self, 'myOffice-callerIdPopup', templateData)), - e911Form = popupTemplate.find('.emergency-form > form'), popup = monster.ui.dialog(popupTemplate, { title: self.i18n.active().myOffice.callerId.title, position: ['center', 20] }); - monster.ui.validate(e911Form, { - messages: { - 'postal_code': { - required: '*' - }, - 'street_address': { - required: '*' - }, - 'locality': { - required: '*' - }, - 'region': { - required: '*' + if (isE911Enabled) { + var e911Form = popupTemplate.find('.emergency-form > form'); + + monster.ui.validate(e911Form, { + messages: { + 'postal_code': { + required: '*' + }, + 'street_address': { + required: '*' + }, + 'locality': { + required: '*' + }, + 'region': { + required: '*' + } } - } - }); + }); - monster.ui.valid(e911Form); + monster.ui.valid(e911Form); + } self.myOfficeCallerIdPopupBindEvents({ parent: parent, @@ -814,18 +820,20 @@ define(function(require){ callerIdNameInput.val(""); } - if("dash_e911" in numberData) { - emergencyZipcodeInput.val(numberData.dash_e911.postal_code); - emergencyAddress1Input.val(numberData.dash_e911.street_address); - emergencyAddress2Input.val(numberData.dash_e911.extended_address); - emergencyCityInput.val(numberData.dash_e911.locality); - emergencyStateInput.val(numberData.dash_e911.region); - } else { - emergencyZipcodeInput.val(""); - emergencyAddress1Input.val(""); - emergencyAddress2Input.val(""); - emergencyCityInput.val(""); - emergencyStateInput.val(""); + if (monster.util.isNumberFeatureEnabled('e911')) { + if("dash_e911" in numberData) { + emergencyZipcodeInput.val(numberData.dash_e911.postal_code); + emergencyAddress1Input.val(numberData.dash_e911.street_address); + emergencyAddress2Input.val(numberData.dash_e911.extended_address); + emergencyCityInput.val(numberData.dash_e911.locality); + emergencyStateInput.val(numberData.dash_e911.region); + } else { + emergencyZipcodeInput.val(""); + emergencyAddress1Input.val(""); + emergencyAddress2Input.val(""); + emergencyCityInput.val(""); + emergencyStateInput.val(""); + } } }); } @@ -860,7 +868,6 @@ define(function(require){ popupTemplate.find('.save').on('click', function() { var callerIdNumber = callerIdNumberSelect.val(), - e911Form = popupTemplate.find('.emergency-form > form'), updateAccount = function() { self.myOfficeUpdateAccount(account, function(updatedAccount) { popup.dialog('close').remove(); @@ -868,9 +875,8 @@ define(function(require){ parent: parent }); }); - }; - if(callerIdNumber) { - if(monster.ui.valid(e911Form)) { + }, + setCallerId = function () { var callerIdName = callerIdNameInput.val(); account.caller_id = $.extend(true, {}, account.caller_id, { @@ -889,16 +895,32 @@ define(function(require){ delete numberData.cnam; } - $.extend(true, numberData, { - dash_e911: monster.ui.getFormData(e911Form[0]) - }); - self.myOfficeUpdateNumber(numberData, function(data) { updateAccount(); }); }); - } else { - monster.ui.alert(self.i18n.active().myOffice.callerId.mandatoryE911Alert); + }, + e911Form; + + if (monster.util.isNumberFeatureEnabled('e911')) { + e911Form = popupTemplate.find('.emergency-form > form'); + } + + if(callerIdNumber) { + if (monster.util.isNumberFeatureEnabled('e911')) { + if (monster.ui.valid(e911Form)) { + $.extend(true, numberData, { + dash_e911: monster.ui.getFormData(e911Form[0]) + }); + + setCallerId(); + } + else { + monster.ui.alert(self.i18n.active().myOffice.callerId.mandatoryE911Alert); + } + } + else { + setCallerId(); } } else { delete account.caller_id.external; diff --git a/views/myOffice-callerIdPopup.html b/views/myOffice-callerIdPopup.html index 86673a4..c05d647 100644 --- a/views/myOffice-callerIdPopup.html +++ b/views/myOffice-callerIdPopup.html @@ -33,6 +33,7 @@ {{/monsterText}} + {{#if isE911Enabled}}
{{ i18n.myOffice.callerId.emergencyLabel }}
@@ -67,6 +68,7 @@

{{ i18n.myOffice.callerId.emergencyHelp2 }}

{{/monsterText}}
+ {{/if}}
From 4ddb82b33429c1e8e05d9ca3c3e0553f82dcd281 Mon Sep 17 00:00:00 2001 From: Joris Tirado Date: Mon, 2 Nov 2015 13:26:04 -0800 Subject: [PATCH 2/6] UI-1855: On Users management, hide e911 feature when disabled on the account --- submodules/users/users.js | 52 ++++++++++++++++++++------------- views/users-numbers.html | 4 ++- views/users-numbersItemRow.html | 4 ++- 3 files changed, 37 insertions(+), 23 deletions(-) diff --git a/submodules/users/users.js b/submodules/users/users.js index 19fcc5a..e1e52a0 100644 --- a/submodules/users/users.js +++ b/submodules/users/users.js @@ -1053,7 +1053,10 @@ define(function(require){ template .find('.list-assigned-items') - .append($(monster.template(self, 'users-numbersItemRow', { number: val }))); + .append($(monster.template(self, 'users-numbersItemRow', { + isE911Enabled: monster.util.isNumberFeatureEnabled('e911'), + number: val + }))); extraSpareNumbers = _.without(extraSpareNumbers, val.phoneNumber); }); @@ -1080,7 +1083,10 @@ define(function(require){ number.viewFeatures = $.extend(true, {}, features); number.phoneNumber = number.id; - var rowTemplate = monster.template(self, 'users-numbersItemRow', { number: number }); + var rowTemplate = monster.template(self, 'users-numbersItemRow', { + isE911Enabled: monster.util.isNumberFeatureEnabled('e911'), + number: number + }); monster.ui.tooltips(rowTemplate); @@ -1164,28 +1170,30 @@ define(function(require){ } }); - template.on('click', '.e911-number', function() { - var e911Cell = $(this).parents('.item-row').first(), - phoneNumber = e911Cell.data('id'); + 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.dash_e911))) { - e911Cell.find('.features i.feature-dash_e911').addClass('active'); - } - else { - e911Cell.find('.features i.feature-dash_e911').removeClass('active'); + if(phoneNumber) { + var args = { + phoneNumber: phoneNumber, + callbacks: { + success: function(data) { + if(!($.isEmptyObject(data.data.dash_e911))) { + e911Cell.find('.features i.feature-dash_e911').addClass('active'); + } + else { + e911Cell.find('.features i.feature-dash_e911').removeClass('active'); + } } } - } - }; + }; - monster.pub('common.e911.renderPopup', args); - } - }); + monster.pub('common.e911.renderPopup', args); + } + }); + } template.on('click', '.prepend-number', function() { var prependCell = $(this).parents('.item-row').first(), @@ -2608,7 +2616,9 @@ define(function(require){ self.usersGetNumbersData(userId, function(results) { self.usersFormatNumbersData(userId, results, function(results) { - template = $(monster.template(self, 'users-numbers', results)); + template = $(monster.template(self, 'users-numbers', $.extend(true, {}, results, { + isE911Enabled: monster.util.isNumberFeatureEnabled('e911') + }))); callback && callback(template, results); }); diff --git a/views/users-numbers.html b/views/users-numbers.html index 4fd69bf..0e02f27 100644 --- a/views/users-numbers.html +++ b/views/users-numbers.html @@ -15,7 +15,9 @@ diff --git a/views/users-numbersItemRow.html b/views/users-numbersItemRow.html index be3c9b4..de882b1 100644 --- a/views/users-numbersItemRow.html +++ b/views/users-numbersItemRow.html @@ -8,7 +8,9 @@ From 8fb3e7b1b937d9f779e6b329c96b7e88bb5f09ba Mon Sep 17 00:00:00 2001 From: Joris Tirado Date: Mon, 2 Nov 2015 13:26:47 -0800 Subject: [PATCH 3/6] UI-1855: On Groups management, hide e911 feature when disabled on the account --- submodules/groups/groups.js | 52 +++++++++++++++++++------------- views/groups-numbers.html | 4 ++- views/groups-numbersItemRow.html | 4 ++- 3 files changed, 37 insertions(+), 23 deletions(-) diff --git a/submodules/groups/groups.js b/submodules/groups/groups.js index f9049f3..68c1a4b 100644 --- a/submodules/groups/groups.js +++ b/submodules/groups/groups.js @@ -426,7 +426,9 @@ define(function(require){ self.groupsGetNumbersData(groupId, function(data) { self.groupsFormatNumbersData(data, function(data) { - template = $(monster.template(self, 'groups-numbers', data)); + template = $(monster.template(self, 'groups-numbers', $.extend(true, {}, data, { + isE911Enabled: monster.util.isNumberFeatureEnabled('e911') + }))); self.groupsBindNumbers(template, data); @@ -1038,28 +1040,30 @@ define(function(require){ } }); - template.on('click', '.e911-number', function() { - var e911Cell = $(this).parents('.item-row').first(), - phoneNumber = e911Cell.data('id'); + 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.dash_e911))) { - e911Cell.find('.features i.feature-dash_e911').addClass('active'); - } - else { - e911Cell.find('.features i.feature-dash_e911').removeClass('active'); + if(phoneNumber) { + var args = { + phoneNumber: phoneNumber, + callbacks: { + success: function(data) { + if(!($.isEmptyObject(data.data.dash_e911))) { + e911Cell.find('.features i.feature-dash_e911').addClass('active'); + } + else { + e911Cell.find('.features i.feature-dash_e911').removeClass('active'); + } } } - } - }; + }; - monster.pub('common.e911.renderPopup', args); - } - }); + monster.pub('common.e911.renderPopup', args); + } + }); + } template.on('click', '.callerId-number', function() { var cnamCell = $(this).parents('.item-row').first(), @@ -1130,7 +1134,10 @@ define(function(require){ template .find('.list-assigned-items') - .append($(monster.template(self, 'groups-numbersItemRow', { number: val }))); + .append($(monster.template(self, 'groups-numbersItemRow', { + isE911Enabled: monster.util.isNumberFeatureEnabled('e911'), + number: val + }))); extraSpareNumbers = _.without(extraSpareNumbers, val.phoneNumber); }); @@ -1159,7 +1166,10 @@ define(function(require){ number.viewFeatures = $.extend(true, {}, features); number.phoneNumber = number.id; - var rowTemplate = monster.template(self, 'groups-numbersItemRow', { number: number }); + var rowTemplate = monster.template(self, 'groups-numbersItemRow', { + isE911Enabled: monster.util.isNumberFeatureEnabled('e911'), + number: number + }); monster.ui.tooltips(rowTemplate); diff --git a/views/groups-numbers.html b/views/groups-numbers.html index f482fe5..1a2ab64 100644 --- a/views/groups-numbers.html +++ b/views/groups-numbers.html @@ -15,7 +15,9 @@ diff --git a/views/groups-numbersItemRow.html b/views/groups-numbersItemRow.html index be3c9b4..de882b1 100644 --- a/views/groups-numbersItemRow.html +++ b/views/groups-numbersItemRow.html @@ -8,7 +8,9 @@ From 5804a02a1df060ce32d548cfc5e28fd5dc84eecf Mon Sep 17 00:00:00 2001 From: Joris Tirado Date: Mon, 2 Nov 2015 13:27:20 -0800 Subject: [PATCH 4/6] UI-1855: On Devices management, hide e911 related actions when the feature is disabled on the account --- submodules/devices/devices.js | 4 ++- views/devices-ata.html | 36 +++++++++++++++------------ views/devices-fax.html | 36 +++++++++++++++------------ views/devices-mobile.html | 36 +++++++++++++++------------ views/devices-sip_device.html | 46 +++++++++++++++++++---------------- views/devices-softphone.html | 46 +++++++++++++++++++---------------- 6 files changed, 113 insertions(+), 91 deletions(-) diff --git a/submodules/devices/devices.js b/submodules/devices/devices.js index 4ade4b7..df31f5b 100644 --- a/submodules/devices/devices.js +++ b/submodules/devices/devices.js @@ -269,7 +269,9 @@ define(function(require){ mode = data.id ? 'edit' : 'add', type = data.device_type, popupTitle = mode === 'edit' ? monster.template(self, '!' + self.i18n.active().devices[type].editTitle, { name: data.name }) : self.i18n.active().devices[type].addTitle, - templateDevice = $(monster.template(self, 'devices-'+type, data)), + templateDevice = $(monster.template(self, 'devices-'+type, $.extend(true, {}, data, { + isE911Enabled: monster.util.isNumberFeatureEnabled('e911') + }))), deviceForm = templateDevice.find('#form_device'); if (data.hasOwnProperty('provision') && data.provision.hasOwnProperty('feature_keys')) { diff --git a/views/devices-ata.html b/views/devices-ata.html index 0b49a58..4b8fab6 100644 --- a/views/devices-ata.html +++ b/views/devices-ata.html @@ -23,7 +23,9 @@ @@ -113,22 +115,24 @@
-
-
- {{ i18n.devices.popupSettings.callerId.sectionTitle }} -
- - {{#if extra.hasE911Numbers}} -
- -
+ {{#if isE911Enabled}} +
+
+ {{ i18n.devices.popupSettings.callerId.sectionTitle }}
- {{else}} - {{#monsterText 'error'}} - {{ i18n.devices.popupSettings.callerId.noE911Numbers }} - {{/monsterText}} - {{/if}} -
+ + {{#if extra.hasE911Numbers}} +
+ +
+
+ {{else}} + {{#monsterText 'error'}} + {{ i18n.devices.popupSettings.callerId.noE911Numbers }} + {{/monsterText}} + {{/if}} +
+ {{/if}}
diff --git a/views/devices-fax.html b/views/devices-fax.html index 677b089..6639ed4 100644 --- a/views/devices-fax.html +++ b/views/devices-fax.html @@ -23,7 +23,9 @@ @@ -133,22 +135,24 @@
-
-
- {{ i18n.devices.popupSettings.callerId.sectionTitle }} -
- - {{#if extra.hasE911Numbers}} -
- -
+ {{#if isE911Enabled}} +
+
+ {{ i18n.devices.popupSettings.callerId.sectionTitle }}
- {{else}} - {{#monsterText 'error'}} - {{ i18n.devices.popupSettings.callerId.noE911Numbers }} - {{/monsterText}} - {{/if}} -
+ + {{#if extra.hasE911Numbers}} +
+ +
+
+ {{else}} + {{#monsterText 'error'}} + {{ i18n.devices.popupSettings.callerId.noE911Numbers }} + {{/monsterText}} + {{/if}} +
+ {{/if}}
diff --git a/views/devices-mobile.html b/views/devices-mobile.html index 9073202..8715c62 100644 --- a/views/devices-mobile.html +++ b/views/devices-mobile.html @@ -24,7 +24,9 @@
  • {{ i18n.devices.popupSettings.audio.menuTitle }}
  • {{ i18n.devices.popupSettings.video.menuTitle }}
  • {{ i18n.devices.popupSettings.restrictions.menuTitle }}
  • -
  • {{ i18n.devices.popupSettings.callerId.menuTitle }}
  • + {{#if isE911Enabled}} +
  • {{ i18n.devices.popupSettings.callerId.menuTitle }}
  • + {{/if}}
  • {{ i18n.devices.popupSettings.miscellaneous.menuTitle }}
  • @@ -135,22 +137,24 @@ -
    -
    - {{ i18n.devices.popupSettings.callerId.sectionTitle }} -
    - - {{#if extra.hasE911Numbers}} -
    - -
    + {{#if isE911Enabled}} +
    +
    + {{ i18n.devices.popupSettings.callerId.sectionTitle }}
    - {{else}} - {{#monsterText 'error'}} - {{ i18n.devices.popupSettings.callerId.noE911Numbers }} - {{/monsterText}} - {{/if}} -
    + + {{#if extra.hasE911Numbers}} +
    + +
    +
    + {{else}} + {{#monsterText 'error'}} + {{ i18n.devices.popupSettings.callerId.noE911Numbers }} + {{/monsterText}} + {{/if}} +
    + {{/if}}
    diff --git a/views/devices-sip_device.html b/views/devices-sip_device.html index 3e338af..9c6529b 100644 --- a/views/devices-sip_device.html +++ b/views/devices-sip_device.html @@ -32,7 +32,9 @@
  • {{ i18n.devices.popupSettings.audio.menuTitle }}
  • {{ i18n.devices.popupSettings.video.menuTitle }}
  • {{ i18n.devices.popupSettings.restrictions.menuTitle }}
  • -
  • {{ i18n.devices.popupSettings.callerId.menuTitle }}
  • + {{#if isE911Enabled}} +
  • {{ i18n.devices.popupSettings.callerId.menuTitle }}
  • + {{/if}}
  • {{ i18n.devices.popupSettings.miscellaneous.menuTitle }}
  • {{#if provision.feature_keys}}
  • {{ i18n.devices.popupSettings.featureKeys.menuTitle }}
  • @@ -172,28 +174,30 @@
    -
    -
    - {{ i18n.devices.popupSettings.callerId.sectionTitle }} -
    - - {{#if extra.hasE911Numbers}} -
    - -
    + {{#if isE911Enabled}} +
    +
    + {{ i18n.devices.popupSettings.callerId.sectionTitle }}
    -
    - -
    -

    + + {{#if extra.hasE911Numbers}} +
    + +
    -
    - {{else}} - {{#monsterText 'error'}} - {{ i18n.devices.popupSettings.callerId.noE911Numbers }} - {{/monsterText}} - {{/if}} -
    +
    + +
    +

    +
    +
    + {{else}} + {{#monsterText 'error'}} + {{ i18n.devices.popupSettings.callerId.noE911Numbers }} + {{/monsterText}} + {{/if}} +
    + {{/if}}
    diff --git a/views/devices-softphone.html b/views/devices-softphone.html index 9d51936..09c7564 100644 --- a/views/devices-softphone.html +++ b/views/devices-softphone.html @@ -24,7 +24,9 @@
  • {{ i18n.devices.popupSettings.audio.menuTitle }}
  • {{ i18n.devices.popupSettings.video.menuTitle }}
  • {{ i18n.devices.popupSettings.restrictions.menuTitle }}
  • -
  • {{ i18n.devices.popupSettings.callerId.menuTitle }}
  • + {{#if isE911Enabled}} +
  • {{ i18n.devices.popupSettings.callerId.menuTitle }}
  • + {{/if}}
  • {{ i18n.devices.popupSettings.miscellaneous.menuTitle }}
  • @@ -129,28 +131,30 @@
    -
    -
    - {{ i18n.devices.popupSettings.callerId.sectionTitle }} -
    - - {{#if extra.hasE911Numbers}} -
    - -
    + {{#if isE911Enabled}} +
    +
    + {{ i18n.devices.popupSettings.callerId.sectionTitle }}
    -
    - -
    -

    + + {{#if extra.hasE911Numbers}} +
    + +
    -
    - {{else}} - {{#monsterText 'error'}} - {{ i18n.devices.popupSettings.callerId.noE911Numbers }} - {{/monsterText}} - {{/if}} -
    +
    + +
    +

    +
    +
    + {{else}} + {{#monsterText 'error'}} + {{ i18n.devices.popupSettings.callerId.noE911Numbers }} + {{/monsterText}} + {{/if}} +
    + {{/if}}
    From 3cf3b280f980c1a6f09a09bcc6862d8d05e97df5 Mon Sep 17 00:00:00 2001 From: Joris Tirado Date: Mon, 2 Nov 2015 15:35:25 -0800 Subject: [PATCH 5/6] UI-1855: On Main Number management, hide e911 feature when disabled on the account --- submodules/strategy/strategy.js | 42 ++++++++++++++++++--------------- views/strategy-numbers.html | 4 +++- 2 files changed, 26 insertions(+), 20 deletions(-) diff --git a/submodules/strategy/strategy.js b/submodules/strategy/strategy.js index 98944b2..4445654 100644 --- a/submodules/strategy/strategy.js +++ b/submodules/strategy/strategy.js @@ -399,6 +399,7 @@ define(function(require){ return ret; } }), + 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)); @@ -750,9 +751,10 @@ define(function(require){ var $this = $(this), numberToRemove = $this.data('number'), e911Feature = $this.data('e911'), + isE911Enabled = monster.util.isNumberFeatureEnabled('e911'), indexToRemove = strategyData.callflows["MainCallflow"].numbers.indexOf(numberToRemove.toString()); - if(e911Feature === 'active' && container.find('.number-element .remove-number[data-e911="active"]').length === 1) { + if(e911Feature === 'active' && container.find('.number-element .remove-number[data-e911="active"]').length === 1 && isE911Enabled) { monster.ui.alert('error', self.i18n.active().strategy.alertMessages.lastE911Error); } else if(indexToRemove >= 0) { self.strategyGetNumber(numberToRemove, function(dataNumber) { @@ -871,28 +873,30 @@ define(function(require){ } }); - container.on('click', '.number-element .e911-number', function() { - var e911Cell = $(this).parents('.number-element').first(), - phoneNumber = e911Cell.find('.remove-number').data('number'); + 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.dash_e911))) { - e911Cell.find('.features i.feature-dash_e911').addClass('active'); - } - else { - e911Cell.find('.features i.feature-dash_e911').removeClass('active'); + if(phoneNumber) { + var args = { + phoneNumber: phoneNumber, + callbacks: { + success: function(data) { + if(!($.isEmptyObject(data.data.dash_e911))) { + e911Cell.find('.features i.feature-dash_e911').addClass('active'); + } + else { + e911Cell.find('.features i.feature-dash_e911').removeClass('active'); + } } } - } - }; + }; - monster.pub('common.e911.renderPopup', args); - } - }); + monster.pub('common.e911.renderPopup', args); + } + }); + } container.on('click', '.number-element .prepend-number', function() { var prependCell = $(this).parents('.number-element').first(), diff --git a/views/strategy-numbers.html b/views/strategy-numbers.html index d3d909f..3e4c0df 100644 --- a/views/strategy-numbers.html +++ b/views/strategy-numbers.html @@ -15,7 +15,9 @@ From 46f93c2942b65c60dc5c358fb24b0f5690b95d3d Mon Sep 17 00:00:00 2001 From: Joris Tirado Date: Tue, 3 Nov 2015 09:05:54 -0800 Subject: [PATCH 6/6] UI-1855: Fix tooltip bug when buying numbers --- submodules/groups/groups.js | 11 ++++++----- submodules/users/users.js | 5 +++-- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/submodules/groups/groups.js b/submodules/groups/groups.js index 68c1a4b..634ccd4 100644 --- a/submodules/groups/groups.js +++ b/submodules/groups/groups.js @@ -1148,7 +1148,7 @@ define(function(require){ template.find('.spare-link').addClass('disabled'); } } - } + }; monster.pub('common.numbers.dialogSpare', args); }); @@ -1160,16 +1160,15 @@ 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; - var rowTemplate = monster.template(self, 'groups-numbersItemRow', { + var rowTemplate = $(monster.template(self, 'groups-numbersItemRow', { isE911Enabled: monster.util.isNumberFeatureEnabled('e911'), number: number - }); + })); monster.ui.tooltips(rowTemplate); @@ -1464,7 +1463,9 @@ define(function(require){ number.localityEnabled = 'locality' in number ? true : false; _.each(number.features, function(feature) { - number.viewFeatures[feature].active = 'active'; + if(feature in number.viewFeatures) { + number.viewFeatures[feature].active = 'active'; + } }); if(number.used_by === '') { diff --git a/submodules/users/users.js b/submodules/users/users.js index e1e52a0..dad98a6 100644 --- a/submodules/users/users.js +++ b/submodules/users/users.js @@ -1074,6 +1074,7 @@ define(function(require){ template.on('click', '.actions .buy-link', function(e) { e.preventDefault(); + monster.pub('common.buyNumbers', { searchType: $(this).data('type'), callbacks: { @@ -1083,10 +1084,10 @@ define(function(require){ number.viewFeatures = $.extend(true, {}, features); number.phoneNumber = number.id; - var rowTemplate = monster.template(self, 'users-numbersItemRow', { + var rowTemplate = $(monster.template(self, 'users-numbersItemRow', { isE911Enabled: monster.util.isNumberFeatureEnabled('e911'), number: number - }); + })); monster.ui.tooltips(rowTemplate);