Browse Source

[4.3] MSPB-67: Show feature sections at Caller ID dialog (#180)

4.3
Guillermo Gutiérrez 6 years ago
committed by GitHub
parent
commit
3234d2af45
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 52 additions and 38 deletions
  1. +52
    -38
      submodules/myOffice/myOffice.js

+ 52
- 38
submodules/myOffice/myOffice.js View File

@ -946,58 +946,72 @@ define(function(require) {
emergencyAddress2Input = popupTemplate.find('.caller-id-emergency-address2'),
emergencyCityInput = popupTemplate.find('.caller-id-emergency-city'),
emergencyStateInput = popupTemplate.find('.caller-id-emergency-state'),
editableFeatures = [ 'e911', 'cnam' ],
loadNumberDetails = function(number, popupTemplate) {
var allowedFeatures = [],
callback = function(features) {
popupTemplate.find('.number-feature').hide();
_.each(features, function(featureName) {
popupTemplate.find('.number-feature[data-feature="' + featureName + '"]').slideDown();
monster.waterfall([
function getNumberData(waterfallCallback) {
if (!number) {
return waterfallCallback(null, null);
}
self.myOfficeGetNumber(number, function(numberData) {
waterfallCallback(null, numberData);
});
};
},
function getAllowedFeatures(numberData, waterfallCallback) {
if (_.isNil(numberData)) {
return waterfallCallback(null, numberData, []);
}
if (number) {
self.myOfficeGetNumber(number, function(numberData) {
var availableFeatures = numberData.hasOwnProperty('_read_only') && numberData._read_only.hasOwnProperty('features_available') ? numberData._read_only.features_available : [],
activatedFeatures = numberData.hasOwnProperty('_read_only') && numberData._read_only.hasOwnProperty('features') ? numberData._read_only.features : [],
allFeatures = availableFeatures.concat(activatedFeatures),
hasE911 = allFeatures.indexOf('e911') >= 0,
hasCNAM = allFeatures.indexOf('cnam') >= 0;
if (hasE911) {
if (monster.util.isNumberFeatureEnabled('e911')) {
allowedFeatures.push('e911');
if ('e911' in numberData) {
emergencyZipcodeInput.val(numberData.e911.postal_code);
emergencyAddress1Input.val(numberData.e911.street_address);
emergencyAddress2Input.val(numberData.e911.extended_address);
emergencyCityInput.val(numberData.e911.locality);
emergencyStateInput.val(numberData.e911.region);
} else {
emergencyZipcodeInput.val('');
emergencyAddress1Input.val('');
emergencyAddress2Input.val('');
emergencyCityInput.val('');
emergencyStateInput.val('');
}
var availableFeatures = monster.util.getNumberFeatures(numberData),
allowedFeatures = _.intersection(availableFeatures, editableFeatures);
waterfallCallback(null, numberData, allowedFeatures);
},
function fillFormFields(numberData, allowedFeatures, waterfallCallback) {
if (_.isEmpty(allowedFeatures)) {
return waterfallCallback(null, allowedFeatures);
}
var hasE911 = _.includes(allowedFeatures, 'e911'),
hasCNAM = _.includes(allowedFeatures, 'cnam'),
isE911Enabled = monster.util.isNumberFeatureEnabled('e911');
if (hasE911 && isE911Enabled) {
if (_.has(numberData, 'e911')) {
emergencyZipcodeInput.val(numberData.e911.postal_code);
emergencyAddress1Input.val(numberData.e911.street_address);
emergencyAddress2Input.val(numberData.e911.extended_address);
emergencyCityInput.val(numberData.e911.locality);
emergencyStateInput.val(numberData.e911.region);
} else {
emergencyZipcodeInput.val('');
emergencyAddress1Input.val('');
emergencyAddress2Input.val('');
emergencyCityInput.val('');
emergencyStateInput.val('');
}
}
if (hasCNAM) {
allowedFeatures.push('cnam');
if ('cnam' in numberData) {
if (_.has(numberData, 'cnam')) {
callerIdNameInput.val(numberData.cnam.display_name);
} else {
callerIdNameInput.val('');
}
}
callback && callback(allowedFeatures);
waterfallCallback(null, allowedFeatures);
}
], function hideOrShowFeatureSections(err, allowedFeatures) {
_.each(editableFeatures, function(featureName) {
var $featureSection = popupTemplate.find('.number-feature[data-feature="' + featureName + '"]'),
isFeatureAllowed = _.includes(allowedFeatures, featureName),
action = isFeatureAllowed ? 'slideDown' : 'slideUp';
$featureSection[action]();
});
} else {
callback && callback(allowedFeatures);
}
});
};
popupTemplate.find('.cancel-link').on('click', function() {


Loading…
Cancel
Save