View | Details | Raw Unified | Return to bug 25114
Collapse All | Expand All

(-)a/C4/Circulation.pm (-59 / +13 lines)
Lines 1604-1653 Get loan length for an itemtype, a borrower type and a branch Link Here
1604
sub GetLoanLength {
1604
sub GetLoanLength {
1605
    my ( $categorycode, $itemtype, $branchcode ) = @_;
1605
    my ( $categorycode, $itemtype, $branchcode ) = @_;
1606
1606
1607
    # Set search precedences
1608
    my @params = (
1609
        {
1610
            categorycode => $categorycode,
1611
            itemtype     => $itemtype,
1612
            branchcode   => $branchcode,
1613
        },
1614
        {
1615
            categorycode => $categorycode,
1616
            itemtype     => undef,
1617
            branchcode   => $branchcode,
1618
        },
1619
        {
1620
            categorycode => undef,
1621
            itemtype     => $itemtype,
1622
            branchcode   => $branchcode,
1623
        },
1624
        {
1625
            categorycode => undef,
1626
            itemtype     => undef,
1627
            branchcode   => $branchcode,
1628
        },
1629
        {
1630
            categorycode => $categorycode,
1631
            itemtype     => $itemtype,
1632
            branchcode   => undef,
1633
        },
1634
        {
1635
            categorycode => $categorycode,
1636
            itemtype     => undef,
1637
            branchcode   => undef,
1638
        },
1639
        {
1640
            categorycode => undef,
1641
            itemtype     => $itemtype,
1642
            branchcode   => undef,
1643
        },
1644
        {
1645
            categorycode => undef,
1646
            itemtype     => undef,
1647
            branchcode   => undef,
1648
        },
1649
    );
1650
1651
    # Initialize default values
1607
    # Initialize default values
1652
    my $rules = {
1608
    my $rules = {
1653
        issuelength   => 0,
1609
        issuelength   => 0,
Lines 1655-1675 sub GetLoanLength { Link Here
1655
        lengthunit    => 'days',
1611
        lengthunit    => 'days',
1656
    };
1612
    };
1657
1613
1658
    # Search for rules!
1614
    my $found = Koha::CirculationRules->get_effective_rules( {
1659
    foreach my $rule_name (qw( issuelength renewalperiod lengthunit )) {
1615
        branchcode => $branchcode,
1660
        foreach my $params (@params) {
1616
        categorycode => $categorycode,
1661
            my $rule = Koha::CirculationRules->search(
1617
        itemtype => $itemtype,
1662
                {
1618
        rules => [
1663
                    rule_name => $rule_name,
1619
            'issuelength',
1664
                    %$params,
1620
            'renewalperiod',
1665
                }
1621
            'lengthunit'
1666
            )->next();
1622
        ],
1623
    } );
1667
1624
1668
            if ($rule) {
1625
    # Search for rules!
1669
                $rules->{$rule_name} = $rule->rule_value;
1626
    foreach my $rule_name (keys %$found) {
1670
                last;
1627
        $rules->{$rule_name} = $found->{$rule_name};
1671
            }
1672
        }
1673
    }
1628
    }
1674
1629
1675
    return $rules;
1630
    return $rules;
1676
- 

Return to bug 25114