buttons form merge all

This commit is contained in:
Michele Artini 2021-01-18 15:45:10 +01:00
parent cfdfed43b1
commit 9dd2a5f523
4 changed files with 32 additions and 12 deletions

View File

@ -2,4 +2,3 @@ TODO
----
# Aggiungere filtro nelle select per l'editing dei metadati (solo se la lista è lunga)
# Nella risoluzione dei conflicts aggiungere i bottoni merge_all, all_different, merge_advanced

View File

@ -32,16 +32,10 @@
<div class="card-footer bg-secondary py-1">
<button class="btn btn-sm btn-outline-primary" data-toggle="modal" data-target="#addNewConflictModal" ng-click="prepareAddConflictModal(w)">add</button>
<div class="btn-group">
<button type="button"
class="btn btn-sm btn-primary pull-right"
data-toggle="modal" data-target="#resolveConflictsModal"
ng-click="prepareConflictsModal(w)">resolve manually</button>
<button type="button"
class="btn btn-sm btn-warning pull-right" ng-click="resolveConflictGroup(w, true)">merge all</button>
<button type="button"
class="btn btn-sm btn-danger pull-right" ng-click="resolveConflictGroup(w, false)">all differents</button>
<button class="btn btn-sm btn-primary" ng-click="prepareConflictsModal(w)" data-toggle="modal" data-target="#resolveConflictsModal">resolve manually</button>
<button class="btn btn-sm btn-warning" ng-click="resolveConflictGroup(w, true)">merge all</button>
<button class="btn btn-sm btn-danger" ng-click="resolveConflictGroup(w, false)">all differents</button>
</div>
</div>
</div>

View File

@ -22,7 +22,11 @@
<div class="card-footer bg-secondary py-1">
<button class="btn btn-sm btn-outline-primary" data-toggle="modal" data-target="#addConflictModal">add</button>
<button class="btn btn-sm btn-primary" data-toggle="modal" data-target="#resolveConflictsModal" ng-click="prepareConflictsModal()" ng-if="showButtons && conflicts.length > 0">resolve conflicts</button>
<div class="btn-group" ng-if="showButtons && conflicts.length > 0">
<button class="btn btn-sm btn-primary" ng-click="prepareConflictsModal()" data-toggle="modal" data-target="#resolveConflictsModal">resolve conflicts</button>
<button class="btn btn-sm btn-warning" ng-click="resolveConflicts(true)">merge all</button>
<button class="btn btn-sm btn-danger" ng-click="resolveConflicts(false)">all differents</button>
</div>
</div>
</div>

View File

@ -273,7 +273,7 @@ orgsModule.directive('orgDuplicates', function($http, $location, $route) {
}
});
orgsModule.directive('orgConflicts', function($http, $location, $route, $q) {
orgsModule.directive('orgConflicts', function($http, $window, $location, $route, $q) {
return {
restrict: 'E',
scope: {
@ -309,6 +309,29 @@ orgsModule.directive('orgConflicts', function($http, $location, $route, $q) {
angular.forEach(scope.candidateConflicts, function(org) { org.show = 'secondary'; });
});
}
scope.resolveConflicts = function(merge) {
if (scope.conflicts.length > 0) {
if (merge && !confirm("You are merging " + (scope.conflicts.length + 1) + " organization(s).\n\nDo you confirm?" )) {
return;
}
if (!merge && !confirm("You are marking as different " + (scope.conflicts.length + 1) + " organization(s).\n\nDo you confirm?" )) {
return;
}
var ids = [scope.org.id];
angular.forEach(scope.conflicts, function(o, pos) { ids.push(o.id); });
if (merge) {
call_http_post($http, "/api/organizations/conflicts/fix/similar", ids, function(res) { $window.location.assign('#!/edit/0/' + res.data[0]); });
} else {
call_http_post($http, "/api/organizations/conflicts/fix/different", ids, function(res) { $route.reload(); });
}
} else {
alert('Invalid group !!!');
}
}
}
}
});