diff --git a/i18n/en-US.json b/i18n/en-US.json index d173cdb..d4590cd 100644 --- a/i18n/en-US.json +++ b/i18n/en-US.json @@ -950,7 +950,6 @@ "mandatoryE911Alert": "You must specify e911 information for your company caller ID number." }, "missingMainNumberForCallerId": "You need to add a main number to your office before configuring the Caller-ID!", - "missingE911Message": "Please setup your Company Caller ID and e911 on a Main Number.", "missingMainNumberMessage": "Please add a Main Number to your account.", "totalUsers": "Total Users", "totalDevices": "Total Devices", @@ -990,7 +989,12 @@ "3": "Once you have created enough users, create user groups. This is extremely useful if you have users that work in the same department, such as a sales team.", "4": "Main Number services are highly important for your business! Manage call handling with Virtual Receptionist, and route calls depending on Office Hours and Holidays." } - } + }, + "__comment": "UI-1856: On the dashboard, hide cnam related actions when the feature is disabled on the account", + "__version": "3.23", + "missingCnamE911Message": "Please setup your Company Caller ID and e911 on a Main Number.", + "missingCnamMessage": "Please setup your Company Caller ID on a Main Number.", + "missingE911Message": "Please setup your e911 on a Main Number." }, "__comment": "UI-299, v3.19_s2: Added the Feature Codes tab to SmartPBX.", diff --git a/i18n/fr-FR.json b/i18n/fr-FR.json index c807abe..310316e 100644 --- a/i18n/fr-FR.json +++ b/i18n/fr-FR.json @@ -859,7 +859,9 @@ "mandatoryE911Alert": "Vous devez spécifier les infos E911 pour le Caller-ID de ce numéro d'entreprise." }, "missingMainNumberForCallerId": "Veuillez ajouter un Numéro principal à votre compte avant de configurer le Caller-ID de votre compte!", - "missingE911Message": "Veuillez configurer le Caller-ID et l'E911 sur un de vos numéros principaux.", + "missingCnamE911Message": "Veuillez configurer le Caller-ID et l'E911 sur un de vos numéros principaux.", + "missingCnamMessage": "Veuillez configurer le Caller-ID sur un de vos numéros principaux.", + "missingE911Message": "Veuillez configurer l'E911 sur un de vos numéros principaux.", "missingMainNumberMessage": "Veuillez ajouter un Numéro principal à votre compte.", "totalUsers": "Utilisateurs", "totalDevices": "Téléphones", diff --git a/submodules/devices/devices.js b/submodules/devices/devices.js index 281877b..34bc4f6 100644 --- a/submodules/devices/devices.js +++ b/submodules/devices/devices.js @@ -270,7 +270,7 @@ define(function(require){ 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, $.extend(true, {}, data, { - isE911Enabled: monster.util.isNumberFeatureEnabled('e911') + showEmergencyCnam: monster.util.isNumberFeatureEnabled('cnam') && monster.util.isNumberFeatureEnabled('e911') }))), deviceForm = templateDevice.find('#form_device'); diff --git a/submodules/groups/groups.js b/submodules/groups/groups.js index 634ccd4..7aac97a 100644 --- a/submodules/groups/groups.js +++ b/submodules/groups/groups.js @@ -427,6 +427,7 @@ 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') }))); @@ -1065,33 +1066,35 @@ define(function(require){ }); } - template.on('click', '.callerId-number', function() { - var cnamCell = $(this).parents('.item-row').first(), - phoneNumber = cnamCell.data('id'); + 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(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'); + 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); - } - }); + monster.pub('common.callerId.renderPopup', args); + } + }); + } template.on('click', '.prepend-number', function() { var prependCell = $(this).parents('.item-row').first(), @@ -1135,6 +1138,7 @@ define(function(require){ template .find('.list-assigned-items') .append($(monster.template(self, 'groups-numbersItemRow', { + isCnamEnabled: monster.util.isNumberFeatureEnabled('cnam'), isE911Enabled: monster.util.isNumberFeatureEnabled('e911'), number: val }))); @@ -1166,6 +1170,7 @@ define(function(require){ number.phoneNumber = number.id; var rowTemplate = $(monster.template(self, 'groups-numbersItemRow', { + isCnamEnabled: monster.util.isNumberFeatureEnabled('cnam'), isE911Enabled: monster.util.isNumberFeatureEnabled('e911'), number: number })); diff --git a/submodules/myOffice/myOffice.css b/submodules/myOffice/myOffice.css index 577436d..58b2a0b 100644 --- a/submodules/myOffice/myOffice.css +++ b/submodules/myOffice/myOffice.css @@ -14,6 +14,7 @@ -webkit-box-sizing: border-box; } #myoffice_container .dashboard-header .header-title { + float: left; width: 55%; padding: 10px 20px; line-height: 40px; @@ -23,6 +24,7 @@ white-space: nowrap; } #myoffice_container .dashboard-header .header-link { + float: right; width: 15%; border-left: solid 1px #dcdcdc; color: #fff; diff --git a/submodules/myOffice/myOffice.js b/submodules/myOffice/myOffice.js index d820525..90f9b18 100644 --- a/submodules/myOffice/myOffice.js +++ b/submodules/myOffice/myOffice.js @@ -33,6 +33,7 @@ define(function(require){ self.myOfficeLoadData(function(myOfficeData) { var dataTemplate = { + isCnamEnabled: monster.util.isNumberFeatureEnabled('cnam'), account: myOfficeData.account, totalUsers: myOfficeData.users.length, totalDevices: myOfficeData.devices.length, @@ -528,7 +529,6 @@ define(function(require){ if( data.mainNumbers && data.mainNumbers.length > 0 - && monster.util.isNumberFeatureEnabled('e911') && ( !('caller_id' in data.account) || !('emergency' in data.account.caller_id) @@ -537,10 +537,24 @@ define(function(require){ || data.numbers[data.account.caller_id.emergency.number].features.indexOf('dash_e911') < 0 ) ) { - data.topMessage = { - class: 'btn-danger', - message: self.i18n.active().myOffice.missingE911Message - }; + if (monster.util.isNumberFeatureEnabled('cnam') && monster.util.isNumberFeatureEnabled('e911')) { + data.topMessage = { + class: 'btn-danger', + message: self.i18n.active().myOffice.missingCnamE911Message + }; + } + else if (monster.util.isNumberFeatureEnabled('cnam')) { + data.topMessage = { + class: 'btn-danger', + message: self.i18n.active().myOffice.missingCnamMessage + }; + } + else if (monster.util.isNumberFeatureEnabled('e911')) { + data.topMessage = { + class: 'btn-danger', + message: self.i18n.active().myOffice.missingE911Message + }; + } } data.totalChannels = channelsArray.length; @@ -595,13 +609,15 @@ define(function(require){ }); }); - template.find('.header-link.caller-id:not(.disabled)').on('click', function(e) { - e.preventDefault(); - self.myOfficeRenderCallerIdPopup({ - parent: parent, - myOfficeData: myOfficeData + if (monster.util.isNumberFeatureEnabled('cnam')) { + template.find('.header-link.caller-id:not(.disabled)').on('click', function(e) { + e.preventDefault(); + self.myOfficeRenderCallerIdPopup({ + parent: parent, + myOfficeData: myOfficeData + }); }); - }); + } template.find('.header-link.caller-id.disabled').on('click', function(e) { monster.ui.alert(self.i18n.active().myOffice.missingMainNumberForCallerId); @@ -755,9 +771,8 @@ define(function(require){ var self = this, parent = args.parent, myOfficeData = args.myOfficeData, - isE911Enabled = monster.util.isNumberFeatureEnabled('e911'), templateData = { - isE911Enabled: isE911Enabled, + isE911Enabled: monster.util.isNumberFeatureEnabled('e911'), mainNumbers: myOfficeData.mainNumbers, selectedMainNumber: 'caller_id' in myOfficeData.account && 'external' in myOfficeData.account.caller_id ? myOfficeData.account.caller_id.external.number || 'none' : 'none' }, @@ -767,7 +782,7 @@ define(function(require){ position: ['center', 20] }); - if (isE911Enabled) { + if (monster.util.isNumberFeatureEnabled('e911')) { var e911Form = popupTemplate.find('.emergency-form > form'); monster.ui.validate(e911Form, { diff --git a/submodules/strategy/strategy.js b/submodules/strategy/strategy.js index 60fc5c5..3ab0887 100644 --- a/submodules/strategy/strategy.js +++ b/submodules/strategy/strategy.js @@ -398,6 +398,7 @@ define(function(require){ 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) }, @@ -843,33 +844,35 @@ define(function(require){ } }); - container.on('click', '.number-element .callerId-number', function() { - var cnamCell = $(this).parents('.number-element').first(), - phoneNumber = cnamCell.find('.remove-number').data('number'); + 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(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'); + 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); - } - }); + monster.pub('common.callerId.renderPopup', args); + } + }); + } if (monster.util.isNumberFeatureEnabled('e911')) { container.on('click', '.number-element .e911-number', function() { diff --git a/submodules/users/users.js b/submodules/users/users.js index dad98a6..4e38349 100644 --- a/submodules/users/users.js +++ b/submodules/users/users.js @@ -1054,6 +1054,7 @@ 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 }))); @@ -1085,6 +1086,7 @@ define(function(require){ number.phoneNumber = number.id; var rowTemplate = $(monster.template(self, 'users-numbersItemRow', { + isCnamEnabled: monster.util.isNumberFeatureEnabled('cnam'), isE911Enabled: monster.util.isNumberFeatureEnabled('e911'), number: number })); @@ -1143,33 +1145,35 @@ define(function(require){ } }); - template.on('click', '.callerId-number', function() { - var cnamCell = $(this).parents('.item-row').first(), - phoneNumber = cnamCell.data('id'); + 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(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'); + 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); - } - }); + monster.pub('common.callerId.renderPopup', args); + } + }); + } if (monster.util.isNumberFeatureEnabled('e911')) { template.on('click', '.e911-number', function() { @@ -2618,6 +2622,7 @@ define(function(require){ 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') }))); diff --git a/views/devices-ata.html b/views/devices-ata.html index 4b8fab6..57e68c5 100644 --- a/views/devices-ata.html +++ b/views/devices-ata.html @@ -23,7 +23,7 @@ @@ -115,7 +115,7 @@ - {{#if isE911Enabled}} + {{#if showEmergencyCnam}}
{{ i18n.devices.popupSettings.callerId.sectionTitle }} diff --git a/views/devices-fax.html b/views/devices-fax.html index 6639ed4..bfbc15b 100644 --- a/views/devices-fax.html +++ b/views/devices-fax.html @@ -23,7 +23,7 @@ @@ -135,7 +135,7 @@
- {{#if isE911Enabled}} + {{#if showEmergencyCnam}}
{{ i18n.devices.popupSettings.callerId.sectionTitle }} diff --git a/views/devices-mobile.html b/views/devices-mobile.html index 8715c62..deb78c5 100644 --- a/views/devices-mobile.html +++ b/views/devices-mobile.html @@ -24,7 +24,7 @@
  • {{ i18n.devices.popupSettings.audio.menuTitle }}
  • {{ i18n.devices.popupSettings.video.menuTitle }}
  • {{ i18n.devices.popupSettings.restrictions.menuTitle }}
  • - {{#if isE911Enabled}} + {{#if showEmergencyCnam}}
  • {{ i18n.devices.popupSettings.callerId.menuTitle }}
  • {{/if}}
  • {{ i18n.devices.popupSettings.miscellaneous.menuTitle }}
  • @@ -137,7 +137,7 @@
    - {{#if isE911Enabled}} + {{#if showEmergencyCnam}}
    {{ i18n.devices.popupSettings.callerId.sectionTitle }} diff --git a/views/devices-sip_device.html b/views/devices-sip_device.html index 9c6529b..f39d78e 100644 --- a/views/devices-sip_device.html +++ b/views/devices-sip_device.html @@ -32,7 +32,7 @@
  • {{ i18n.devices.popupSettings.audio.menuTitle }}
  • {{ i18n.devices.popupSettings.video.menuTitle }}
  • {{ i18n.devices.popupSettings.restrictions.menuTitle }}
  • - {{#if isE911Enabled}} + {{#if showEmergencyCnam}}
  • {{ i18n.devices.popupSettings.callerId.menuTitle }}
  • {{/if}}
  • {{ i18n.devices.popupSettings.miscellaneous.menuTitle }}
  • @@ -174,7 +174,7 @@
    - {{#if isE911Enabled}} + {{#if showEmergencyCnam}}
    {{ i18n.devices.popupSettings.callerId.sectionTitle }} diff --git a/views/devices-softphone.html b/views/devices-softphone.html index 09c7564..705dbec 100644 --- a/views/devices-softphone.html +++ b/views/devices-softphone.html @@ -24,7 +24,7 @@
  • {{ i18n.devices.popupSettings.audio.menuTitle }}
  • {{ i18n.devices.popupSettings.video.menuTitle }}
  • {{ i18n.devices.popupSettings.restrictions.menuTitle }}
  • - {{#if isE911Enabled}} + {{#if showEmergencyCnam}}
  • {{ i18n.devices.popupSettings.callerId.menuTitle }}
  • {{/if}}
  • {{ i18n.devices.popupSettings.miscellaneous.menuTitle }}
  • @@ -131,7 +131,7 @@
    - {{#if isE911Enabled}} + {{#if showEmergencyCnam}}
    {{ i18n.devices.popupSettings.callerId.sectionTitle }} diff --git a/views/groups-numbers.html b/views/groups-numbers.html index 1a2ab64..e655b4f 100644 --- a/views/groups-numbers.html +++ b/views/groups-numbers.html @@ -14,7 +14,9 @@