using new penalty org depth when setting invalid addr penalty. created const for...
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Fri, 10 Jul 2009 14:46:30 +0000 (14:46 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Fri, 10 Jul 2009 14:46:30 +0000 (14:46 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@13561 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/perlmods/OpenILS/Application/Actor.pm
Open-ILS/src/perlmods/OpenILS/Const.pm

index 2220d82..68503d1 100644 (file)
@@ -328,10 +328,15 @@ sub apply_invalid_addr_penalty {
 
     } elsif($enforce and $addr_count > 0 and !$addr_penalty) {
         
+        my $ptype = $e->retrieve_config_standing_penalty(29) or return $e->die_event;
+        my $depth = $ptype->org_depth;
+        my $ctx_org = $U->org_unit_ancestor_at_depth($patron->home_ou, $depth) if defined $depth;
+        $ctx_org = $patron->home_ou unless defined $ctx_org;
+        
         my $penalty = Fieldmapper::actor::user_standing_penalty->new;
         $penalty->usr($patron->id);
-        $penalty->org_unit($patron->home_ou); # TODO: use depth
-        $penalty->standing_penalty(29); # INVALID_PATRON_ADDRESS (TODO: make me a constant, please)
+        $penalty->org_unit($ctx_org);
+        $penalty->standing_penalty(OILS_PENALTY_INVALID_PATRON_ADDRESS);
 
         $e->create_actor_user_standing_penalty($penalty) or return $e->die_event;
         $e->commit;
index 5d58ef6..3af4aea 100644 (file)
@@ -111,6 +111,7 @@ econst OILS_ACQ_DEBIT_TYPE_TRANSFER => 'xfer';
 econst OILS_PENALTY_AUTO_ID => 100;
 econst OILS_PENALTY_PATRON_EXCEEDS_FINES => 1;
 econst OILS_PENALTY_PATRON_EXCEEDS_OVERDUE_COUNT => 2;
+econst OILS_PENALTY_INVALID_PATRON_ADDRESS => 29;
 
 
 econst OILS_BILLING_TYPE_NOTIFICATION_FEE => 9;