Bug 9021: Flag issues

Check in and check out were failing for me.
Specificly, the $borrower->{flags}->{...} was not accessible as
a hash, so I put a hash ref check around the code that would fail.

TEST PLAN
---------
1) Attempt a checkout
   -- blows up with "1" not being allowed as a hash ref.
2) Apply patch
3) Attempt same checkout again
   -- success
4) prove -v t/db_dependent/Circulation_dateexpiry.t
   -- this triggers CanBookBeIssued
   -- this should succeed
5) prove -v t/db_dependent/rollingloans.t
   -- mine skipped the tests, but if configured, it
      should also trigger and succeed.
6) run koha qa test tools

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
This commit is contained in:
Mark Tompsett 2016-01-01 00:30:40 -05:00 committed by Kyle M Hall
parent 55445457c9
commit f347754d52

View file

@ -812,14 +812,16 @@ sub CanBookBeIssued {
ModDateLastSeen( $item->{'itemnumber'} );
return( { STATS => 1 }, {});
}
if ( $borrower->{flags}->{GNA} ) {
$issuingimpossible{GNA} = 1;
}
if ( $borrower->{flags}->{'LOST'} ) {
$issuingimpossible{CARD_LOST} = 1;
}
if ( $borrower->{flags}->{'DBARRED'} ) {
$issuingimpossible{DEBARRED} = 1;
if ( ref $borrower->{flags} ) {
if ( $borrower->{flags}->{GNA} ) {
$issuingimpossible{GNA} = 1;
}
if ( $borrower->{flags}->{'LOST'} ) {
$issuingimpossible{CARD_LOST} = 1;
}
if ( $borrower->{flags}->{'DBARRED'} ) {
$issuingimpossible{DEBARRED} = 1;
}
}
if ( !defined $borrower->{dateexpiry} || $borrower->{'dateexpiry'} eq '0000-00-00') {
$issuingimpossible{EXPIRED} = 1;