From cc6e65138e7055422ee33552c848b0ecd95fcf79 Mon Sep 17 00:00:00 2001 From: "michele.artini" Date: Fri, 23 Apr 2021 11:31:24 +0200 Subject: [PATCH] fixed a problem adding the same org as suplicate --- .../eu/dnetlib/organizations/utils/DatabaseUtils.java | 1 + .../main/resources/static/resources/js/organizations.js | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/apps/dnet-orgs-database-application/src/main/java/eu/dnetlib/organizations/utils/DatabaseUtils.java b/apps/dnet-orgs-database-application/src/main/java/eu/dnetlib/organizations/utils/DatabaseUtils.java index 1100f434..dd10d3a7 100644 --- a/apps/dnet-orgs-database-application/src/main/java/eu/dnetlib/organizations/utils/DatabaseUtils.java +++ b/apps/dnet-orgs-database-application/src/main/java/eu/dnetlib/organizations/utils/DatabaseUtils.java @@ -217,6 +217,7 @@ public class DatabaseUtils { simrels.stream() .map(OpenaireDuplicate::getOaOriginalId) .filter(id -> id.startsWith(OpenOrgsConstants.OPENORGS_PENDING_PREFIX)) + .distinct() .forEach(organizationRepository::deleteById); list.forEach(d -> { diff --git a/apps/dnet-orgs-database-application/src/main/resources/static/resources/js/organizations.js b/apps/dnet-orgs-database-application/src/main/resources/static/resources/js/organizations.js index 2b4130be..6d35ce79 100644 --- a/apps/dnet-orgs-database-application/src/main/resources/static/resources/js/organizations.js +++ b/apps/dnet-orgs-database-application/src/main/resources/static/resources/js/organizations.js @@ -251,6 +251,14 @@ orgsModule.directive('orgDuplicates', function($http, $location, $route) { scope.newDuplicate = {}; scope.addDuplicate = function() { + + for (var i = 0; i < scope.duplicates.length; i++) { + if (scope.duplicates[i].oaOriginalId == scope.newDuplicate.id) { + alert("The selected organization has been already added !!!"); + return; + } + } + scope.duplicates.push({ 'localId' : scope.orgId, 'oaOriginalId' : scope.newDuplicate.id, @@ -263,6 +271,7 @@ orgsModule.directive('orgDuplicates', function($http, $location, $route) { 'relType' : 'is_similar' }); + // I find and copy the duplicates of the selected org call_http_get($http, 'api/organizations/duplicates?id=' + scope.newDuplicate.id, function(res) { angular.forEach(res.data, function(dup) { dup.localId = scope.orgId;