Bug 5578 Followup: Hard Due Dates break hard-coded default circ rule

If you do not have an applicable circulation rule for a combination of branch,
item type and patron category defined in your Circulation and Fines rules,
the Hard Due Dates development prevents circulation by introducing an error:

Can't call method "output" on an undefined value at /home/magnus/kohahead/C4/Circulation.pm line 2713

This is because the $hardduedate variable is not defined.  Changing the conditional
to check it, rather that it's output, fixes the issue.  That's what this patch does.

Is this the longest commit message for a single line fix?  Maybe.

Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
This commit is contained in:
Ian Walls 2011-03-31 15:33:17 -04:00 committed by Chris Cormack
parent e57dadf762
commit 1d6fa48d19

View file

@ -2710,7 +2710,7 @@ sub CalcDateDue {
# if Hard Due Dates are used, retreive them and apply as necessary
my ($hardduedate, $hardduedatecompare) = GetHardDueDate($borrower->{'categorycode'},$itemtype, $branch);
if ( $hardduedate->output('iso') && $hardduedate->output('iso') ne '0000-00-00') {
if ( $hardduedate && $hardduedate->output('iso') ne '0000-00-00') {
# if the calculated due date is after the 'before' Hard Due Date (ceiling), override
if ( $datedue->output( 'iso' ) gt $hardduedate->output( 'iso' ) && $hardduedatecompare == -1) {
$datedue = $hardduedate;