diff --git a/frontend/app/scripts/controllers/alert/AlertListCtrl.js b/frontend/app/scripts/controllers/alert/AlertListCtrl.js
index 269e017492..b9b77a2b95 100755
--- a/frontend/app/scripts/controllers/alert/AlertListCtrl.js
+++ b/frontend/app/scripts/controllers/alert/AlertListCtrl.js
@@ -162,7 +162,7 @@
};
self.import = function(event) {
- $uibModal.open({
+ var modalInstance = $uibModal.open({
templateUrl: 'views/partials/alert/event.dialog.html',
controller: 'AlertEventCtrl',
controllerAs: 'dialog',
@@ -175,6 +175,12 @@
readonly: false
}
});
+
+ modalInstance.result.catch(function(err) {
+ if(err && !_.isString(err)) {
+ NotificationSrv.error('AlertListCtrl', err.data, err.status);
+ }
+ });
};
self.resetSelection = function() {
diff --git a/frontend/app/scripts/controllers/case/CaseMainCtrl.js b/frontend/app/scripts/controllers/case/CaseMainCtrl.js
index ae6140f3d1..c16b42a209 100644
--- a/frontend/app/scripts/controllers/case/CaseMainCtrl.js
+++ b/frontend/app/scripts/controllers/case/CaseMainCtrl.js
@@ -323,24 +323,25 @@
$scope.caseResponders = null;
CortexSrv.getResponders('case', $scope.caseId)
- .then(function(responders) {
- $scope.caseResponders = responders;
- })
- .catch(function(response) {
- NotificationSrv.error('caseDetails', response.data, response.status);
- });
- };
-
- $scope.runResponder = function(responderId, responderName) {
- CortexSrv.runResponder(responderId, responderName, 'case', _.pick($scope.caze, '_id', 'tlp', 'pap'))
- .then(function(response) {
- NotificationSrv.log(['Responder', response.data.responderName, 'started successfully on case', $scope.caze.title].join(' '), 'success');
- })
- .catch(function(response) {
- if(response && !_.isString(response)) {
- NotificationSrv.error('caseDetails', response.data, response.status);
- }
- });
+ .then(function(responders){
+ $scope.caseResponders = responders;
+ return CortexSrv.promntForResponder(responders);
+ })
+ .then(function(response) {
+ if(response && _.isString(response)) {
+ NotificationSrv.log(response, 'warning');
+ } else {
+ return CortexSrv.runResponder(response.id, response.name, 'case', _.pick($scope.caze, '_id', 'tlp', 'pap'));
+ }
+ })
+ .then(function(response){
+ NotificationSrv.log(['Responder', response.data.responderName, 'started successfully on case', $scope.caze.title].join(' '), 'success');
+ })
+ .catch(function(err) {
+ if(err && !_.isString(err)) {
+ NotificationSrv.error('caseDetails', err.data, err.status);
+ }
+ });
};
/**
diff --git a/frontend/app/scripts/controllers/case/CaseObservablesItemCtrl.js b/frontend/app/scripts/controllers/case/CaseObservablesItemCtrl.js
index 7cfdb5f46d..61c57d6eed 100644
--- a/frontend/app/scripts/controllers/case/CaseObservablesItemCtrl.js
+++ b/frontend/app/scripts/controllers/case/CaseObservablesItemCtrl.js
@@ -269,30 +269,31 @@
});
};
- $scope.getObsResponders = function(observableId, force) {
+ $scope.getObsResponders = function(observable, force) {
if(!force && $scope.obsResponders !== null) {
return;
}
$scope.obsResponders = null;
- CortexSrv.getResponders('case_artifact', observableId)
+ CortexSrv.getResponders('case_artifact', observable._id)
.then(function(responders) {
$scope.obsResponders = responders;
+ return CortexSrv.promntForResponder(responders);
})
- .catch(function(err) {
- NotificationSrv.error('observablesList', err.data, err.status);
- });
- };
-
- $scope.runResponder = function(responderId, responderName, artifact) {
- CortexSrv.runResponder(responderId, responderName, 'case_artifact', _.pick(artifact, '_id'))
.then(function(response) {
- var data = '['+$filter('fang')(artifact.data || artifact.attachment.name)+']';
+ if(response && _.isString(response)) {
+ NotificationSrv.log(response, 'warning');
+ } else {
+ return CortexSrv.runResponder(response.id, response.name, 'case_artifact', _.pick(observable, '_id'));
+ }
+ })
+ .then(function(response){
+ var data = '['+$filter('fang')(observable.data || observable.attachment.name)+']';
NotificationSrv.log(['Responder', response.data.responderName, 'started successfully on observable', data].join(' '), 'success');
})
- .catch(function(response) {
- if(response && !_.isString(response)) {
- NotificationSrv.error('observablesList', response.data, response.status);
+ .catch(function(err) {
+ if(err && !_.isString(err)) {
+ NotificationSrv.error('Observable Details', err.data, err.status);
}
});
};
diff --git a/frontend/app/scripts/controllers/case/CaseTasksItemCtrl.js b/frontend/app/scripts/controllers/case/CaseTasksItemCtrl.js
index 5824a866e5..bb4b2fa8d7 100644
--- a/frontend/app/scripts/controllers/case/CaseTasksItemCtrl.js
+++ b/frontend/app/scripts/controllers/case/CaseTasksItemCtrl.js
@@ -230,23 +230,24 @@
CortexSrv.getResponders('case_task', $scope.task.id)
.then(function(responders) {
$scope.taskResponders = responders;
+ return CortexSrv.promntForResponder(responders);
})
- .catch(function(err) {
- NotificationSrv.error('taskDetails', err.data, err.status);
- });
- };
-
- $scope.runResponder = function(responderId, responderName) {
- CortexSrv.runResponder(responderId, responderName, 'case_task', _.pick($scope.task, '_id'))
.then(function(response) {
+ if(response && _.isString(response)) {
+ NotificationSrv.log(response, 'warning');
+ } else {
+ return CortexSrv.runResponder(response.id, response.name, 'case_task', _.pick($scope.task, '_id'));
+ }
+ })
+ .then(function(response){
NotificationSrv.log(['Responder', response.data.responderName, 'started successfully on task', $scope.task.title].join(' '), 'success');
})
- .catch(function(response) {
- if(response && !_.isString(response)) {
- NotificationSrv.error('taskDetails', response.data, response.status);
+ .catch(function(err) {
+ if(err && !_.isString(err)) {
+ NotificationSrv.error('taskDetails', err.data, err.status);
}
});
- };
+ };
$scope.reloadTask = function() {
CaseTaskSrv.get({
diff --git a/frontend/app/scripts/directives/logEntry.js b/frontend/app/scripts/directives/logEntry.js
index a783f2faf1..c7b690c083 100644
--- a/frontend/app/scripts/directives/logEntry.js
+++ b/frontend/app/scripts/directives/logEntry.js
@@ -8,28 +8,45 @@
$scope.showActions = false;
$scope.actions = null;
$scope.logResponders = null;
- $scope.getLogResponders = function(logId) {
+ $scope.getLogResponders = function(taskLog, force) {
+ if(!force && $scope.logResponders !== null) {
+ return;
+ }
+
$scope.logResponders = null;
- CortexSrv.getResponders('case_task_log', logId)
+ CortexSrv.getResponders('case_task_log', taskLog._id)
.then(function(responders) {
$scope.logResponders = responders;
+ return CortexSrv.promntForResponder(responders);
+ })
+ .then(function(response) {
+ if(response && _.isString(response)) {
+ NotificationSrv.log(response, 'warning');
+ } else {
+ return CortexSrv.runResponder(response.id, response.name, 'case_task_log', _.pick(taskLog, '_id'));
+ }
})
- .catch(function(response) {
- NotificationSrv.error('logEntry', response.data, response.status);
+ .then(function(response){
+ NotificationSrv.log(['Responder', response.data.responderName, 'started successfully on task log'].join(' '), 'success');
+ })
+ .catch(function(err) {
+ if(err && !_.isString(err)) {
+ NotificationSrv.error('logEntry', err.data, err.status);
+ }
});
};
- $scope.runResponder = function(responderId, responderName, log) {
- CortexSrv.runResponder(responderId, responderName, 'case_task_log', _.pick(log, '_id'))
- .then(function(response) {
- NotificationSrv.log(['Responder', response.data.responderName, 'started successfully on task log'].join(' '), 'success');
- })
- .catch(function(response) {
- if(response && !_.isString(response)) {
- NotificationSrv.error('logEntry', response.data, response.status);
- }
- });
- };
+ // $scope.runResponder = function(responderId, responderName, log) {
+ // CortexSrv.runResponder(responderId, responderName, 'case_task_log', _.pick(log, '_id'))
+ // .then(function(response) {
+ // NotificationSrv.log(['Responder', response.data.responderName, 'started successfully on task log'].join(' '), 'success');
+ // })
+ // .catch(function(response) {
+ // if(response && !_.isString(response)) {
+ // NotificationSrv.error('logEntry', response.data, response.status);
+ // }
+ // });
+ // };
$scope.getActions = function(logId) {
$scope.actions = PSearchSrv(null, 'connector/cortex/action', {
diff --git a/frontend/app/views/directives/log-entry.html b/frontend/app/views/directives/log-entry.html
index 1cfec7f775..a65f1de562 100644
--- a/frontend/app/views/directives/log-entry.html
+++ b/frontend/app/views/directives/log-entry.html
@@ -6,13 +6,12 @@