implemented fee_amount method
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 24 Aug 2006 13:57:48 +0000 (13:57 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 24 Aug 2006 13:57:48 +0000 (13:57 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@5650 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/perlmods/OpenILS/SIP/Patron.pm

index 17f5fbd..88259f2 100644 (file)
@@ -115,9 +115,6 @@ sub address {
        $addr = $u->mailing_address unless $addr;
        my $str = __addr_string($addr);
        syslog('LOG_DEBUG', "OILS: Patron address: $str");
-       #my $maddr = $u->mailing_address;
-       #$str .= "\n" . __addr_string($maddr) 
-               #if $maddr and $maddr->id ne $addr->id;
        return $str;
 }
 
@@ -168,13 +165,13 @@ sub recall_ok {
 
 sub hold_ok {
     my $self = shift;
-    return 0;
+        return $self->charge_ok;
 }
 
 # return true if the card provided is marked as lost
 sub card_lost {
     my $self = shift;
-    return 0;
+        return $self->{user}->card->active eq 't';
 }
 
 sub recall_overdue {
@@ -196,7 +193,14 @@ sub currency {
 
 sub fee_amount {
        my $self = shift;
-       return 0;
+
+       my $total = 0;
+       my $e = OpenILS::SIP->editor();
+       my $xacts = $e->search_money_open_billable_transaction_summary( 
+               { usr => $self->{user}->id, balance_owed => { '!=' => 0 } } );
+       
+       $total += $_->balance_owed for @$xacts;
+       return $total;
 }
 
 sub screen_msg {