Expansion of Liz Rea's original patch
Bug report specifically mentioned kack of the
Zip/Postal code but all used address fields should
be included. Moved the address
generation to its own sub.
Hopefully using an if else will read more clearly than
the original ternary operator proved to be
---
 C4/SIP/ILS/Patron.pm |   22 +++++++++++++++++++---
 1 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/C4/SIP/ILS/Patron.pm b/C4/SIP/ILS/Patron.pm
index 99fd6e7..38b7da3 100644
--- a/C4/SIP/ILS/Patron.pm
+++ b/C4/SIP/ILS/Patron.pm
@@ -59,13 +59,11 @@ sub new {
         $kp->{opacnote} .= 'PATRON EXPIRED';
     }
        my %ilspatron;
-       my $adr     = $kp->{streetnumber} || '';
-       my $address = $kp->{address}      || ''; 
+    my $adr     = _get_address($kp);
     my $dob     = $kp->{dateofbirth};
     $dob and $dob =~ s/-//g;    # YYYYMMDD
     my $dexpiry     = $kp->{dateexpiry};
     $dexpiry and $dexpiry =~ s/-//g;    # YYYYMMDD
-       $adr .= ($adr && $address) ? " $address" : $address;
     my $fines_amount = $flags->{CHARGES}->{amount};
     $fines_amount = ($fines_amount and $fines_amount > 0) ? $fines_amount : 0;
     {
@@ -350,6 +348,24 @@ sub charge_denied {
     return "Please contact library staff";
 }
 
+sub _get_address {
+    my $patron = shift;
+
+    my $address = $patron->{streetnumber} || q{};
+    for my $field (qw( roaddetails address address2 city state zipcode 
country))
+    {
+        next unless $patron->{$field};
+        if ($address) {
+            $address .= q{ };
+            $address .= $patron->{$field};
+        }
+        else {
+            $address .= $patron->{$field};
+        }
+    }
+    return $address;
+}
+
 1;
 __END__
 
-- 
1.7.7.6

_______________________________________________
Koha-patches mailing list
[email protected]
http://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-patches
website : http://www.koha-community.org/
git : http://git.koha-community.org/
bugs : http://bugs.koha-community.org/

Reply via email to