From 58b924a4f2ed73075b69a3c616f2a5df96c3f1ad Mon Sep 17 00:00:00 2001 From: Nabil Adouani Date: Thu, 4 Mar 2021 13:05:26 +0100 Subject: [PATCH] #1813 Clean up and fix organisation link modal --- .../admin/organisation/OrgListCtrl.js | 45 +++++++++++-------- 1 file changed, 27 insertions(+), 18 deletions(-) diff --git a/frontend/app/scripts/controllers/admin/organisation/OrgListCtrl.js b/frontend/app/scripts/controllers/admin/organisation/OrgListCtrl.js index 2bcc22a6e2..9f562684db 100644 --- a/frontend/app/scripts/controllers/admin/organisation/OrgListCtrl.js +++ b/frontend/app/scripts/controllers/admin/organisation/OrgListCtrl.js @@ -42,11 +42,7 @@ filter: this.filtering.buildQuery(), operations: [ {'_name': 'listOrganisation'} - ], - //extraData: ['observableStats', 'taskStats', 'isOwner', 'shareCount', 'permissions', 'actionRequired'], - onUpdate: function() { - // self.resetSelection(); - } + ] }); }; @@ -93,11 +89,18 @@ return org; }, organisations: function() { - var list = _.filter(angular.copy(self.list), function(item) { - return [OrganisationSrv.defaultOrg, org.name].indexOf(item.name) === -1; - }); + var defer = $q.defer(); + + OrganisationSrv.list() + .then(function(response) { + var list = _.filter(response.data, function(item) { + return [OrganisationSrv.defaultOrg, org.name].indexOf(item.name) === -1; + }); - return _.sortBy(list, 'name'); + defer.resolve(_.sortBy(list, 'name')); + }); + + return defer.promise; }, links: function () { return OrganisationSrv.links(org.name); @@ -105,16 +108,22 @@ } }); - modalInstance.result.then(function(newLinks) { - OrganisationSrv.setLinks(org.name, newLinks) - .then(function() { - self.load(); - NotificationSrv.log('Organisation updated successfully', 'success'); - }) - .catch(function(err) { + modalInstance.result + .then(function(newLinks) { + OrganisationSrv.setLinks(org.name, newLinks) + .then(function() { + self.load(); + NotificationSrv.log('Organisation updated successfully', 'success'); + }) + .catch(function(err) { + NotificationSrv.error('Error', 'Organisation update failed', err.status); + }); + }) + .catch(function(err) { + if(err && !_.isString(err)) { NotificationSrv.error('Error', 'Organisation update failed', err.status); - }); - }); + } + }); }; self.update = function(orgName, org) {