From 6c8fa1cf36bb36be72928e8e66171f66484f1959 Mon Sep 17 00:00:00 2001 From: Mikel Cordovilla Date: Tue, 4 Jun 2024 22:26:43 +0200 Subject: [PATCH 1/2] OO#160 a delivery can only be created once. If try a second time, the server will send an error --- .../lieferungen/lieferungen.controller.js | 24 ++++++++++++++----- .../detail/lieferungen/lieferungen.html | 4 ++-- 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/app/scripts/abotypen/detail/lieferungen/lieferungen.controller.js b/app/scripts/abotypen/detail/lieferungen/lieferungen.controller.js index 970ddf0a..ed8196bb 100644 --- a/app/scripts/abotypen/detail/lieferungen/lieferungen.controller.js +++ b/app/scripts/abotypen/detail/lieferungen/lieferungen.controller.js @@ -26,6 +26,7 @@ angular.module('openolitor-admin') return $scope.lieferungen !== undefined; }; + $scope.addLieferung = function() { if ($scope.datumExistiert($scope.template.datum)) { return; @@ -38,7 +39,12 @@ angular.module('openolitor-admin') vertriebId: $scope.selectedVertrieb.id }); newModel.$save(); - $scope.template.creating = $scope.template.creating + 1; + var newModel = { + daten: [$scope.template.datum], + abotypId: parseInt($routeParams.id), + vertriebId: $scope.selectedVertrieb.id + }; + $scope.setupFlagToKnowIfCreating(newModel,[$scope.template.datum]); $scope.template.datum = undefined; $scope.status.open = false; }; @@ -87,6 +93,14 @@ angular.module('openolitor-admin') }); } + $scope.setupFlagToKnowIfCreating = function(lieferungenModel,uniqueLieferdaten){ + $http.get(appConfig.get().API_URL + + 'abotypen/' + lieferungenModel.abotypId + '/vertriebe/' + lieferungenModel.vertriebId + '/allesLieferungen', lieferungenModel).then(function(result) { + var allLieferungenDates = lodash.map(result.data, function(l){return l.datum.getFullYear() + '' + ("0" + (l.datum.getMonth() + 1 )).slice(-2) + '' + ("0" + l.datum.getDate()).slice(-2)}); + var dateFormatUniqueLieferdaten = lodash.map(uniqueLieferdaten, function(d){return d.getFullYear() + '' + ("0" + (d.getMonth() + 1 )).slice(-2) + '' + ("0" + d.getDate()).slice(-2)}) + $scope.template.creating = $scope.template.creating + dateFormatUniqueLieferdaten.length - lodash.intersectionWith(dateFormatUniqueLieferdaten, allLieferungenDates,lodash.isEqual).length; + }); + }; $scope.generateLieferungen = function(lieferdaten) { var uniqueLieferdaten = lodash.filter(lieferdaten, function(datum) { @@ -100,11 +114,9 @@ angular.module('openolitor-admin') $http.post(appConfig.get().API_URL + 'abotypen/' + newModel.abotypId + '/vertriebe/' + newModel.vertriebId + '/lieferungen/aktionen/generieren', - newModel).then(function() { - $scope.template.creating = $scope.template.creating + - lieferdaten - .length; - }); + newModel).then(function(){ + $scope.setupFlagToKnowIfCreating(newModel,uniqueLieferdaten); + }); }; $scope.canGenerateLieferungen = function() { diff --git a/app/scripts/abotypen/detail/lieferungen/lieferungen.html b/app/scripts/abotypen/detail/lieferungen/lieferungen.html index 917657b9..11ba371c 100644 --- a/app/scripts/abotypen/detail/lieferungen/lieferungen.html +++ b/app/scripts/abotypen/detail/lieferungen/lieferungen.html @@ -1,7 +1,7 @@

Lieferungen - +

@@ -17,7 +17,7 @@

Lieferungen
-
+