From 52309269dda27ad2c64d1e1439d3c1ee9ca7c13b Mon Sep 17 00:00:00 2001 From: Nabil Adouani Date: Sun, 8 Nov 2020 08:43:52 +0100 Subject: [PATCH] #1625 Use observable ignoreSimilarity flag in observable details page --- .../case/CaseObservablesItemCtrl.js | 60 +++++++++++-------- .../partials/observables/details/summary.html | 17 +++++- 2 files changed, 51 insertions(+), 26 deletions(-) diff --git a/frontend/app/scripts/controllers/case/CaseObservablesItemCtrl.js b/frontend/app/scripts/controllers/case/CaseObservablesItemCtrl.js index b07205e918..605f994af8 100644 --- a/frontend/app/scripts/controllers/case/CaseObservablesItemCtrl.js +++ b/frontend/app/scripts/controllers/case/CaseObservablesItemCtrl.js @@ -33,23 +33,6 @@ mode: 'vb' }; - // Add tab - CaseTabsSrv.addTab(observableName, { - name: observableName, - label: artifact.data || artifact.attachment.name, - closable: true, - state: 'app.case.observables-item', - params: { - itemId: artifact.id - } - }); - - // Select tab - $timeout(function() { - CaseTabsSrv.activateTab(observableName); - $('html,body').animate({scrollTop: $('body').offset().top}, 'fast'); - }, 0); - $scope.initScope = function (artifact) { var promise = $scope.analysisEnabled ? AnalyzerSrv.forDataType(artifact.dataType) : $q.resolve([]); @@ -171,14 +154,6 @@ }); }; - CaseArtifactSrv.similar(observableId, { - range: 'all', - sort: ['-startDate'] - }).then(function(response) { - $scope.similarArtifacts = response; - }); - - $scope.openArtifact = function (a) { $state.go('app.case.observables-item', { caseId: a.stats['case']._id, @@ -214,6 +189,10 @@ }) .then(function(response) { $scope.artifact = response.toJSON(); + + if(fieldName === 'ignoreSimilarity' && !!!newValue) { + $scope.getSimilarity(); + } }) .catch(function (response) { NotificationSrv.error('ObservableDetails', response.data, response.status); @@ -367,8 +346,39 @@ }); }; + $scope.getSimilarity = function() { + CaseArtifactSrv.similar(observableId, { + range: 'all', + sort: ['-startDate'] + }).then(function(response) { + $scope.similarArtifacts = response; + }); + }; + this.$onInit = function () { + // Add tab + CaseTabsSrv.addTab(observableName, { + name: observableName, + label: artifact.data || artifact.attachment.name, + closable: true, + state: 'app.case.observables-item', + params: { + itemId: artifact.id + } + }); + + // Select tab + $timeout(function() { + CaseTabsSrv.activateTab(observableName); + $('html,body').animate({scrollTop: $('body').offset().top}, 'fast'); + }, 0); + + // Fetch similar cases + if(!$scope.artifact.ignoreSimilarity) { + $scope.getSimilarity(); + } + if(SecuritySrv.checkPermissions(['manageShare'], $scope.userPermissions)) { $scope.loadShares(); } diff --git a/frontend/app/views/partials/observables/details/summary.html b/frontend/app/views/partials/observables/details/summary.html index 3a5e168b0d..b92960cb92 100644 --- a/frontend/app/views/partials/observables/details/summary.html +++ b/frontend/app/views/partials/observables/details/summary.html @@ -78,6 +78,20 @@

+
+
Ignored for similarity
+
+ + + +
+
+ + + +
+
+
Tags
@@ -101,8 +115,9 @@

-
+

Links

+
This observable has not been seen in any other case