Skip to content

Commit

Permalink
UI-3121: Check if user types are available before trying to filter us…
Browse files Browse the repository at this point in the history
…ers by them (#76)

* Fix linting error + use lodash#oderBy to sort descendingly

* Check if service plan exists before user count increment

* See if user types are available when sorting users
  • Loading branch information
joristirado authored Jul 27, 2018
1 parent 49bd9f5 commit c12b483
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 12 deletions.
3 changes: 2 additions & 1 deletion app.js
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,8 @@ define(function(require) {
}
}
}, function(err, results) {
self.appFlags.global = results;
self.appFlags.global.servicePlansRole = results.servicePlansRole;
self.appFlags.global.showUserTypes = !_.isEmpty(results.servicePlansRole);

callback && callback(self.appFlags.global);
});
Expand Down
45 changes: 34 additions & 11 deletions submodules/myOffice/myOffice.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ define(function(require) {
var $ = require('jquery'),
_ = require('lodash'),
monster = require('monster'),
chart = require('chart');
Chart = require('chart');

var app = {

Expand Down Expand Up @@ -59,14 +59,30 @@ define(function(require) {
faxingNumbers: myOfficeData.faxingNumbers || [],
faxNumbers: myOfficeData.faxNumbers || [],
topMessage: myOfficeData.topMessage,
devicesList: _.toArray(myOfficeData.devicesData).sort(function(a, b) { return b.count - a.count; }),
usersList: _.toArray(myOfficeData.usersData).sort(function(a, b) { return b.count - a.count ; }),
assignedNumbersList: _.toArray(myOfficeData.assignedNumbersData).sort(function(a, b) { return b.count - a.count; }),
// numberTypesList: _.toArray(myOfficeData.numberTypesData).sort(function(a, b) { return b.count - a.count ; }),
devicesList: _
.chain(myOfficeData.devicesData)
.toArray()
.orderBy('count', 'desc')
.value(),
usersList: _
.chain(myOfficeData.usersData)
.toArray()
.orderBy('count', 'desc')
.value(),
assignedNumbersList: _
.chain(myOfficeData.assignedNumbersData)
.toArray()
.orderBy('count', 'desc')
.value(),
// numberTypesList: _
// .chain(myOfficeData.numberTypesData)
// .toArray()
// .orderBy('count', 'desc')
// .value(),
classifiedNumbers: myOfficeData.classifiedNumbers,
directoryUsers: myOfficeData.directory.users && myOfficeData.directory.users.length || 0,
directoryLink: myOfficeData.directoryLink,
showUserTypes: _.size(self.appFlags.global.servicePlansRole) > 0
showUserTypes: self.appFlags.global.showUserTypes
},
template = $(self.getTemplate({
name: 'layout',
Expand Down Expand Up @@ -473,7 +489,7 @@ define(function(require) {
totalCount: 0
},
users = {
"_unassigned": {
_unassigned: {
label: self.i18n.active().myOffice.userChartLegend.none,
count: 0,
color: self.chartColors[8]
Expand Down Expand Up @@ -503,7 +519,7 @@ define(function(require) {
registeredDevices = _.map(data.devicesStatus, function(device) { return device.device_id; }),
unregisteredDevices = 0;

if (_.size(self.appFlags.global.servicePlansRole) > 0) {
if (self.appFlags.global.showUserTypes) {
var i = 7; // start from the end of chart colors so all the charts don't look the same
_.each(self.appFlags.global.servicePlansRole, function(role, id) {
users[id] = {
Expand Down Expand Up @@ -579,7 +595,10 @@ define(function(require) {
});

_.each(data.users, function(val) {
if (val.hasOwnProperty('service') && val.service.hasOwnProperty('plans') && !_.isEmpty(val.service.plans)) {
if (self.appFlags.global.showUserTypes
&& val.hasOwnProperty('service')
&& val.service.hasOwnProperty('plans')
&& !_.isEmpty(val.service.plans)) {
var planId;

for (var key in val.service.plans) {
Expand All @@ -589,12 +608,16 @@ define(function(require) {
}
}

users[planId].count++;
if (users.hasOwnProperty(planId)) {
users[planId].count += 1;
} else {
users._unassigned.count += 1;
}
} else {
users._unassigned.count++;
}

if (val.features.indexOf("conferencing") >= 0) {
if (val.features.indexOf('conferencing') >= 0) {
totalConferences++;
}
});
Expand Down

0 comments on commit c12b483

Please sign in to comment.