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

(-)a/C4/Circulation.pm (-21 / +19 lines)
Lines 307-313 sub transferbook { Link Here
307
    my $messages;
307
    my $messages;
308
    my $dotransfer      = 1;
308
    my $dotransfer      = 1;
309
    my $itemnumber = GetItemnumberFromBarcode( $barcode );
309
    my $itemnumber = GetItemnumberFromBarcode( $barcode );
310
    my $issue      = GetItemIssue($itemnumber);
310
    my $issue      = Koha::Issues->find({ itemnumber => $itemnumber });
311
    my $biblio = GetBiblioFromItemNumber($itemnumber);
311
    my $biblio = GetBiblioFromItemNumber($itemnumber);
312
312
313
    # bad barcode..
313
    # bad barcode..
Lines 349-357 sub transferbook { Link Here
349
    }
349
    }
350
350
351
    # check if it is still issued to someone, return it...
351
    # check if it is still issued to someone, return it...
352
    if ($issue->{borrowernumber}) {
352
    if ( $issue ) {
353
        AddReturn( $barcode, $fbr );
353
        AddReturn( $barcode, $fbr );
354
        $messages->{'WasReturned'} = $issue->{borrowernumber};
354
        $messages->{'WasReturned'} = $issue->borrowernumber;
355
    }
355
    }
356
356
357
    # find reserves.....
357
    # find reserves.....
