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

(-)a/C4/Items.pm (-1 / +2 lines)
Lines 401-408 sub ModDateLastSeen { Link Here
401
401
402
    my $item = Koha::Items->find($itemnumber);
402
    my $item = Koha::Items->find($itemnumber);
403
    $item->datelastseen(dt_from_string);
403
    $item->datelastseen(dt_from_string);
404
    my $log = $item->itemlost && !$leave_item_lost ? 1 : 0; # If item was lost, record the change to the item
404
    $item->itemlost(0) unless $leave_item_lost;
405
    $item->itemlost(0) unless $leave_item_lost;
405
    $item->store({ log_action => 0, skip_record_index => $params->{skip_record_index}, skip_holds_queue => $params->{skip_holds_queue} });
406
    $item->store({ log_action => $log, skip_record_index => $params->{skip_record_index}, skip_holds_queue => $params->{skip_holds_queue} });
406
}
407
}
407
408
408
=head2 CheckItemPreSave
409
=head2 CheckItemPreSave
(-)a/t/db_dependent/Items.t (-4 / +28 lines)
Lines 19-25 use Modern::Perl; Link Here
19
use Data::Dumper;
19
use Data::Dumper;
20
20
21
use MARC::Record;
21
use MARC::Record;
22
use C4::Items qw( ModItemTransfer SearchItems AddItemFromMarc ModItemFromMarc get_hostitemnumbers_of Item2Marc );
22
use C4::Items qw( ModItemTransfer SearchItems AddItemFromMarc ModItemFromMarc get_hostitemnumbers_of Item2Marc ModDateLastSeen );
23
use C4::Biblio qw( GetMarcFromKohaField AddBiblio );
23
use C4::Biblio qw( GetMarcFromKohaField AddBiblio );
24
use C4::Circulation qw( AddIssue );
24
use C4::Circulation qw( AddIssue );
25
use Koha::Items;
25
use Koha::Items;
Lines 34-40 use Koha::AuthorisedValues; Link Here
34
use t::lib::Mocks;
34
use t::lib::Mocks;
35
use t::lib::TestBuilder;
35
use t::lib::TestBuilder;
36
36
37
use Test::More tests => 11;
37
use Test::More tests => 12;
38
38
39
use Test::Warn;
39
use Test::Warn;
40
40
Lines 931-934 subtest 'ModItemFromMarc' => sub { Link Here
931
931
932
    $schema->storage->txn_rollback;
932
    $schema->storage->txn_rollback;
933
    Koha::Caches->get_instance->clear_from_cache( "MarcSubfieldStructure-" );
933
    Koha::Caches->get_instance->clear_from_cache( "MarcSubfieldStructure-" );
934
}
934
};
935
936
subtest 'ModDateLastSeen' => sub {
937
    plan tests => 5;
938
    $schema->storage->txn_begin;
939
940
    my $builder = t::lib::TestBuilder->new;
941
    my $item = $builder->build_sample_item;
942
    t::lib::Mocks::mock_preference('CataloguingLog', '1');
943
    my $logs_before = Koha::ActionLogs->search({ module => 'CATALOGUING', action => 'MODIFY', object => $item->itemnumber })->count;
944
    ModDateLastSeen($item->itemnumber);
945
    my $logs_after = Koha::ActionLogs->search({ module => 'CATALOGUING', action => 'MODIFY', object => $item->itemnumber })->count;
946
    is( $logs_after, $logs_before, "ModDateLastSeen doesn't log if item not lost");
947
    $item->itemlost(1)->store({ log_action => 0 });
948
    ModDateLastSeen($item->itemnumber, 1);
949
    $item->discard_changes;
950
    $logs_after = Koha::ActionLogs->search({ module => 'CATALOGUING', action => 'MODIFY', object => $item->itemnumber })->count;
951
    is( $item->itemlost, 1, "Item left lost when parameter is passed");
952
    is( $logs_after, $logs_before, "ModDateLastSeen doesn't log if item not lost");
953
    ModDateLastSeen($item->itemnumber);
954
    $item->discard_changes;
955
    $logs_after = Koha::ActionLogs->search({ module => 'CATALOGUING', action => 'MODIFY', object => $item->itemnumber })->count;
956
    is( $item->itemlost, 0, "Item no longer lost when no parameter is passed");
957
    is( $logs_after, $logs_before + 1, "ModDateLastSeen logs if item was lost and now found");
958
};
959
935
- 

Return to bug 28799