From 81f70a9eb9d3a6f13f456e36359d6986087e5648 Mon Sep 17 00:00:00 2001 From: Jean-Roch Maitre Date: Tue, 29 Jul 2014 17:10:08 -0700 Subject: [PATCH] UI-580: Changed some logic in SmartPBX to get rid of an unnecessary API call to /vmboxes --- submodules/users/users.js | 39 ++++++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/submodules/users/users.js b/submodules/users/users.js index 2019e85..a88cf5f 100644 --- a/submodules/users/users.js +++ b/submodules/users/users.js @@ -2408,27 +2408,32 @@ define(function(require){ callback(null, userData); }); }, - vmbox: function(callback) { - self.usersListVMBoxesUser(userId, function(vmboxes) { - if(vmboxes.length > 0) { - self.usersGetVMBox(vmboxes[0].id, function(vmbox) { - callback(null, vmbox); - }); - } - else { - callback(null, {}); - } - }); - }, - existingVmboxes: function(callback) { + vmboxes: function(callback) { self.usersListVMBoxes(function(vmboxes) { - var listVMBoxes = []; + var firstVmboxId, + results = { + listExisting: [], + userVM: {} + }; _.each(vmboxes, function(vmbox) { - listVMBoxes.push(vmbox.mailbox); + results.listExisting.push(vmbox.mailbox); + + if(vmbox.owner_id === userId && !firstVmboxId) { + firstVmboxId = vmbox.id; + } }); - callback(null, listVMBoxes); + if(firstVmboxId) { + self.usersGetVMBox(firstVmboxId, function(vmbox) { + results.userVM = vmbox; + + callback(null, results); + }); + } + else { + callback(null, results); + } }); } }, @@ -2443,7 +2448,7 @@ define(function(require){ } }); - var dataTemplate = self.usersFormatUserData(userData, results.mainDirectory, results.mainCallflow, results.vmbox, results.existingVmboxes); + var dataTemplate = self.usersFormatUserData(userData, results.mainDirectory, results.mainCallflow, results.vmboxes.userVM, results.vmboxes.listExisting); template = $(monster.template(self, 'users-name', dataTemplate));