From 71a6ade6464e905e50253d3112a83cca4c9f0adb Mon Sep 17 00:00:00 2001 From: erickson Date: Thu, 12 Oct 2006 21:11:11 +0000 Subject: [PATCH] always creates its own editor object so it can safely commit/rollback git-svn-id: svn://svn.open-ils.org/ILS/trunk@6458 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/src/perlmods/OpenILS/Application/Penalty.pm | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Penalty.pm b/Open-ILS/src/perlmods/OpenILS/Application/Penalty.pm index 3b2545290d..1345bdba20 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Penalty.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Penalty.pm @@ -85,6 +85,7 @@ sub patron_penalty { $args->{fetch_patron_money_info} = 1; $args->{ignore_user_status} = 1; + $args->{editor} = undef; # just to be safe my $runner = OpenILS::Application::Circ::ScriptBuilder->build($args); # - Load up the script and run it @@ -107,9 +108,7 @@ sub patron_penalty { $evt = update_patron_penalties( patron => $args->{patron}, - penalties => $all, - editor => $args->{editor}, - ) if $$args{update}; + penalties => $all) if $$args{update}; # - The caller won't know it failed, so log it $logger->error("penalty: Error updating the patron ". @@ -126,15 +125,14 @@ sub patron_penalty { # -------------------------------------------------------------- sub update_patron_penalties { - my %args = @_; - my $patron = $args{patron}; - my $penalties = $args{penalties}; - my $editor = $args{editor} || new_editor(xact=>1); - my $pid = $patron->id; + my %args = @_; + my $patron = $args{patron}; + my $penalties = $args{penalties}; + my $editor = new_editor(xact=>1); + my $pid = $patron->id; $logger->debug("updating penalties for patron $pid => @$penalties"); - # - fetch the current penalties my $existing = $editor->search_actor_user_standing_penalty({usr=>$pid}); @@ -153,7 +151,7 @@ sub update_patron_penalties { $e->penalty_type . " from user $pid"); $editor->delete_actor_user_standing_penalty($e) - or return $editor->event; + or return $editor->die_event; } } @@ -168,7 +166,7 @@ sub update_patron_penalties { $newp->usr( $pid ); $editor->create_actor_user_standing_penalty($newp) - or return $editor->event; + or return $editor->die_event; } } -- 2.11.0