Expansion of Liz Rea's original patch
Bug report specifically mentioned lack 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
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
$kp->{opacnote} .= 'PATRON EXPIRED';
}
my %ilspatron;
$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
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;
{
my $fines_amount = $flags->{CHARGES}->{amount};
$fines_amount = ($fines_amount and $fines_amount > 0) ? $fines_amount : 0;
{
return "Please contact library staff";
}
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;
+}
+