diff --git a/frontend/app/scripts/controllers/case/CaseDetailsCtrl.js b/frontend/app/scripts/controllers/case/CaseDetailsCtrl.js index 5e6472cc37..699af3d81f 100644 --- a/frontend/app/scripts/controllers/case/CaseDetailsCtrl.js +++ b/frontend/app/scripts/controllers/case/CaseDetailsCtrl.js @@ -28,6 +28,11 @@ ] }); + $scope.assignableUsersQuery = [ + {_name: 'getCase', idOrName: $scope.caseId}, + {_name: 'assignableUsers'} + ]; + var connectors = $scope.appConfig.connectors; if(connectors.cortex && connectors.cortex.enabled) { $scope.actions = new PaginatedQuerySrv({ diff --git a/frontend/app/scripts/controllers/case/CaseListCtrl.js b/frontend/app/scripts/controllers/case/CaseListCtrl.js index f1e6ccbf77..9024a4fff2 100644 --- a/frontend/app/scripts/controllers/case/CaseListCtrl.js +++ b/frontend/app/scripts/controllers/case/CaseListCtrl.js @@ -217,8 +217,6 @@ }); modal.result.then(function(operations) { - console.log(operations); - $q.all(_.map(operations, function(operation) { return CaseSrv.bulkUpdate(operation.ids, operation.patch); })).then(function(/*responses*/) { diff --git a/frontend/app/scripts/controllers/case/CaseObservablesItemCtrl.js b/frontend/app/scripts/controllers/case/CaseObservablesItemCtrl.js index 783ff56bbc..ef07475da0 100644 --- a/frontend/app/scripts/controllers/case/CaseObservablesItemCtrl.js +++ b/frontend/app/scripts/controllers/case/CaseObservablesItemCtrl.js @@ -81,7 +81,6 @@ { '_name': 'actions' } ], guard: function(updates) { - console.log('Guard function of observable actions', updates); return _.find(updates, function(item) { return (item.base.details.objectType === 'Observable') && (item.base.details.objectId === artifact.id); }) !== undefined; diff --git a/frontend/app/scripts/controllers/case/CaseTasksCtrl.js b/frontend/app/scripts/controllers/case/CaseTasksCtrl.js index a4c08bcac9..ae277fea63 100755 --- a/frontend/app/scripts/controllers/case/CaseTasksCtrl.js +++ b/frontend/app/scripts/controllers/case/CaseTasksCtrl.js @@ -40,6 +40,13 @@ }); }; + $scope.getAssignableUsers = function(taskId) { + return [ + {_name: 'getTask', idOrName: taskId}, + {_name: 'assignableUsers'} + ]; + }; + $scope.load = function() { $scope.tasks = new PaginatedQuerySrv({ name: 'case-tasks', diff --git a/frontend/app/scripts/controllers/case/CaseTasksItemCtrl.js b/frontend/app/scripts/controllers/case/CaseTasksItemCtrl.js index 1c0a5c5677..fc0ef7f86f 100644 --- a/frontend/app/scripts/controllers/case/CaseTasksItemCtrl.js +++ b/frontend/app/scripts/controllers/case/CaseTasksItemCtrl.js @@ -10,6 +10,11 @@ $scope.tabName = 'task-' + task._id; $scope.taskResponders = null; + $scope.assignableUsersQuery = [ + {_name: 'getTask', idOrName: task._id}, + {_name: 'assignableUsers'} + ]; + $scope.loading = false; $scope.newLog = { message: '' diff --git a/frontend/app/scripts/directives/updatableUser.js b/frontend/app/scripts/directives/updatableUser.js index e06f31edb9..4295438b6d 100644 --- a/frontend/app/scripts/directives/updatableUser.js +++ b/frontend/app/scripts/directives/updatableUser.js @@ -1,7 +1,7 @@ (function() { 'use strict'; angular.module('theHiveDirectives') - .directive('updatableUser', function(UserSrv, UtilsSrv, AuthenticationSrv, NotificationSrv) { + .directive('updatableUser', function(UserSrv, QuerySrv, UtilsSrv, AuthenticationSrv, NotificationSrv) { return { restrict: 'E', link: function(scope, element, attrs, ctrl, transclude) { @@ -17,31 +17,39 @@ scope.$watch('updatable.updating', function(value) { if(value === true && !cached) { - // TODO nadouani use {"_field": "locked": "_value": false} - UserSrv.list(AuthenticationSrv.currentUser.organisation, { + var assignableUsers = []; + + if(_.isFunction(scope.query)) { + assignableUsers = scope.query.apply(this, scope.queryParams); + } else { + assignableUsers = scope.query; + } + + QuerySrv.call('v1', assignableUsers, { filter: { - _is: { - _field: 'locked', - _value: false - } + _field: 'locked', + _value: false }, sort: ['+name'] }) - .then(function(users) { - scope.userList = users; - }) - .catch(function(err) { - NotificationSrv.error('Fetching users', err.data, err.status); - }); + .then(function(users) { + scope.userList = users; + }) + .catch(function(err) { + NotificationSrv.error('Fetching users', err.data, err.status); + }); + cached = true; } }); }, templateUrl: 'views/directives/updatable-user.html', scope: { - 'value': '=?', - 'onUpdate': '&', - 'active': '=?' + value: '=?', + query: '=', + queryParams: '=', + onUpdate: '&', + active: '=?' } }; }); diff --git a/frontend/app/views/partials/case/case.details.html b/frontend/app/views/partials/case/case.details.html index 724af2012d..8a9b2cc1ca 100644 --- a/frontend/app/views/partials/case/case.details.html +++ b/frontend/app/views/partials/case/case.details.html @@ -51,7 +51,7 @@