Lines 58-64
use Koha::RefundLostItemFeeRules;
Link Here
|
58 |
use Koha::Account::Lines; |
58 |
use Koha::Account::Lines; |
59 |
use Koha::Account::Offsets; |
59 |
use Koha::Account::Offsets; |
60 |
use Carp; |
60 |
use Carp; |
61 |
use List::MoreUtils qw( uniq ); |
61 |
use List::MoreUtils qw( uniq any ); |
62 |
use Scalar::Util qw( looks_like_number ); |
62 |
use Scalar::Util qw( looks_like_number ); |
63 |
use Date::Calc qw( |
63 |
use Date::Calc qw( |
64 |
Today |
64 |
Today |
Lines 2595-2600
sub CanBookBeRenewed {
Link Here
|
2595 |
my $item = GetItem($itemnumber) or return ( 0, 'no_item' ); |
2595 |
my $item = GetItem($itemnumber) or return ( 0, 'no_item' ); |
2596 |
my $issue = Koha::Checkouts->find( { itemnumber => $itemnumber } ) or return ( 0, 'no_checkout' ); |
2596 |
my $issue = Koha::Checkouts->find( { itemnumber => $itemnumber } ) or return ( 0, 'no_checkout' ); |
2597 |
return ( 0, 'onsite_checkout' ) if $issue->onsite_checkout; |
2597 |
return ( 0, 'onsite_checkout' ) if $issue->onsite_checkout; |
|
|
2598 |
return ( 0, 'item_denied_renewal') if _item_denied_renewal({ item => $item }); |
2599 |
|
2598 |
|
2600 |
|
2599 |
$borrowernumber ||= $issue->borrowernumber; |
2601 |
$borrowernumber ||= $issue->borrowernumber; |
2600 |
my $patron = Koha::Patrons->find( $borrowernumber ) |
2602 |
my $patron = Koha::Patrons->find( $borrowernumber ) |
Lines 4100-4105
sub _CalculateAndUpdateFine {
Link Here
|
4100 |
} |
4102 |
} |
4101 |
} |
4103 |
} |
4102 |
|
4104 |
|
|
|
4105 |
sub _item_denied_renewal { |
4106 |
my ($params) = @_; |
4107 |
|
4108 |
my $item = $params->{item}; |
4109 |
return unless $item; |
4110 |
|
4111 |
my $yaml = C4::Context->preference('ItemsDeniedRenewal'); |
4112 |
my @lines = split /\n/, $yaml; |
4113 |
my $denyingrules; |
4114 |
foreach my $line (@lines){ |
4115 |
my ($field,$array) = split /:/, $line; |
4116 |
$array =~ s/[ [\]\r]//g; |
4117 |
my @array = split /,/, $array; |
4118 |
@array = map { $_ eq 'NULL' ? undef : $_ } @array; |
4119 |
@array = map { $_ eq '""' || $_ eq "''" ? undef : $_ } @array; |
4120 |
$denyingrules->{$field} = \@array; |
4121 |
} |
4122 |
return unless $denyingrules; |
4123 |
foreach my $field (keys %$denyingrules) { |
4124 |
my $val = $item->{$field}; |
4125 |
if( !defined $val) { |
4126 |
if ( any { !defined $_ } @{$denyingrules->{$field}} ){ |
4127 |
return 1; |
4128 |
} |
4129 |
} elsif (any { $val eq $_ } @{$denyingrules->{$field}}) { |
4130 |
# If the results matches the values in the syspref |
4131 |
# We return true if match found |
4132 |
return 1; |
4133 |
} |
4134 |
} |
4135 |
return 0; |
4136 |
} |
4137 |
|
4138 |
|
4103 |
1; |
4139 |
1; |
4104 |
|
4140 |
|
4105 |
__END__ |
4141 |
__END__ |
4106 |
- |
|
|