From 9f8afc49756e7511aad843cc9f9f9cf2dc072b61 Mon Sep 17 00:00:00 2001 From: Jason Boyer Date: Thu, 21 Jun 2018 15:57:41 -0400 Subject: [PATCH] LP1735816: Delete Copy Notes in the Web Client A combination of calling convention errors and template picky-ness prevented the deletion of copy notes in the web client. This patch returns that ability. Signed-off-by: Jason Boyer Signed-off-by: Amy Constantino Signed-off-by: Jason Stephenson --- .../OpenILS/Application/Cat/AssetCommon.pm | 2 +- .../staff/cat/volcopy/t_copy_notes.tt2 | 13 ++--- .../js/ui/default/staff/cat/volcopy/app.js | 49 +++++++++++-------- 3 files changed, 35 insertions(+), 29 deletions(-) diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/Cat/AssetCommon.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Cat/AssetCommon.pm index e52d94f341..f9f60dcef5 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Cat/AssetCommon.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Cat/AssetCommon.pm @@ -250,7 +250,7 @@ sub update_copy_notes { } elsif ($incoming_note->ischanged) { $incoming_note = $editor->update_asset_copy_note($incoming_note) } elsif ($incoming_note->isdeleted) { - $incoming_note = $editor->delete_asset_copy_note($incoming_note->id) + $incoming_note = $editor->delete_asset_copy_note($incoming_note) } } diff --git a/Open-ILS/src/templates/staff/cat/volcopy/t_copy_notes.tt2 b/Open-ILS/src/templates/staff/cat/volcopy/t_copy_notes.tt2 index a679afafbf..671b3e9d08 100644 --- a/Open-ILS/src/templates/staff/cat/volcopy/t_copy_notes.tt2 +++ b/Open-ILS/src/templates/staff/cat/volcopy/t_copy_notes.tt2 @@ -52,12 +52,12 @@ -
-
+
+
+ ng-model="title" placeholder="[% l('Title...') %]""/>
- +
diff --git a/Open-ILS/web/js/ui/default/staff/cat/volcopy/app.js b/Open-ILS/web/js/ui/default/staff/cat/volcopy/app.js index 804b7ee55d..ec422072b6 100644 --- a/Open-ILS/web/js/ui/default/staff/cat/volcopy/app.js +++ b/Open-ILS/web/js/ui/default/staff/cat/volcopy/app.js @@ -1922,9 +1922,16 @@ function($scope , $q , $window , $routeParams , $location , $timeout , egCore , egCore.org.settings([ 'ui.staff.require_initials.copy_notes' ]).then(function(set) { - $scope.require_initials = Boolean(set['ui.staff.require_initials.copy_notes']); + $scope.require_initials_ous = Boolean(set['ui.staff.require_initials.copy_notes']); }); + $scope.are_initials_required = function() { + $scope.require_initials = $scope.require_initials_ous && ($scope.note.value.length > 0 || $scope.note.title.length > 0); + }; + + $scope.$watch('note.value.length', $scope.are_initials_required); + $scope.$watch('note.title.length', $scope.are_initials_required); + $scope.note_list = []; if (copy_list.length == 1) { $scope.note_list = copy_list[0].notes(); @@ -1932,28 +1939,30 @@ function($scope , $q , $window , $routeParams , $location , $timeout , egCore , $scope.ok = function(note) { - if ($scope.initials) { - note.value = egCore.strings.$replace( - egCore.strings.COPY_NOTE_INITIALS, { - value : note.value, - initials : $scope.initials, - ws_ou : egCore.org.get( - egCore.auth.user().ws_ou()).shortname() + if (note.value.length > 0 || note.title.length > 0) { + if ($scope.initials) { + note.value = egCore.strings.$replace( + egCore.strings.COPY_NOTE_INITIALS, { + value : note.value, + initials : $scope.initials, + ws_ou : egCore.org.get( + egCore.auth.user().ws_ou()).shortname() + }); + } + + angular.forEach(copy_list, function (cp) { + if (!angular.isArray(cp.notes())) cp.notes([]); + var n = new egCore.idl.acpn(); + n.isnew(1); + n.creator(note.creator); + n.pub(note.pub); + n.title(note.title); + n.value(note.value); + n.owning_copy(cp.id()); + cp.notes().push( n ); }); } - angular.forEach(copy_list, function (cp) { - if (!angular.isArray(cp.notes())) cp.notes([]); - var n = new egCore.idl.acpn(); - n.isnew(1); - n.creator(note.creator); - n.pub(note.pub); - n.title(note.title); - n.value(note.value); - n.owning_copy(cp.id()); - cp.notes().push( n ); - }); - $uibModalInstance.close(); } -- 2.43.2