diff --git a/app.js b/app.js index c0c71939..f164c22d 100644 --- a/app.js +++ b/app.js @@ -102,6 +102,14 @@ define(function(require) { var self = this; }, + isExtensionDisplayable: function(number) { + var isAlphanumericExtensionsEnabled = monster.util.isFeatureAvailable('smartpbx.users.settings.utfExtensions.show'), + regex = /\D/, + isAlphanumericExtension = regex.test(number); + + return isAlphanumericExtensionsEnabled || !isAlphanumericExtension; + }, + loadGlobalData: function(callback) { var self = this; diff --git a/submodules/users/users.js b/submodules/users/users.js index e46ba118..8cbd0e2b 100644 --- a/submodules/users/users.js +++ b/submodules/users/users.js @@ -445,17 +445,17 @@ define(function(require) { }); }, mainUserCallflowsPerUserId), getNumbersExtra = function(numbers, extra) { - var extensions = _ + var extensionMaxLength = 7, + extensions = _ .chain(numbers) .filter(function(number) { - return _.size(number) < 7; + return _.size(number) < extensionMaxLength && self.isExtensionDisplayable(number); }) .concat(extra.listExtensions) .value(), phoneNumbers = _.filter(numbers, function(number) { - return _.size(number) >= 7; + return _.size(number) >= extensionMaxLength; }); - return { listExtensions: extensions, listCallerId: phoneNumbers, @@ -3871,7 +3871,7 @@ define(function(require) { numberElement.isLocal = numberElement.features.indexOf('local') > -1; response.assignedNumbers.push(numberElement); - } else { + } else if (self.isExtensionDisplayable(number)) { response.extensions.push(number); } });