From 8bd99e26f6883e44d7504329ea08c01a29267d9d Mon Sep 17 00:00:00 2001 From: Nabil Adouani Date: Thu, 25 Feb 2021 20:25:26 +0100 Subject: [PATCH] #1798 Add the merge button in case details page --- .../scripts/controllers/case/CaseMainCtrl.js | 33 +++++++++++-------- frontend/app/scripts/services/api/CaseSrv.js | 20 ++++++----- .../app/views/partials/case/case.merge.html | 2 +- .../views/partials/case/case.panelinfo.html | 4 +-- 4 files changed, 34 insertions(+), 25 deletions(-) diff --git a/frontend/app/scripts/controllers/case/CaseMainCtrl.js b/frontend/app/scripts/controllers/case/CaseMainCtrl.js index f6b5e9763a..49ffae23de 100644 --- a/frontend/app/scripts/controllers/case/CaseMainCtrl.js +++ b/frontend/app/scripts/controllers/case/CaseMainCtrl.js @@ -253,20 +253,25 @@ }); caseModal.result.then(function(selectedCase) { - CaseSrv.merge({}, { - caseId: $scope.caze.id, - mergedCaseId: selectedCase.id - }, function (merged) { - - $state.go('app.case.details', { - caseId: merged.id - }); - - NotificationSrv.log('The cases have been successfully merged into a new case #' + merged.caseId, 'success'); - }, function (response) { - //this.pendingAsync = false; - NotificationSrv.error('Case Merge', response.data, response.status); - }); + CaseSrv.merge([$scope.caze._id, selectedCase._id]) + .then(function (response) { + var merged = response.data; + + $state.go('app.case.details', { + caseId: merged._id + }); + + NotificationSrv.log('The cases have been successfully merged into a new case #' + merged.number, 'success'); + }) + .catch(function (response) { + //this.pendingAsync = false; + NotificationSrv.error('Case Merge', response.data, response.status); + }) + + // CaseSrv.merge({}, { + // caseId: $scope.caze.id, + // mergedCaseId: selectedCase.id + // }, , ); }).catch(function(err) { if(err && !_.isString(err)) { NotificationSrv.error('Case Merge', err.data, err.status); diff --git a/frontend/app/scripts/services/api/CaseSrv.js b/frontend/app/scripts/services/api/CaseSrv.js index 1597dd9f9a..558334e887 100644 --- a/frontend/app/scripts/services/api/CaseSrv.js +++ b/frontend/app/scripts/services/api/CaseSrv.js @@ -12,14 +12,14 @@ url: './api/case/:caseId/links', isArray: true }, - merge: { - method: 'POST', - url: './api/case/:caseId/_merge/:mergedCaseId', - params: { - caseId: '@caseId', - mergedCaseId: '@mergedCaseId', - } - }, + // merge: { + // method: 'POST', + // url: './api/case/:caseId/_merge/:mergedCaseId', + // params: { + // caseId: '@caseId', + // mergedCaseId: '@mergedCaseId', + // } + // }, forceRemove: { method: 'DELETE', url: './api/case/:caseId/force', @@ -94,6 +94,10 @@ return defer.promise; }; + this.merge = function(ids) { + return $http.post('./api/v1/case/_merge/' + ids.join(',')); + }; + this.bulkUpdate = function(ids, update) { return $http.patch('./api/case/_bulk', _.extend({ids: ids}, update)); }; diff --git a/frontend/app/views/partials/case/case.merge.html b/frontend/app/views/partials/case/case.merge.html index c0e678db2b..df94ac7cc1 100644 --- a/frontend/app/views/partials/case/case.merge.html +++ b/frontend/app/views/partials/case/case.merge.html @@ -33,7 +33,7 @@

{{c.title}}

- + diff --git a/frontend/app/views/partials/case/case.panelinfo.html b/frontend/app/views/partials/case/case.panelinfo.html index 89556174d3..659635fa3d 100644 --- a/frontend/app/views/partials/case/case.panelinfo.html +++ b/frontend/app/views/partials/case/case.panelinfo.html @@ -109,12 +109,12 @@

- +