Lines 670-676 sub CanBookBeIssued { Link Here
670
    my $override_high_holds = $params->{override_high_holds} || 0;
670
    my $override_high_holds = $params->{override_high_holds} || 0;
671
671
672
    my $item = GetItem(GetItemnumberFromBarcode( $barcode ));
672
    my $item = GetItem(GetItemnumberFromBarcode( $barcode ));
673
    my $issue = GetItemIssue($item->{itemnumber});
673
    my $issue = Koha::Issues->find( { itemnumber => $item->{itemnumber} } );
674
	my $biblioitem = GetBiblioItemData($item->{biblioitemnumber});
674
	my $biblioitem = GetBiblioItemData($item->{biblioitemnumber});
675
	$item->{'itemtype'}=$item->{'itype'}; 
675
	$item->{'itemtype'}=$item->{'itype'}; 
676
    my $dbh             = C4::Context->dbh;
676
    my $dbh             = C4::Context->dbh;
Lines 826-834 sub CanBookBeIssued { Link Here
826
    #
826
    #
827
    my $switch_onsite_checkout =
827
    my $switch_onsite_checkout =
828
          C4::Context->preference('SwitchOnSiteCheckouts')
828
          C4::Context->preference('SwitchOnSiteCheckouts')
829
      and $issue->{onsite_checkout}
830
      and $issue
829
      and $issue
831
      and $issue->{borrowernumber} == $borrower->{'borrowernumber'} ? 1 : 0;
830
      and $issue->onsite_checkout
831
      and $issue->borrowernumber == $borrower->{'borrowernumber'} ? 1 : 0;
832
    my $toomany = TooMany( $borrower, $item->{biblionumber}, $item, { onsite_checkout => $onsite_checkout, switch_onsite_checkout => $switch_onsite_checkout, } );
832
    my $toomany = TooMany( $borrower, $item->{biblionumber}, $item, { onsite_checkout => $onsite_checkout, switch_onsite_checkout => $switch_onsite_checkout, } );
833
    # if TooMany max_allowed returns 0 the user doesn't have permission to check out this book
833
    # if TooMany max_allowed returns 0 the user doesn't have permission to check out this book
834
    if ( $toomany ) {
834
    if ( $toomany ) {
Lines 936-948 sub CanBookBeIssued { Link Here
936
    #
936
    #
937
    # CHECK IF BOOK ALREADY ISSUED TO THIS BORROWER
937
    # CHECK IF BOOK ALREADY ISSUED TO THIS BORROWER
938
    #
938
    #
939
    if ( $issue->{borrowernumber} && $issue->{borrowernumber} eq $borrower->{'borrowernumber'} ){
939
    if ( $issue && $issue->borrowernumber eq $borrower->{'borrowernumber'} ){
940
940
941
        # Already issued to current borrower.
941
        # Already issued to current borrower.
942
        # If it is an on-site checkout if it can be switched to a normal checkout
942
        # If it is an on-site checkout if it can be switched to a normal checkout
943
        # or ask whether the loan should be renewed
943
        # or ask whether the loan should be renewed
944
944
945
        if ( $issue->{onsite_checkout}
945
        if ( $issue->onsite_checkout
946
                and C4::Context->preference('SwitchOnSiteCheckouts') ) {
946
                and C4::Context->preference('SwitchOnSiteCheckouts') ) {
947
            $messages{ONSITE_CHECKOUT_WILL_BE_SWITCHED} = 1;
947
            $messages{ONSITE_CHECKOUT_WILL_BE_SWITCHED} = 1;
948
        } else {
948
        } else {
Lines 963-972 sub CanBookBeIssued { Link Here
963
            }
963
            }
964
        }
964
        }
965
    }
965
    }
966
    elsif ($issue->{borrowernumber}) {
966
    elsif ( $issue ) {
967
967
968
        # issued to someone else
968
        # issued to someone else
969
        my $currborinfo =    C4::Members::GetMember( borrowernumber => $issue->{borrowernumber} );
969
        my $currborinfo =    C4::Members::GetMember( borrowernumber => $issue->borrowernumber );
970
970
971
971
972
        my ( $can_be_returned, $message ) = CanBookBeReturned( $item, C4::Context->userenv->{branch} );
972
        my ( $can_be_returned, $message ) = CanBookBeReturned( $item, C4::Context->userenv->{branch} );
Lines 1292-1304 sub AddIssue { Link Here
1292
        my $branch = _GetCircControlBranch( $item, $borrower );
1292
        my $branch = _GetCircControlBranch( $item, $borrower );
1293
1293
1294
        # get actual issuing if there is one
1294
        # get actual issuing if there is one
1295
        my $actualissue = GetItemIssue( $item->{itemnumber} );
1295
        my $actualissue = Koha::Issues->find( { itemnumber => $item->{itemnumber} } );
1296
1296
1297
        # get biblioinformation for this item
1297
        # get biblioinformation for this item
1298
        my $biblio = GetBiblioFromItemNumber( $item->{itemnumber} );
1298
        my $biblio = GetBiblioFromItemNumber( $item->{itemnumber} );
1299
1299
1300
        # check if we just renew the issue.
1300
        # check if we just renew the issue.
1301
        if ( $actualissue->{borrowernumber} eq $borrower->{'borrowernumber'}
1301
        if ( $actualissue and $actualissue->borrowernumber eq $borrower->{'borrowernumber'}
1302
                and not $switch_onsite_checkout ) {
1302
                and not $switch_onsite_checkout ) {
1303
            $datedue = AddRenewal(
1303
            $datedue = AddRenewal(
1304
                $borrower->{'borrowernumber'},
1304
                $borrower->{'borrowernumber'},
Lines 1310-1317 sub AddIssue { Link Here
1310
        }
1310
        }
1311
        else {
1311
        else {
1312
            # it's NOT a renewal
1312
            # it's NOT a renewal
1313
            if ( $actualissue->{borrowernumber}
1313
            if ( $actualissue and not $switch_onsite_checkout ) {
1314
                    and not $switch_onsite_checkout ) {
1315
                # This book is currently on loan, but not to the person
1314
                # This book is currently on loan, but not to the person
1316
                # who wants to borrow it now. mark it returned before issuing to the new borrower
1315
                # who wants to borrow it now. mark it returned before issuing to the new borrower
1317
                my ( $allowed, $message ) = CanBookBeReturned( $item, C4::Context->userenv->{branch} );
1316
                my ( $allowed, $message ) = CanBookBeReturned( $item, C4::Context->userenv->{branch} );
Lines 3040-3048 sub GetSoonestRenewDate { Link Here
3040
    my $dbh = C4::Context->dbh;
3039
    my $dbh = C4::Context->dbh;
3041
3040
3042
    my $item      = GetItem($itemnumber)      or return;
3041
    my $item      = GetItem($itemnumber)      or return;
3043
    my $itemissue = GetItemIssue($itemnumber) or return;
3042
    my $itemissue = Koha::Issues->find( { itemnumber => $itemnumber } ) or return;
3044
3043
3045
    $borrowernumber ||= $itemissue->{borrowernumber};
3044
    $borrowernumber ||= $itemissue->borrowernumber;
3046
    my $borrower = C4::Members::GetMemberDetails($borrowernumber)
3045
    my $borrower = C4::Members::GetMemberDetails($borrowernumber)
3047
      or return;
3046
      or return;
3048
3047
Lines 3061-3068 sub GetSoonestRenewDate { Link Here
3061
        and $issuing_rule->norenewalbefore ne "" )
3060
        and $issuing_rule->norenewalbefore ne "" )
3062
    {
3061
    {
3063
        my $soonestrenewal =
3062
        my $soonestrenewal =
3064
          $itemissue->{date_due}->clone()
3063
          dt_from_string( $itemissue->date_due )->subtract(
3065
          ->subtract(
3066
            $issuing_rule->lengthunit => $issuing_rule->norenewalbefore );
3064
            $issuing_rule->lengthunit => $issuing_rule->norenewalbefore );
3067
3065
3068
        if ( C4::Context->preference('NoRenewalBeforePrecision') eq 'date'
3066
        if ( C4::Context->preference('NoRenewalBeforePrecision') eq 'date'
Lines 3100-3108 sub GetLatestAutoRenewDate { Link Here
3100
    my $dbh = C4::Context->dbh;
3098
    my $dbh = C4::Context->dbh;
3101
3099
3102
    my $item      = GetItem($itemnumber)      or return;
3100
    my $item      = GetItem($itemnumber)      or return;
3103
    my $itemissue = GetItemIssue($itemnumber) or return;
3101
    my $itemissue = Koha::Issues->find( { itemnumber => $itemnumber } ) or return;
3104
3102
3105
    $borrowernumber ||= $itemissue->{borrowernumber};
3103
    $borrowernumber ||= $itemissue->borrowernumber;
3106
    my $borrower = C4::Members::GetMember( borrowernumber => $borrowernumber )
3104
    my $borrower = C4::Members::GetMember( borrowernumber => $borrowernumber )
3107
      or return;
3105
      or return;
3108
3106
Lines 3118-3124 sub GetLatestAutoRenewDate { Link Here
3118
    return if not $issuing_rule->no_auto_renewal_after
3116
    return if not $issuing_rule->no_auto_renewal_after
3119
               or $issuing_rule->no_auto_renewal_after eq '';
3117
               or $issuing_rule->no_auto_renewal_after eq '';
3120
3118
3121
    my $maximum_renewal_date = dt_from_string($itemissue->{issuedate});
3119
    my $maximum_renewal_date = dt_from_string($itemissue->issuedate);
3122
    $maximum_renewal_date->add(
3120
    $maximum_renewal_date->add(
3123
        $issuing_rule->lengthunit => $issuing_rule->no_auto_renewal_after
3121
        $issuing_rule->lengthunit => $issuing_rule->no_auto_renewal_after
3124
    );
3122
    );
(-)a/C4/ILSDI/Services.pm (-3 / +5 lines)
Lines 34-39 use CGI qw ( -utf8 ); Link Here
34
use DateTime;
34
use DateTime;
35
use C4::Auth;
35
use C4::Auth;
36
use C4::Members::Attributes qw(GetBorrowerAttributes);
36
use C4::Members::Attributes qw(GetBorrowerAttributes);
37
use Koha::DateUtils;
38
use Koha::Issues;
37
39
38
use Koha::Libraries;
40
use Koha::Libraries;
39
41
Lines 569-580 sub RenewLoan { Link Here
569
    my @renewal = CanBookBeRenewed( $borrowernumber, $itemnumber );
571
    my @renewal = CanBookBeRenewed( $borrowernumber, $itemnumber );
570
    if ( $renewal[0] ) { AddRenewal( $borrowernumber, $itemnumber ); }
572
    if ( $renewal[0] ) { AddRenewal( $borrowernumber, $itemnumber ); }
571
573
572
    my $issue = GetItemIssue($itemnumber);
574
    my $issue = Koha::Issues->find( { itemnumber => $itemnumber } ) or return; # FIXME should be handled
573
575
574
    # Hashref building
576
    # Hashref building
575
    my $out;
577
    my $out;
576
    $out->{'renewals'} = $issue->{'renewals'};
578
    $out->{'renewals'} = $issue->renewals;
577
    $out->{date_due}   = $issue->{date_due}->strftime('%Y-%m-%d %H:%S');
579
    $out->{date_due}   = dt_from_string($issue->date_due)->strftime('%Y-%m-%d %H:%S');
578
    $out->{'success'}  = $renewal[0];
580
    $out->{'success'}  = $renewal[0];
579
    $out->{'error'}    = $renewal[1];
581
    $out->{'error'}    = $renewal[1];
580
582
(-)a/C4/SIP/ILS/Item.pm (-4 / +4 lines)
Lines 22-28 use C4::Circulation; Link Here
22
use C4::Members;
22
use C4::Members;
23
use C4::Reserves;
23
use C4::Reserves;
24
use Koha::Database;
24
use Koha::Database;
25
25
use Koha::Issues;
26
26
27
=encoding UTF-8
27
=encoding UTF-8
28
28
Lines 93-103 sub new { Link Here
93
    $item->{sip_media_type} = $itemtype->sip_media_type() if $itemtype;
93
    $item->{sip_media_type} = $itemtype->sip_media_type() if $itemtype;
94
94
95
	# check if its on issue and if so get the borrower
95
	# check if its on issue and if so get the borrower
96
	my $issue = GetItemIssue($item->{'itemnumber'});
96
    my $issue = Koha::Issues->find( { itemnumber => $item->{itemnumber} } );
97
    if ($issue) {
97
    if ($issue) {
98
        $item->{due_date} = $issue->{date_due};
98
        $item->{due_date} = dt_from_string( $issue->date_due, 'sql' )->truncate( to => 'minute' );
99
    }
99
    }
100
	my $borrower = GetMember(borrowernumber=>$issue->{'borrowernumber'});
100
    my $borrower = $issue ? GetMember( borrowernumber => $issue->borrowernumber ) : {};
101
	$item->{patron} = $borrower->{'cardnumber'};
101
	$item->{patron} = $borrower->{'cardnumber'};
102
    my $reserves = GetReservesFromBiblionumber({ biblionumber => $item->{biblionumber} });
102
    my $reserves = GetReservesFromBiblionumber({ biblionumber => $item->{biblionumber} });
103
    $item->{hold_queue} = [ sort priority_sort @$reserves ];
103
    $item->{hold_queue} = [ sort priority_sort @$reserves ];
(-)a/C4/SIP/ILS/Transaction.pm (-4 / +4 lines)
Lines 8-15 use Carp; Link Here
8
use strict;
8
use strict;
9
use warnings;
9
use warnings;
10
use C4::Context;
10
use C4::Context;
11
use C4::Circulation qw( GetItemIssue );
12
use Koha::DateUtils;
11
use Koha::DateUtils;
12
use Koha::Issues;
13
13
14
my %fields = (
14
my %fields = (
15
	ok            => 0,
15
	ok            => 0,
Lines 45-53 sub duedatefromissue { Link Here
45
    } # renew from AddIssue ??
45
    } # renew from AddIssue ??
46
    else {
46
    else {
47
        # need to reread the issue to get due date
47
        # need to reread the issue to get due date
48
        $iss = GetItemIssue($itemnum);
48
        $iss = Koha::Issues->find( { itemnumber => $itemnum } );
49
        if ($iss && $iss->{date_due} ) {
49
        if ($iss && $iss->date_due ) {
50
            $due_dt = dt_from_string( $iss->{date_due} );
50
            $due_dt = dt_from_string( $iss->date_due, 'sql' );
51
        }
51
        }
52
    }
52
    }
53
    return $due_dt;
53
    return $due_dt;
(-)a/offline_circ/enqueue_koc.pl (-3 / +4 lines)
Lines 32-37 use C4::Circulation; Link Here
32
use C4::Items;
32
use C4::Items;
33
use C4::Members;
33
use C4::Members;
34
use C4::Stats;
34
use C4::Stats;
35
use Koha::Issues;
35
use Koha::Upload;
36
use Koha::Upload;
36
37
37
use Date::Calc qw( Add_Delta_Days Date_to_Days );
38
use Date::Calc qw( Add_Delta_Days Date_to_Days );
Lines 191-197 sub _get_borrowernumber_from_barcode { Link Here
191
    my $item = GetBiblioFromItemNumber( undef, $barcode );
192
    my $item = GetBiblioFromItemNumber( undef, $barcode );
192
    return unless $item->{'itemnumber'};
193
    return unless $item->{'itemnumber'};
193
194
194
    my $issue = C4::Circulation::GetItemIssue( $item->{'itemnumber'} );
195
    my $issue = Koha::Issues->find( { itemnumber => $item->{itemnumber} } );
195
    return unless $issue->{'borrowernumber'};
196
    return unless $issue;
196
    return $issue->{'borrowernumber'};
197
    return $issue->borrowernumber;
197
}
198
}
(-)a/offline_circ/process_koc.pl (-6 / +7 lines)
Lines 37-42 use C4::Stats; Link Here
37
use C4::BackgroundJob;
37
use C4::BackgroundJob;
38
use Koha::Upload;
38
use Koha::Upload;
39
use Koha::Account;
39
use Koha::Account;
40
use Koha::Issues;
40
use Koha::Patrons;
41
use Koha::Patrons;
41
42
42
use Date::Calc qw( Add_Delta_Days Date_to_Days );
43
use Date::Calc qw( Add_Delta_Days Date_to_Days );
Lines 249-259 sub kocIssueItem { Link Here
249
    my $branchcode = C4::Context->userenv->{branch};
250
    my $branchcode = C4::Context->userenv->{branch};
250
    my $borrower = GetMember( 'cardnumber'=>$circ->{ 'cardnumber' } );
251
    my $borrower = GetMember( 'cardnumber'=>$circ->{ 'cardnumber' } );
251
    my $item = GetBiblioFromItemNumber( undef, $circ->{ 'barcode' } );
252
    my $item = GetBiblioFromItemNumber( undef, $circ->{ 'barcode' } );
252
    my $issue = GetItemIssue( $item->{'itemnumber'} );
253
    my $issue = Koha::Issues->find( { itemnumber => $item->{itemnumber} } );
253
254
254
    if ( $issue->{ 'date_due' } ) { ## Item is currently checked out to another person.
255
    if ( $issue ) { ## Item is currently checked out to another person.
255
        #warn "Item Currently Issued.";
256
        #warn "Item Currently Issued.";
256
        my $issue = GetOpenIssue( $item->{'itemnumber'} );
257
        my $issue = GetOpenIssue( $item->{'itemnumber'} ); # FIXME Hum? That does not make sense, if it's in the issue table, the issue is open (i.e. returndate is null)
257
258
258
        if ( $issue->{'borrowernumber'} eq $borrower->{'borrowernumber'} ) { ## Issued to this person already, renew it.
259
        if ( $issue->{'borrowernumber'} eq $borrower->{'borrowernumber'} ) { ## Issued to this person already, renew it.
259
            #warn "Item issued to this member already, renewing.";
260
            #warn "Item issued to this member already, renewing.";
Lines 397-403 sub _get_borrowernumber_from_barcode { Link Here
397
    my $item = GetBiblioFromItemNumber( undef, $barcode );
398
    my $item = GetBiblioFromItemNumber( undef, $barcode );
398
    return unless $item->{'itemnumber'};
399
    return unless $item->{'itemnumber'};
399
400
400
    my $issue = C4::Circulation::GetItemIssue( $item->{'itemnumber'} );
401
    my $issue = Koha::Issues->find( { itemnumber => $item->{itemnumber} } );
401
    return unless $issue->{'borrowernumber'};
402
    return unless $issue;
402
    return $issue->{'borrowernumber'};
403
    return $issue->borrowernumber;
403
}
404
}
(-)a/opac/opac-reserve.pl (-3 / +4 lines)
Lines 33-38 use C4::Members; Link Here
33
use C4::Overdues;
33
use C4::Overdues;
34
use C4::Debug;
34
use C4::Debug;
35
use Koha::DateUtils;
35
use Koha::DateUtils;
36
use Koha::Issues;
36
use Koha::Libraries;
37
use Koha::Libraries;
37
use Koha::Patrons;
38
use Koha::Patrons;
38
use Date::Calc qw/Today Date_to_Days/;
39
use Date::Calc qw/Today Date_to_Days/;
Lines 438-446 foreach my $biblioNum (@biblionumbers) { Link Here
438
439
439
        # If the item is currently on loan, we display its return date and
440
        # If the item is currently on loan, we display its return date and
440
        # change the background color.
441
        # change the background color.
441
        my $issues= GetItemIssue($itemNum);
442
        my $issue = Koha::Issues->find( { itemnumber => $itemNum } );
442
        if ( $issues->{'date_due'} ) {
443
        if ( $issue ) {
443
            $itemLoopIter->{dateDue} = output_pref({ dt => dt_from_string($issues->{date_due}, 'sql'), as_due_date => 1 });
444
            $itemLoopIter->{dateDue} = output_pref({ dt => dt_from_string($issue->date_due, 'sql'), as_due_date => 1 });
444
            $itemLoopIter->{backgroundcolor} = 'onloan';
445
            $itemLoopIter->{backgroundcolor} = 'onloan';
445
        }
446
        }
446
447
(-)a/reserve/request.pl (-3 / +4 lines)
Lines 43-48 use C4::Utils::DataTables::Members; Link Here
43
use C4::Members;
43
use C4::Members;
44
use C4::Search;		# enabled_staff_search_views
44
use C4::Search;		# enabled_staff_search_views
45
use Koha::DateUtils;
45
use Koha::DateUtils;
46
use Koha::Issues;
46
use Koha::Holds;
47
use Koha::Holds;
47
use Koha::Libraries;
48
use Koha::Libraries;
48
49
Lines 376-384 foreach my $biblionumber (@biblionumbers) { Link Here
376
		
377
		
377
            # if the item is currently on loan, we display its return date and
378
            # if the item is currently on loan, we display its return date and
378
            # change the background color
379
            # change the background color
379
            my $issues= GetItemIssue($itemnumber);
380
            my $issue = Koha::Issues->find( { itemnumber => $itemnumber } );
380
            if ( $issues->{'date_due'} ) {
381
            if ( $issue ) {
381
                $item->{date_due} = $issues->{date_due_sql};
382
                $item->{date_due} = $issue->date_due;
382
                $item->{backgroundcolor} = 'onloan';
383
                $item->{backgroundcolor} = 'onloan';
383
            }
384
            }
384
385
(-)a/t/db_dependent/Circulation.t (-1 / +2 lines)
Lines 36-41 use C4::Reserves; Link Here
36
use C4::Overdues qw(UpdateFine CalcFine);
36
use C4::Overdues qw(UpdateFine CalcFine);
37
use Koha::DateUtils;
37
use Koha::DateUtils;
38
use Koha::Database;
38
use Koha::Database;
39
use Koha::Issues;
39
40
40
my $schema = Koha::Database->schema;
41
my $schema = Koha::Database->schema;
41
$schema->storage->txn_begin;
42
$schema->storage->txn_begin;
Lines 312-318 C4::Context->dbh->do("DELETE FROM accountlines"); Link Here
312
    is (defined $issue2, 1, "Item 2 checked out, due date: " . $issue2->date_due());
313
    is (defined $issue2, 1, "Item 2 checked out, due date: " . $issue2->date_due());
313
314
314
315
315
    my $borrowing_borrowernumber = GetItemIssue($itemnumber)->{borrowernumber};
316
    my $borrowing_borrowernumber = Koha::Issues->find( { itemnumber => $itemnumber } )->borrowernumber;
316
    is ($borrowing_borrowernumber, $renewing_borrowernumber, "Item checked out to $renewing_borrower->{firstname} $renewing_borrower->{surname}");
317
    is ($borrowing_borrowernumber, $renewing_borrowernumber, "Item checked out to $renewing_borrower->{firstname} $renewing_borrower->{surname}");
317
318
318
    my ( $renewokay, $error ) = CanBookBeRenewed($renewing_borrowernumber, $itemnumber, 1);
319
    my ( $renewokay, $error ) = CanBookBeRenewed($renewing_borrowernumber, $itemnumber, 1);
(-)a/t/db_dependent/Circulation/SwitchOnSiteCheckouts.t (-3 / +4 lines)
Lines 26-31 use C4::Context; Link Here
26
26
27
use Koha::DateUtils qw( dt_from_string );
27
use Koha::DateUtils qw( dt_from_string );
28
use Koha::Database;
28
use Koha::Database;
29
use Koha::Issues;
29
30
30
use t::lib::TestBuilder;
31
use t::lib::TestBuilder;
31
use t::lib::Mocks;
32
use t::lib::Mocks;
Lines 100-109 t::lib::Mocks::mock_preference('SwitchOnSiteCheckouts', 1); Link Here
100
is( $messages->{ONSITE_CHECKOUT_WILL_BE_SWITCHED}, 1, 'If SwitchOnSiteCheckouts, switch the on-site checkout' );
101
is( $messages->{ONSITE_CHECKOUT_WILL_BE_SWITCHED}, 1, 'If SwitchOnSiteCheckouts, switch the on-site checkout' );
101
is( exists $impossible->{TOO_MANY}, '', 'If SwitchOnSiteCheckouts, switch the on-site checkout' );
102
is( exists $impossible->{TOO_MANY}, '', 'If SwitchOnSiteCheckouts, switch the on-site checkout' );
102
C4::Circulation::AddIssue( $patron, $item->{barcode}, undef, undef, undef, undef, { switch_onsite_checkout => 1 } );
103
C4::Circulation::AddIssue( $patron, $item->{barcode}, undef, undef, undef, undef, { switch_onsite_checkout => 1 } );
103
my $issue = C4::Circulation::GetItemIssue( $item->{itemnumber} );
104
my $issue = Koha::Issues->find( { itemnumber => $item->{itemnumber} } );
104
is( $issue->{onsite_checkout}, 0, 'The issue should have been switched to a regular checkout' );
105
is( $issue->onsite_checkout, 0, 'The issue should have been switched to a regular checkout' );
105
my $five_days_after = dt_from_string->add( days => 5 )->set( hour => 23, minute => 59, second => 0 );
106
my $five_days_after = dt_from_string->add( days => 5 )->set( hour => 23, minute => 59, second => 0 );
106
is( $issue->{date_due}, $five_days_after, 'The date_due should have been set depending on the circ rules when the on-site checkout has been switched' );
107
is( dt_from_string($issue->date_due, 'sql'), $five_days_after, 'The date_due should have been set depending on the circ rules when the on-site checkout has been switched' );
107
108
108
# Specific case
109
# Specific case
109
t::lib::Mocks::mock_preference('ConsiderOnSiteCheckoutsAsNormalCheckouts', 1);
110
t::lib::Mocks::mock_preference('ConsiderOnSiteCheckoutsAsNormalCheckouts', 1);
(-)a/t/db_dependent/Circulation/issue.t (-8 / +1 lines)
Lines 17-23 Link Here
17
17
18
use Modern::Perl;
18
use Modern::Perl;
19
19
20
use Test::More tests => 32;
20
use Test::More tests => 31;
21
use DateTime::Duration;
21
use DateTime::Duration;
22
22
23
use t::lib::Mocks;
23
use t::lib::Mocks;
Lines 45-51 can_ok( Link Here
45
      AddReturn
45
      AddReturn
46
      GetBiblioIssues
46
      GetBiblioIssues
47
      GetIssuingCharges
47
      GetIssuingCharges
48
      GetItemIssue
49
      GetOpenIssue
48
      GetOpenIssue
50
      GetRenewCount
49
      GetRenewCount
51
      GetUpcomingDueIssues
50
      GetUpcomingDueIssues
Lines 218-228 like( Link Here
218
#Test GetBiblioIssues
217
#Test GetBiblioIssues
219
is( GetBiblioIssues(), undef, "GetBiblio Issues without parameters" );
218
is( GetBiblioIssues(), undef, "GetBiblio Issues without parameters" );
220
219
221
#Test GetItemIssue
222
#FIXME : As the issues are not correctly added in the database, these tests don't work correctly
223
is(GetItemIssue,undef,"Without parameter GetItemIssue returns undef");
224
#is(GetItemIssue($item_id1),{},"Item1's issues");
225
226
#Test GetOpenIssue
220
#Test GetOpenIssue
227
is( GetOpenIssue(), undef, "Without parameter GetOpenIssue returns undef" );
221
is( GetOpenIssue(), undef, "Without parameter GetOpenIssue returns undef" );
228
is( GetOpenIssue(-1), undef,
222
is( GetOpenIssue(-1), undef,
229
- 

Return to bug 17680