we delete objects, not IDs, so object-ify the penalty for delete
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Mon, 24 Nov 2008 15:13:15 +0000 (15:13 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Mon, 24 Nov 2008 15:13:15 +0000 (15:13 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@11319 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/perlmods/OpenILS/Utils/Penalty.pm

index 0351d46..7009eda 100644 (file)
@@ -26,15 +26,14 @@ sub calculate_penalties {
             $_->{standing_penalty} == $pen_obj->{standing_penalty} and
             ($_->{id} || '') ne ($pen_obj->{id} || '') } @$penalties;
 
+        my $pen = Fieldmapper::actor::user_standing_penalty->new;
+        $pen->$_($pen_obj->{$_}) for keys %$pen_obj;
+
         if(defined $pen_obj->{id}) {
-            $e->delete_actor_user_standing_penalty($pen_obj->{id}) 
-                or return $e->die_event;
+            $e->delete_actor_user_standing_penalty($pen) or return $e->die_event;
 
         } else {
-            my $newp = Fieldmapper::actor::user_standing_penalty->new;
-            $newp->$_($pen_obj->{$_}) for keys %$pen_obj;
-            $e->create_actor_user_standing_penalty($newp)
-                or return $e->die_event;
+            $e->create_actor_user_standing_penalty($pen) or return $e->die_event;
         }
     }