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

(-)a/C4/Circulation.pm (-8 / +8 lines)
Lines 1241-1254 sub checkHighHolds { Link Here
1241
        my $issuedate = dt_from_string();
1241
        my $issuedate = dt_from_string();
1242
1242
1243
        my $itype = $item_object->effective_itemtype;
1243
        my $itype = $item_object->effective_itemtype;
1244
        my $useDaysMode_value = Koha::CirculationRules->get_useDaysMode_effective_value(
1244
        my $daysmode = Koha::CirculationRules->get_effective_daysmode(
1245
            {
1245
            {
1246
                categorycode => $borrower->{categorycode},
1246
                categorycode => $borrower->{categorycode},
1247
                itemtype     => $itype,
1247
                itemtype     => $itype,
1248
                branchcode   => $branchcode,
1248
                branchcode   => $branchcode,
1249
            }
1249
            }
1250
        );
1250
        );
1251
        my $calendar = Koha::Calendar->new( branchcode => $branchcode, days_mode => $useDaysMode_value );
1251
        my $calendar = Koha::Calendar->new( branchcode => $branchcode, days_mode => $daysmode );
1252
1252
1253
        my $orig_due = C4::Circulation::CalcDateDue( $issuedate, $itype, $branchcode, $borrower );
1253
        my $orig_due = C4::Circulation::CalcDateDue( $issuedate, $itype, $branchcode, $borrower );
1254
1254
Lines 3583-3589 sub updateWrongTransfer { Link Here
3583
$newdatedue = CalcDateDue($startdate,$itemtype,$branchcode,$borrower);
3583
$newdatedue = CalcDateDue($startdate,$itemtype,$branchcode,$borrower);
3584
3584
3585
this function calculates the due date given the start date and configured circulation rules,
3585
this function calculates the due date given the start date and configured circulation rules,
3586
checking against the holidays calendar as per the useDaysMode circulation rule.
3586
checking against the holidays calendar as per the daysmode circulation rule.
3587
C<$startdate>   = DateTime object representing start date of loan period (assumed to be today)
3587
C<$startdate>   = DateTime object representing start date of loan period (assumed to be today)
3588
C<$itemtype>  = itemtype code of item in question
3588
C<$itemtype>  = itemtype code of item in question
3589
C<$branch>  = location whose calendar to use
3589
C<$branch>  = location whose calendar to use
Lines 3617-3623 sub CalcDateDue { Link Here
3617
    }
3617
    }
3618
3618
3619
3619
3620
    my $useDaysMode_value = Koha::CirculationRules->get_useDaysMode_effective_value(
3620
    my $daysmode = Koha::CirculationRules->get_effective_daysmode(
3621
        {
3621
        {
3622
            categorycode => $borrower->{categorycode},
3622
            categorycode => $borrower->{categorycode},
3623
            itemtype     => $itemtype,
3623
            itemtype     => $itemtype,
Lines 3626-3632 sub CalcDateDue { Link Here
3626
    );
3626
    );
3627
3627
3628
    # calculate the datedue as normal
3628
    # calculate the datedue as normal
3629
    if ( $useDaysMode_value eq 'Days' )
3629
    if ( $daysmode eq 'Days' )
3630
    {    # ignoring calendar
3630
    {    # ignoring calendar
3631
        if ( $loanlength->{lengthunit} eq 'hours' ) {
3631
        if ( $loanlength->{lengthunit} eq 'hours' ) {
3632
            $datedue->add( hours => $loanlength->{$length_key} );
3632
            $datedue->add( hours => $loanlength->{$length_key} );
Lines 3643-3649 sub CalcDateDue { Link Here
3643
        else { # days
3643
        else { # days
3644
            $dur = DateTime::Duration->new( days => $loanlength->{$length_key});
3644
            $dur = DateTime::Duration->new( days => $loanlength->{$length_key});
3645
        }
3645
        }
3646
        my $calendar = Koha::Calendar->new( branchcode => $branch, days_mode => $useDaysMode_value );
3646
        my $calendar = Koha::Calendar->new( branchcode => $branch, days_mode => $daysmode );
3647
        $datedue = $calendar->addDate( $datedue, $dur, $loanlength->{lengthunit} );
3647
        $datedue = $calendar->addDate( $datedue, $dur, $loanlength->{lengthunit} );
3648
        if ($loanlength->{lengthunit} eq 'days') {
3648
        if ($loanlength->{lengthunit} eq 'days') {
3649
            $datedue->set_hour(23);
3649
            $datedue->set_hour(23);
Lines 3681-3688 sub CalcDateDue { Link Here
3681
                $datedue = $expiry_dt->clone->set_time_zone( C4::Context->tz );
3681
                $datedue = $expiry_dt->clone->set_time_zone( C4::Context->tz );
3682
            }
3682
            }
3683
        }
3683
        }
3684
        if ( $useDaysMode_value ne 'Days' ) {
3684
        if ( $daysmode ne 'Days' ) {
3685
          my $calendar = Koha::Calendar->new( branchcode => $branch, days_mode => $useDaysMode_value );
3685
          my $calendar = Koha::Calendar->new( branchcode => $branch, days_mode => $daysmode );
3686
          if ( $calendar->is_holiday($datedue) ) {
3686
          if ( $calendar->is_holiday($datedue) ) {
3687
              # Don't return on a closed day
3687
              # Don't return on a closed day
3688
              $datedue = $calendar->prev_open_days( $datedue, 1 );
3688
              $datedue = $calendar->prev_open_days( $datedue, 1 );
(-)a/Koha/Checkouts.pm (-2 / +2 lines)
Lines 48-61 sub calculate_dropbox_date { Link Here
48
    my $userenv    = C4::Context->userenv;
48
    my $userenv    = C4::Context->userenv;
49
    my $branchcode = $userenv->{branch} // q{};
49
    my $branchcode = $userenv->{branch} // q{};
50
50
51
    my $useDaysMode_value = Koha::CirculationRules->get_useDaysMode_effective_value(
51
    my $daysmode = Koha::CirculationRules->get_effective_daysmode(
52
        {
52
        {
53
            categorycode => undef,
53
            categorycode => undef,
54
            itemtype     => undef,
54
            itemtype     => undef,
55
            branchcode   => $branchcode,
55
            branchcode   => $branchcode,
56
        }
56
        }
57
    );
57
    );
58
    my $calendar     = Koha::Calendar->new( branchcode => $branchcode, days_mode => $useDaysMode_value );
58
    my $calendar     = Koha::Calendar->new( branchcode => $branchcode, days_mode => $daysmode );
59
    my $today        = dt_from_string;
59
    my $today        = dt_from_string;
60
    my $dropbox_date = $calendar->addDate( $today, -1 );
60
    my $dropbox_date = $calendar->addDate( $today, -1 );
61
61
(-)a/Koha/CirculationRules.pm (-9 / +9 lines)
Lines 109-115 our $RULE_KINDS = { Link Here
109
    issuelength => {
109
    issuelength => {
110
        scope => [ 'branchcode', 'categorycode', 'itemtype' ],
110
        scope => [ 'branchcode', 'categorycode', 'itemtype' ],
111
    },
111
    },
112
    useDaysMode => {
112
    daysmode => {
113
        scope => [ 'branchcode', 'categorycode', 'itemtype' ],
113
        scope => [ 'branchcode', 'categorycode', 'itemtype' ],
114
    },
114
    },
115
    lengthunit => {
115
    lengthunit => {
Lines 490-521 sub guess_article_requestable_itemtypes { Link Here
490
    return $res;
490
    return $res;
491
}
491
}
492
492
493
=head3 get_useDaysMode_effective_value
493
=head3 get_daysmode_effective_value
494
494
495
Return the value for useDaysMode defined in the circulation rules.
495
Return the value for daysmode defined in the circulation rules.
496
If not defined (or empty string), the value of the system preference useDaysMode is returned
496
If not defined (or empty string), the value of the system preference useDaysMode is returned
497
497
498
=cut
498
=cut
499
499
500
sub get_useDaysMode_effective_value {
500
sub get_effective_daysmode {
501
    my ( $class, $params ) = @_;
501
    my ( $class, $params ) = @_;
502
502
503
    my $categorycode     = $params->{categorycode};
503
    my $categorycode     = $params->{categorycode};
504
    my $itemtype         = $params->{itemtype};
504
    my $itemtype         = $params->{itemtype};
505
    my $branchcode       = $params->{branchcode};
505
    my $branchcode       = $params->{branchcode};
506
506
507
    my $useDaysMode_rule = $class->get_effective_rule(
507
    my $daysmode_rule = $class->get_effective_rule(
508
        {
508
        {
509
            categorycode => $categorycode,
509
            categorycode => $categorycode,
510
            itemtype     => $itemtype,
510
            itemtype     => $itemtype,
511
            branchcode   => $branchcode,
511
            branchcode   => $branchcode,
512
            rule_name    => 'useDaysMode',
512
            rule_name    => 'daysmode',
513
        }
513
        }
514
    );
514
    );
515
515
516
    return ( defined($useDaysMode_rule)
516
    return ( defined($daysmode_rule)
517
          and $useDaysMode_rule->rule_value ne '' )
517
          and $daysmode_rule->rule_value ne '' )
518
      ? $useDaysMode_rule->rule_value
518
      ? $daysmode_rule->rule_value
519
      : C4::Context->preference('useDaysMode');
519
      : C4::Context->preference('useDaysMode');
520
520
521
}
521
}
(-)a/Koha/Hold.pm (-2 / +2 lines)
Lines 184-197 sub set_waiting { Link Here
184
184
185
    if ( C4::Context->preference("ExcludeHolidaysFromMaxPickUpDelay") ) {
185
    if ( C4::Context->preference("ExcludeHolidaysFromMaxPickUpDelay") ) {
186
        my $itemtype = $self->item ? $self->item->effective_itemtype : $self->biblio->itemtype;
186
        my $itemtype = $self->item ? $self->item->effective_itemtype : $self->biblio->itemtype;
187
        my $useDaysMode_value = Koha::CirculationRules->get_useDaysMode_effective_value(
187
        my $daysmode = Koha::CirculationRules->get_effective_daysmode(
188
            {
188
            {
189
                categorycode => $self->borrower->categorycode,
189
                categorycode => $self->borrower->categorycode,
190
                itemtype     => $itemtype,
190
                itemtype     => $itemtype,
191
                branchcode   => $self->branchcode,
191
                branchcode   => $self->branchcode,
192
            }
192
            }
193
        );
193
        );
194
        my $calendar = Koha::Calendar->new( branchcode => $self->branchcode, days_mode => $useDaysMode_value );
194
        my $calendar = Koha::Calendar->new( branchcode => $self->branchcode, days_mode => $daysmode );
195
195
196
        $expirationdate = $calendar->days_forward( dt_from_string(), $max_pickup_delay );
196
        $expirationdate = $calendar->days_forward( dt_from_string(), $max_pickup_delay );
197
    }
197
    }
(-)a/admin/smart-rules.pl (-3 / +3 lines)
Lines 94-100 if ($op eq 'delete') { Link Here
94
                chargeperiod                     => undef,
94
                chargeperiod                     => undef,
95
                chargeperiod_charge_at           => undef,
95
                chargeperiod_charge_at           => undef,
96
                issuelength                      => undef,
96
                issuelength                      => undef,
97
                useDaysMode                      => undef,
97
                daysmode                         => undef,
98
                lengthunit                       => undef,
98
                lengthunit                       => undef,
99
                hardduedate                      => undef,
99
                hardduedate                      => undef,
100
                hardduedatecompare               => undef,
100
                hardduedatecompare               => undef,
Lines 279-285 elsif ($op eq 'add') { Link Here
279
    my $onshelfholds     = $input->param('onshelfholds') || 0;
279
    my $onshelfholds     = $input->param('onshelfholds') || 0;
280
    my $issuelength  = $input->param('issuelength');
280
    my $issuelength  = $input->param('issuelength');
281
    $issuelength = $issuelength eq q{} ? undef : $issuelength;
281
    $issuelength = $issuelength eq q{} ? undef : $issuelength;
282
    my $useDaysMode = $input->param('useDaysMode');
282
    my $daysmode = $input->param('daysmode');
283
    my $lengthunit  = $input->param('lengthunit');
283
    my $lengthunit  = $input->param('lengthunit');
284
    my $hardduedate = $input->param('hardduedate') || undef;
284
    my $hardduedate = $input->param('hardduedate') || undef;
285
    $hardduedate = eval { dt_from_string( $input->param('hardduedate') ) } if ( $hardduedate );
285
    $hardduedate = eval { dt_from_string( $input->param('hardduedate') ) } if ( $hardduedate );
Lines 305-311 elsif ($op eq 'add') { Link Here
305
        chargeperiod                  => $chargeperiod,
305
        chargeperiod                  => $chargeperiod,
306
        chargeperiod_charge_at        => $chargeperiod_charge_at,
306
        chargeperiod_charge_at        => $chargeperiod_charge_at,
307
        issuelength                   => $issuelength,
307
        issuelength                   => $issuelength,
308
        useDaysMode                   => $useDaysMode,
308
        daysmode                      => $daysmode,
309
        lengthunit                    => $lengthunit,
309
        lengthunit                    => $lengthunit,
310
        hardduedate                   => $hardduedate,
310
        hardduedate                   => $hardduedate,
311
        hardduedatecompare            => $hardduedatecompare,
311
        hardduedatecompare            => $hardduedatecompare,
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/smart-rules.tt (-4 / +4 lines)
Lines 131-137 Link Here
131
                        [% SET maxissueqty = all_rules.$c.$i.maxissueqty %]
131
                        [% SET maxissueqty = all_rules.$c.$i.maxissueqty %]
132
                        [% SET maxonsiteissueqty = all_rules.$c.$i.maxonsiteissueqty %]
132
                        [% SET maxonsiteissueqty = all_rules.$c.$i.maxonsiteissueqty %]
133
                        [% SET issuelength = all_rules.$c.$i.issuelength %]
133
                        [% SET issuelength = all_rules.$c.$i.issuelength %]
134
                        [% SET useDaysMode = all_rules.$c.$i.useDaysMode %]
134
                        [% SET daysmode = all_rules.$c.$i.daysmode %]
135
                        [% SET lengthunit = all_rules.$c.$i.lengthunit %]
135
                        [% SET lengthunit = all_rules.$c.$i.lengthunit %]
136
                        [% SET hardduedate = all_rules.$c.$i.hardduedate %]
136
                        [% SET hardduedate = all_rules.$c.$i.hardduedate %]
137
                        [% SET hardduedatecompare = all_rules.$c.$i.hardduedatecompare %]
137
                        [% SET hardduedatecompare = all_rules.$c.$i.hardduedatecompare %]
Lines 158-164 Link Here
158
                        [% SET article_requests = all_rules.$c.$i.article_requests %]
158
                        [% SET article_requests = all_rules.$c.$i.article_requests %]
159
                        [% SET rentaldiscount = all_rules.$c.$i.rentaldiscount %]
159
                        [% SET rentaldiscount = all_rules.$c.$i.rentaldiscount %]
160
160
161
                        [% SET show_rule = maxissueqty || maxonsiteissueqty || issuelength || useDaysMode || lengthunit || hardduedate || hardduedatebefore || hardduedateexact || fine || chargeperiod || chargeperiod_charge_at || firstremind || overduefinescap || cap_fine_to_replacement_price || finedays || maxsuspensiondays || suspension_chargeperiod || renewalsallowed || renewalsallowed || norenewalbefore || auto_renew || no_auto_renewal_after || no_auto_renewal_after_hard_limit || reservesallowed || holds_per_day || holds_per_record || onshelfholds || opacitemholds || article_requests || article_requests %]
161
                        [% SET show_rule = maxissueqty || maxonsiteissueqty || issuelength || daysmode || lengthunit || hardduedate || hardduedatebefore || hardduedateexact || fine || chargeperiod || chargeperiod_charge_at || firstremind || overduefinescap || cap_fine_to_replacement_price || finedays || maxsuspensiondays || suspension_chargeperiod || renewalsallowed || renewalsallowed || norenewalbefore || auto_renew || no_auto_renewal_after || no_auto_renewal_after_hard_limit || reservesallowed || holds_per_day || holds_per_record || onshelfholds || opacitemholds || article_requests || article_requests %]
162
                        [% IF show_rule %]
162
                        [% IF show_rule %]
163
                            [% SET row_count = row_count + 1 %]
163
                            [% SET row_count = row_count + 1 %]
164
                            <tr row_countd="row_[% row_count | html %]">
164
                            <tr row_countd="row_[% row_count | html %]">
Lines 201-207 Link Here
201
                                    </td>
201
                                    </td>
202
                                    <td>[% issuelength | html %]</td>
202
                                    <td>[% issuelength | html %]</td>
203
                                    <td>
203
                                    <td>
204
                                        [% SWITCH useDaysMode %]
204
                                        [% SWITCH daysmode %]
205
                                        [% CASE 'Calendar' %]<span title="Use the calendar to skip days the library is closed">Calendar</span>
205
                                        [% CASE 'Calendar' %]<span title="Use the calendar to skip days the library is closed">Calendar</span>
206
                                        [% CASE 'Datedue' %]<span title="Use the calendar to push the due date to the next open day">Datedue</span>
206
                                        [% CASE 'Datedue' %]<span title="Use the calendar to push the due date to the next open day">Datedue</span>
207
                                        [% CASE 'Days' %]<span title="Ignore the calendar">Days</span>
207
                                        [% CASE 'Days' %]<span title="Ignore the calendar">Days</span>
Lines 346-352 Link Here
346
                    <td><input type="text" name="maxonsiteissueqty" id="maxonsiteissueqty" size="3" /></td>
346
                    <td><input type="text" name="maxonsiteissueqty" id="maxonsiteissueqty" size="3" /></td>
347
                    <td><input type="text" name="issuelength" id="issuelength" size="3" /> </td>
347
                    <td><input type="text" name="issuelength" id="issuelength" size="3" /> </td>
348
                    <td>
348
                    <td>
349
                        <select name="useDaysMode" id="useDaysMode">
349
                        <select name="daysmode" id="daysmode">
350
                            <option value="">Default</option>
350
                            <option value="">Default</option>
351
                            <option value="Calendar">Calendar</option>
351
                            <option value="Calendar">Calendar</option>
352
                            <option value="Datedue">Datedue</option>
352
                            <option value="Datedue">Datedue</option>
(-)a/misc/cronjobs/thirdparty/TalkingTech_itiva_outbound.pl (-2 / +2 lines)
Lines 333-339 sub GetWaitingHolds { Link Here
333
    my @results;
333
    my @results;
334
    while ( my $issue = $sth->fetchrow_hashref() ) {
334
    while ( my $issue = $sth->fetchrow_hashref() ) {
335
        my $item = Koha::Items->find({ barcode => $issue->{barcode} });
335
        my $item = Koha::Items->find({ barcode => $issue->{barcode} });
336
        my $useDaysMode_value = Koha::CirculationRules->get_useDaysMode_effective_value(
336
        my $daysmode = Koha::CirculationRules->get_effective_daysmode(
337
            {
337
            {
338
                categorycode => $issue->{categorycode},
338
                categorycode => $issue->{categorycode},
339
                itemtype     => $item->effective_itemtype,
339
                itemtype     => $item->effective_itemtype,
Lines 341-347 sub GetWaitingHolds { Link Here
341
            }
341
            }
342
        );
342
        );
343
343
344
        my $calendar = Koha::Calendar->new( branchcode => $issue->{'site'}, days_mode => $useDaysMode_value );
344
        my $calendar = Koha::Calendar->new( branchcode => $issue->{'site'}, days_mode => $daysmode );
345
345
346
        my $waiting_date = dt_from_string( $issue->{waitingdate}, 'sql' );
346
        my $waiting_date = dt_from_string( $issue->{waitingdate}, 'sql' );
347
        my $pickup_date = $waiting_date->clone->add( days => $pickupdelay );
347
        my $pickup_date = $waiting_date->clone->add( days => $pickupdelay );
(-)a/t/db_dependent/Koha/CirculationRules.t (-14 / +13 lines)
Lines 284-290 subtest 'get_onshelfholds_policy() tests' => sub { Link Here
284
    $schema->storage->txn_rollback;
284
    $schema->storage->txn_rollback;
285
};
285
};
286
286
287
subtest 'get_useDaysMode_effective_value' => sub {
287
subtest 'get_effective_daysmode' => sub {
288
    plan tests => 4;
288
    plan tests => 4;
289
289
290
    $schema->storage->txn_begin;
290
    $schema->storage->txn_begin;
Lines 293-305 subtest 'get_useDaysMode_effective_value' => sub { Link Here
293
    my $item_2 = $builder->build_sample_item();
293
    my $item_2 = $builder->build_sample_item();
294
294
295
    my $circ_rules =
295
    my $circ_rules =
296
      Koha::CirculationRules->search( { rule_name => 'useDaysMode' } )->delete;
296
      Koha::CirculationRules->search( { rule_name => 'daysmode' } )->delete;
297
297
298
    # Default value 'Datedue' at pref level
298
    # Default value 'Datedue' at pref level
299
    t::lib::Mocks::mock_preference( 'useDaysMode', 'Datedue' );
299
    t::lib::Mocks::mock_preference( 'useDaysMode', 'Datedue' );
300
300
301
    is(
301
    is(
302
        Koha::CirculationRules->get_useDaysMode_effective_value(
302
        Koha::CirculationRules->get_effective_daysmode(
303
            {
303
            {
304
                categorycode => undef,
304
                categorycode => undef,
305
                itemtype     => $item_1->effective_itemtype,
305
                itemtype     => $item_1->effective_itemtype,
Lines 307-313 subtest 'get_useDaysMode_effective_value' => sub { Link Here
307
            }
307
            }
308
        ),
308
        ),
309
        'Datedue',
309
        'Datedue',
310
        'useDaysMode default to pref value if the rule does not exist'
310
        'daysmode default to pref value if the rule does not exist'
311
    );
311
    );
312
312
313
    Koha::CirculationRules->set_rule(
313
    Koha::CirculationRules->set_rule(
Lines 315-321 subtest 'get_useDaysMode_effective_value' => sub { Link Here
315
            branchcode   => '*',
315
            branchcode   => '*',
316
            categorycode => '*',
316
            categorycode => '*',
317
            itemtype     => '*',
317
            itemtype     => '*',
318
            rule_name    => 'useDaysMode',
318
            rule_name    => 'daysmode',
319
            rule_value   => 'Calendar',
319
            rule_value   => 'Calendar',
320
        }
320
        }
321
    );
321
    );
Lines 324-336 subtest 'get_useDaysMode_effective_value' => sub { Link Here
324
            branchcode   => '*',
324
            branchcode   => '*',
325
            categorycode => '*',
325
            categorycode => '*',
326
            itemtype     => $item_1->effective_itemtype,
326
            itemtype     => $item_1->effective_itemtype,
327
            rule_name    => 'useDaysMode',
327
            rule_name    => 'daysmode',
328
            rule_value   => 'Days',
328
            rule_value   => 'Days',
329
        }
329
        }
330
    );
330
    );
331
331
332
    is(
332
    is(
333
        Koha::CirculationRules->get_useDaysMode_effective_value(
333
        Koha::CirculationRules->get_effective_daysmode(
334
            {
334
            {
335
                categorycode => undef,
335
                categorycode => undef,
336
                itemtype     => $item_1->effective_itemtype,
336
                itemtype     => $item_1->effective_itemtype,
Lines 338-347 subtest 'get_useDaysMode_effective_value' => sub { Link Here
338
            }
338
            }
339
        ),
339
        ),
340
        'Days',
340
        'Days',
341
        "useDaysMode for item_1 is the specific rule"
341
        "daysmode for item_1 is the specific rule"
342
    );
342
    );
343
    is(
343
    is(
344
        Koha::CirculationRules->get_useDaysMode_effective_value(
344
        Koha::CirculationRules->get_effective_daysmode(
345
            {
345
            {
346
                categorycode => undef,
346
                categorycode => undef,
347
                itemtype     => $item_2->effective_itemtype,
347
                itemtype     => $item_2->effective_itemtype,
Lines 349-355 subtest 'get_useDaysMode_effective_value' => sub { Link Here
349
            }
349
            }
350
        ),
350
        ),
351
        'Calendar',
351
        'Calendar',
352
        "useDaysMode for item_2 is the one defined for the default circ rule"
352
        "daysmode for item_2 is the one defined for the default circ rule"
353
    );
353
    );
354
354
355
    Koha::CirculationRules->set_rule(
355
    Koha::CirculationRules->set_rule(
Lines 357-369 subtest 'get_useDaysMode_effective_value' => sub { Link Here
357
            branchcode   => '*',
357
            branchcode   => '*',
358
            categorycode => '*',
358
            categorycode => '*',
359
            itemtype     => $item_2->effective_itemtype,
359
            itemtype     => $item_2->effective_itemtype,
360
            rule_name    => 'useDaysMode',
360
            rule_name    => 'daysmode',
361
            rule_value   => '',
361
            rule_value   => '',
362
        }
362
        }
363
    );
363
    );
364
364
365
    is(
365
    is(
366
        Koha::CirculationRules->get_useDaysMode_effective_value(
366
        Koha::CirculationRules->get_effective_daysmode(
367
            {
367
            {
368
                categorycode => undef,
368
                categorycode => undef,
369
                itemtype     => $item_2->effective_itemtype,
369
                itemtype     => $item_2->effective_itemtype,
Lines 371-377 subtest 'get_useDaysMode_effective_value' => sub { Link Here
371
            }
371
            }
372
        ),
372
        ),
373
        'Datedue',
373
        'Datedue',
374
        'useDaysMode default to pref value if the rule exists but set to""'
374
        'daysmode default to pref value if the rule exists but set to""'
375
    );
375
    );
376
376
377
    $schema->storage->txn_rollback;
377
    $schema->storage->txn_rollback;
378
- 

Return to bug 24159