Bug 15939: Action logs - Do not default dates to today
When accessing the modification logs from a link that does not explicitly set the to and from dates (e.g., from patron or bib details), no results are displayed unless the object had an action occur during the current day. This is a side-effect of commit5dceb851for bug 13813. Test plan: - View the modification logs of a record which has already been modified (/tools/viewlog.pl?do_it=1&modules=CATALOGUING&action=MODIFY&object=XXX) => Without this patch, you won't see any logs (unless you have modified the record today) => With this patch, the behavior is the same as prior bug 13813 (you can check in 3.20.x), you will see all logs Signed-off-by: Galen Charlton <gmcharlt@gmail.com> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com (cherry picked from commitca36ee3794) Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
This commit is contained in:
parent
54d3ee5758
commit
d20117fdde
|
|
@ -220,8 +220,8 @@ sub GetLogs {
|
|||
my $object = shift;
|
||||
my $info = shift;
|
||||
|
||||
my $iso_datefrom = output_pref({ dt => dt_from_string( $datefrom ), dateformat => 'iso', dateonly => 1 });
|
||||
my $iso_dateto = output_pref({ dt => dt_from_string( $dateto ), dateformat => 'iso', dateonly => 1 });
|
||||
my $iso_datefrom = $datefrom ? output_pref({ dt => dt_from_string( $datefrom ), dateformat => 'iso', dateonly => 1 }) : undef;
|
||||
my $iso_dateto = $dateto ? output_pref({ dt => dt_from_string( $dateto ), dateformat => 'iso', dateonly => 1 }) : undef;
|
||||
|
||||
my $dbh = C4::Context->dbh;
|
||||
my $query = "
|
||||
|
|
|
|||
|
|
@ -4,9 +4,8 @@
|
|||
# This Koha test module is a stub!
|
||||
# Add more tests here!!!
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
use Test::More tests => 7;
|
||||
use Modern::Perl;
|
||||
use Test::More tests => 8;
|
||||
|
||||
use C4::Context;
|
||||
use Koha::DateUtils;
|
||||
|
|
@ -77,4 +76,20 @@ cronlogaction();
|
|||
$cronJobCount = $dbh->selectrow_array("SELECT COUNT(*) FROM action_logs WHERE module='CRONJOBS';",{});
|
||||
is($cronJobCount,1,"Cronjob logged as expected.");
|
||||
|
||||
subtest "GetLogs should return all logs if dates are not set" => sub {
|
||||
plan tests => 2;
|
||||
my $today = dt_from_string->add(minutes => -1);
|
||||
my $yesterday = dt_from_string->add( days => -1 );
|
||||
$dbh->do(q|
|
||||
INSERT INTO action_logs (timestamp, user, module, action, object, info)
|
||||
VALUES
|
||||
(?, 42, 'CATALOGUING', 'MODIFY', 4242, 'Record 42 has been modified by patron 4242 yesterday'),
|
||||
(?, 43, 'CATALOGUING', 'MODIFY', 4242, 'Record 43 has been modified by patron 4242 today')
|
||||
|, undef, output_pref({dt =>$yesterday, dateformat => 'iso'}), output_pref({dt => $today, dateformat => 'iso'}));
|
||||
my $logs = GetLogs( undef, undef, undef, ['CATALOGUING'], ['MODIFY'], 4242 );
|
||||
is( scalar(@$logs), 2, 'GetLogs should return all logs regardless the dates' );
|
||||
$logs = GetLogs( output_pref($today), undef, undef, ['CATALOGUING'], ['MODIFY'], 4242 );
|
||||
is( scalar(@$logs), 1, 'GetLogs should return the logs for today' );
|
||||
};
|
||||
|
||||
$dbh->rollback();
|
||||
|
|
|
|||
Loading…
Reference in New Issue