Bugzilla – Attachment 85596 Details for
Bug 22363
Move C4::Logs::GetLogs to Koha namespace
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 22363: Use Koha::ActionLogs->search instead of GetLogs in log viewer
Bug-22363-Use-KohaActionLogs-search-instead-of-Get.patch (text/plain), 5.52 KB, created by
Andrew Isherwood
on 2019-02-25 08:51:37 UTC
(
hide
)
Description:
Bug 22363: Use Koha::ActionLogs->search instead of GetLogs in log viewer
Filename:
MIME Type:
Creator:
Andrew Isherwood
Created:
2019-02-25 08:51:37 UTC
Size:
5.52 KB
patch
obsolete
>From f368c4903be5898593502544ecb89b85826c8f48 Mon Sep 17 00:00:00 2001 >From: Josef Moravec <josef.moravec@gmail.com> >Date: Mon, 18 Feb 2019 14:08:19 +0000 >Subject: [PATCH] Bug 22363: Use Koha::ActionLogs->search instead of GetLogs in > log viewer > >Test plan: >1) Use log viewer, try different parameters >2) Try screen and file export >3) prove t/db_dependent/Koha/ActionLogs.t > >Signed-off-by: Andrew Isherwood <andrew.isherwood@ptfs-europe.com> >--- > tools/viewlog.pl | 72 +++++++++++++++++++++++++++++++++++++++++--------------- > 1 file changed, 53 insertions(+), 19 deletions(-) > >diff --git a/tools/viewlog.pl b/tools/viewlog.pl >index 2f8bc30e3e..7f4e42cec4 100755 >--- a/tools/viewlog.pl >+++ b/tools/viewlog.pl >@@ -26,11 +26,13 @@ use Text::CSV::Encoded; > use C4::Context; > use C4::Koha; > use C4::Output; >-use C4::Log; > use C4::Items; > use C4::Serials; > use C4::Debug; > use C4::Search; # enabled_staff_search_views >+use Koha::ActionLogs; >+use Koha::Database; >+use Koha::DateUtils; > use Koha::Patrons; > > use vars qw($debug $cgi_debug); >@@ -100,26 +102,59 @@ $template->param( > ); > > if ($do_it) { >+ my $dtf = Koha::Database->new->schema->storage->datetime_parser; >+ my %search_params; >+ >+ if ($datefrom and $dateto ) { >+ my $dateto_endday = dt_from_string($dateto); >+ $dateto_endday->set( # We set last second of day to see all log from that day >+ hour => 23, >+ minute => 59, >+ second => 59 >+ ); >+ $search_params{'timestamp'} = { >+ -between => [ >+ $dtf->format_datetime( dt_from_string($datefrom) ), >+ $dtf->format_datetime( $dateto_endday ), >+ ] >+ }; >+ } elsif ($datefrom) { >+ $search_params{'timestamp'} = { >+ '>=' => $dtf->format_datetime( dt_from_string($datefrom) ) >+ }; >+ } elsif ($dateto) { >+ my $dateto_endday = dt_from_string($dateto); >+ $dateto_endday->set( # We set last second of day to see all log from that day >+ hour => 23, >+ minute => 59, >+ second => 59 >+ ); >+ $search_params{'timestamp'} = { >+ '<=' => $dtf->format_datetime( $dateto_endday ) >+ }; >+ } >+ $search_params{user} = $user if $user; >+ $search_params{module} = { -in => [ @modules ] } if ( defined $modules[0] and $modules[0] ne '' ) ; >+ $search_params{action} = { -in => [ @actions ] } if ( defined $actions[0] && $actions[0] ne '' ); >+ $search_params{object} = $object if $object; >+ $search_params{info} = $info if $info; >+ $search_params{interface} = { -in => [ @interfaces ] } if ( defined $interfaces[0] && $interfaces[0] ne '' ); > >- my @data; >- my ( $results, $modules, $actions, $interfaces ); >- if ( defined $actions[0] && $actions[0] ne '' ) { $actions = \@actions; } # match All means no limit >- if ( $modules[0] ne '' ) { $modules = \@modules; } # match All means no limit >- if ( defined $interfaces[0] && $interfaces[0] ne '' ) { $interfaces = \@interfaces; } # match All means no limit >- $results = GetLogs( $datefrom, $dateto, $user, $modules, $actions, $object, $info, $interfaces ); >- @data = @$results; >- foreach my $result (@data) { >+ my @logs = Koha::ActionLogs->search(\%search_params); > >+ my @data; >+ foreach my $log (@logs) { >+ my $result = $log->unblessed; > # Init additional columns for CSV export > $result->{'biblionumber'} = q{}; > $result->{'biblioitemnumber'} = q{}; > $result->{'barcode'} = q{}; > >- if ( substr( $result->{'info'}, 0, 4 ) eq 'item' || $result->{module} eq "CIRCULATION" ) { >+ if ( substr( $log->info, 0, 4 ) eq 'item' || $log->module eq "CIRCULATION" ) { > > # get item information so we can create a working link >- my $itemnumber = $result->{'object'}; >- $itemnumber = $result->{'info'} if ( $result->{module} eq "CIRCULATION" ); >+ my $itemnumber = $log->object; >+ $itemnumber = $log->info if ( $log->module eq "CIRCULATION" ); > my $item = GetItem($itemnumber); > if ($item) { > $result->{'biblionumber'} = $item->{'biblionumber'}; >@@ -129,24 +164,24 @@ if ($do_it) { > } > > #always add firstname and surname for librarian/user >- if ( $result->{'user'} ) { >- my $patron = Koha::Patrons->find( $result->{'user'} ); >+ if ( $log->user ) { >+ my $patron = Koha::Patrons->find( $log->user ); > if ($patron) { > $result->{librarian} = $patron; > } > } > > #add firstname and surname for borrower, when using the CIRCULATION, MEMBERS, FINES >- if ( $result->{module} eq "CIRCULATION" || $result->{module} eq "MEMBERS" || $result->{module} eq "FINES" ) { >- if ( $result->{'object'} ) { >- my $patron = Koha::Patrons->find( $result->{'object'} ); >+ if ( $log->module eq "CIRCULATION" || $log->module eq "MEMBERS" || $log->module eq "FINES" ) { >+ if ( $log->object ) { >+ my $patron = Koha::Patrons->find( $log->object ); > if ($patron) { > $result->{patron} = $patron; > } > } > } >+ push @data, $result; > } >- > if ( $output eq "screen" ) { > > # Printing results to screen >@@ -169,7 +204,6 @@ if ($do_it) { > foreach my $module (@modules) { > $template->param( $module => 1 ); > } >- > output_html_with_http_headers $input, $cookie, $template->output; > } > else { >-- >2.11.0
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 22363
:
85248
|
85249
|
85250
|
85253
|
85254
|
85261
|
85594
|
85595
|
85596
|
85597
|
85632
|
85633
|
85634
|
85635
|
85636
|
85637
|
85749
|
85750
|
85751
|
85752
|
85753