Browse Source

UI-2814: properly handled registered devices in main view, devices view and user view

4.3
JR Maitre 9 years ago
parent
commit
6b8acf6d0c
3 changed files with 19 additions and 23 deletions
  1. +7
    -19
      submodules/devices/devices.js
  2. +9
    -2
      submodules/myOffice/myOffice.js
  3. +3
    -2
      submodules/users/users.js

+ 7
- 19
submodules/devices/devices.js View File

@ -907,14 +907,16 @@ define(function(require) {
sip_uri: 'icon-telicon-voip-phone',
fax: 'icon-telicon-fax',
ata: 'icon-telicon-ata'
};
},
registeredDevices = _.map(data.status, function(device) { return device.device_id; });
_.each(data.users, function(user) {
mapUsers[user.id] = user;
});
_.each(data.devices, function(device) {
var isAssigned = device.owner_id ? true : false;
var isAssigned = device.owner_id ? true : false,
isRegistered = ['sip_device', 'smartphone', 'softphone', 'fax', 'ata'].indexOf(device.device_type) >= 0 ? registeredDevices.indexOf(device.id) >= 0 : true;
formattedData.countDevices++;
@ -929,27 +931,13 @@ define(function(require) {
enabled: device.enabled,
type: device.device_type,
friendlyType: self.i18n.active().devices.types[device.device_type],
registered: false,
classStatus: device.enabled ? 'unregistered' : 'disabled' /* Display a device in black if it's disabled, otherwise, until we know whether it's registered or not, we set the color to red */,
isRegistered: false,
registered: isRegistered,
isRegistered: device.enabled && isRegistered, // even though a device is registered, we don't count it as registered if it's disabled
classStatus: device.enabled ? (isRegistered ? 'registered' : 'unregistered') : 'disabled' /* Display a device in black if it's disabled, otherwise, until we know whether it's registered or not, we set the color to red */,
sipUserName: device.username
};
});
_.each(data.status, function(status) {
if (status.registered === true && status.device_id in formattedData.devices) {
var device = formattedData.devices[status.device_id];
device.registered = true;
/* Now that we know if it's registered, we set the color to green */
if (device.enabled) {
device.classStatus = 'registered';
device.isRegistered = true;
}
}
});
var arrayToSort = [];
_.each(formattedData.devices, function(device) {


+ 9
- 2
submodules/myOffice/myOffice.js View File

@ -50,7 +50,7 @@ define(function(require) {
account: myOfficeData.account,
totalUsers: myOfficeData.users.length,
totalDevices: myOfficeData.devices.length,
unregisteredDevices: myOfficeData.devices.length - myOfficeData.devicesStatus.length,
unregisteredDevices: myOfficeData.unregisteredDevices,
totalNumbers: _.size(myOfficeData.numbers),
totalConferences: myOfficeData.totalConferences,
totalChannels: myOfficeData.totalChannels,
@ -455,7 +455,9 @@ define(function(require) {
totalConferences = 0,
channelsArray = [],
classifierRegexes = {},
classifiedNumbers = {};
classifiedNumbers = {},
registeredDevices = _.map(data.devicesStatus, function(device) { return device.device_id; }),
unregisteredDevices = 0;
_.each(data.numbers, function(numData, num) {
_.find(data.classifiers, function(classifier, classifierKey) {
@ -500,6 +502,10 @@ define(function(require) {
if (val.device_type in devices) {
devices[val.device_type].count++;
devices.totalCount++;
if (val.enabled === false || (['sip_device', 'smartphone', 'softphone', 'fax', 'ata'].indexOf(val.device_type) >= 0 && registeredDevices.indexOf(val.id) < 0)) {
unregisteredDevices++;
}
} else {
console.log('Unknown device type: ' + val.device_type);
}
@ -582,6 +588,7 @@ define(function(require) {
data.assignedNumbersData = assignedNumbers;
// data.numberTypesData = numberTypes;
data.totalConferences = totalConferences;
data.unregisteredDevices = unregisteredDevices;
if (data.directory && data.directory.id) {
data.directoryLink = self.apiUrl + 'accounts/' + self.accountId + '/directories/' + data.directory.id + '?accept=pdf&auth_token=' + self.getAuthToken();


+ 3
- 2
submodules/users/users.js View File

@ -332,7 +332,8 @@ define(function(require) {
existingExtensions: [],
countUsers: data.users.length
},
mapUsers = {};
mapUsers = {},
registeredDevices = _.map(data.deviceStatus, function(device) { return device.device_id; });
_.each(data.users, function(user) {
mapUsers[user.id] = self.usersFormatUserData(user);
@ -386,7 +387,7 @@ define(function(require) {
var userId = device.owner_id;
if (userId in mapUsers) {
var isRegistered = _.find(data.deviceStatus, function(status) { return (status.device_id === device.id && status.registered === true); }) ? true : false;
var isRegistered = device.enabled && (['sip_device', 'smartphone', 'softphone', 'fax', 'ata'].indexOf(device.device_type) >= 0 ? registeredDevices.indexOf(device.id) >= 0 : true);
if (mapUsers[userId].extra.devices.length >= 2) {
if (mapUsers[userId].extra.additionalDevices === 0) {


Loading…
Cancel
Save