From: Jason Boyer <jboyer@library.in.gov> Date: Thu, 21 Jun 2018 19:57:41 +0000 (-0400) Subject: LP1735816: Delete Copy Notes in the Web Client X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=9f8afc49756e7511aad843cc9f9f9cf2dc072b61;p=evergreen%2Fjoelewis.git 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 <jboyer@library.in.gov> Signed-off-by: Amy Constantino <aconstantino@cwmars.org> Signed-off-by: Jason Stephenson <jason@sigio.com> --- 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 @@ </div> </div> - <div class="row" ng-repeat="n in note_list" ng-init="pub = n.pub() == 't'; title = n.title(); value = n.value(); deleted = n.isdeleted()"> - <div class="col-md-12"> + <div class="row" ng-repeat="n in note_list" ng-init="pub = n.pub() == 't'; title = n.title(); value = n.value()"> + <div class="col-md-12" ng-show="!n.isdeleted()"> <div class="row"> <div class="col-md-6"> <input class="form-control" type="text" ng-change="n.title(title) && n.ischanged(1)" - ng-model="title" placeholder="[% l('Title...') %]" ng-disabled="deleted"/> + ng-model="title" placeholder="[% l('Title...') %]""/> </div> <div class="col-md-3"> <label> @@ -66,16 +66,13 @@ </label> </div> <div class="col-md-3"> - <label> - <input type="checkbox" ng-model="deleted" ng-change="n.isdeleted(deleted)"/> - [% l('Deleted?') %] - </label> + <button type="button" ng-click="n.isdeleted(1)" class="btn btn-warning">[% l('Remove') %]</button> </div> </div> <div class="row pad-vert"> <div class="col-md-10"> <textarea class="form-control" ng-change="n.value(value) && n.ischanged(1)" - ng-model="value" placeholder="[% l('Note...') %]" ng-disabled="deleted"> + ng-model="value" placeholder="[% l('Note...') %]"> </textarea> </div> <div class="col-md-2"> 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(); }