|
Lines 1542-1591
Get loan length for an itemtype, a borrower type and a branch
Link Here
|
| 1542 |
sub GetLoanLength { |
1542 |
sub GetLoanLength { |
| 1543 |
my ( $categorycode, $itemtype, $branchcode ) = @_; |
1543 |
my ( $categorycode, $itemtype, $branchcode ) = @_; |
| 1544 |
|
1544 |
|
| 1545 |
# Set search precedences |
|
|
| 1546 |
my @params = ( |
| 1547 |
{ |
| 1548 |
categorycode => $categorycode, |
| 1549 |
itemtype => $itemtype, |
| 1550 |
branchcode => $branchcode, |
| 1551 |
}, |
| 1552 |
{ |
| 1553 |
categorycode => $categorycode, |
| 1554 |
itemtype => undef, |
| 1555 |
branchcode => $branchcode, |
| 1556 |
}, |
| 1557 |
{ |
| 1558 |
categorycode => undef, |
| 1559 |
itemtype => $itemtype, |
| 1560 |
branchcode => $branchcode, |
| 1561 |
}, |
| 1562 |
{ |
| 1563 |
categorycode => undef, |
| 1564 |
itemtype => undef, |
| 1565 |
branchcode => $branchcode, |
| 1566 |
}, |
| 1567 |
{ |
| 1568 |
categorycode => $categorycode, |
| 1569 |
itemtype => $itemtype, |
| 1570 |
branchcode => undef, |
| 1571 |
}, |
| 1572 |
{ |
| 1573 |
categorycode => $categorycode, |
| 1574 |
itemtype => undef, |
| 1575 |
branchcode => undef, |
| 1576 |
}, |
| 1577 |
{ |
| 1578 |
categorycode => undef, |
| 1579 |
itemtype => $itemtype, |
| 1580 |
branchcode => undef, |
| 1581 |
}, |
| 1582 |
{ |
| 1583 |
categorycode => undef, |
| 1584 |
itemtype => undef, |
| 1585 |
branchcode => undef, |
| 1586 |
}, |
| 1587 |
); |
| 1588 |
|
| 1589 |
# Initialize default values |
1545 |
# Initialize default values |
| 1590 |
my $rules = { |
1546 |
my $rules = { |
| 1591 |
issuelength => 0, |
1547 |
issuelength => 0, |
|
Lines 1593-1613
sub GetLoanLength {
Link Here
|
| 1593 |
lengthunit => 'days', |
1549 |
lengthunit => 'days', |
| 1594 |
}; |
1550 |
}; |
| 1595 |
|
1551 |
|
| 1596 |
# Search for rules! |
1552 |
my $found = Koha::CirculationRules->get_effective_rules( { |
| 1597 |
foreach my $rule_name (qw( issuelength renewalperiod lengthunit )) { |
1553 |
branchcode => $branchcode, |
| 1598 |
foreach my $params (@params) { |
1554 |
categorycode => $categorycode, |
| 1599 |
my $rule = Koha::CirculationRules->search( |
1555 |
itemtype => $itemtype, |
| 1600 |
{ |
1556 |
rules => [ |
| 1601 |
rule_name => $rule_name, |
1557 |
'issuelength', |
| 1602 |
%$params, |
1558 |
'renewalperiod', |
| 1603 |
} |
1559 |
'lengthunit' |
| 1604 |
)->next(); |
1560 |
], |
|
|
1561 |
} ); |
| 1605 |
|
1562 |
|
| 1606 |
if ($rule) { |
1563 |
# Search for rules! |
| 1607 |
$rules->{$rule_name} = $rule->rule_value; |
1564 |
foreach my $rule_name (keys %$found) { |
| 1608 |
last; |
1565 |
$rules->{$rule_name} = $found->{$rule_name}; |
| 1609 |
} |
|
|
| 1610 |
} |
| 1611 |
} |
1566 |
} |
| 1612 |
|
1567 |
|
| 1613 |
return $rules; |
1568 |
return $rules; |
| 1614 |
- |
|
|