use CGI;
use C4::Context;
use C4::Koha;
+use C4::Dates;
use C4::Output;
use C4::Log;
-use Date::Manip;
+use C4::Items;
+use C4::Branch;
+use C4::Debug;
+# use Data::Dumper;
+
+use vars qw($debug $cgi_debug);
=head1 viewlog.pl
-plugin that shows a stats on borrowers
+plugin that shows stats
=cut
my $input = new CGI;
+
+$debug or $debug = $cgi_debug;
my $do_it = $input->param('do_it');
my $module = $input->param("module");
my $user = $input->param("user");
my $mime = $input->param("MIME");
my $del = $input->param("sep");
my $output = $input->param("output") || "screen";
+my $src = $input->param("src"); # this param allows us to be told where we were called from -fbcit
my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
{
query => $input,
type => "intranet",
authnotrequired => 0,
- flagsrequired => { tools => 1 },
+ flagsrequired => { tools => 'view_system_logs' },
debug => 1,
}
);
+if ($src eq 'circ') { # if we were called from circulation, use the circulation menu and get data to populate it -fbcit
+ use C4::Members;
+ my $borrowernumber = $object;
+ my $data = GetMember($borrowernumber,'borrowernumber');
+ my ($picture, $dberror) = GetPatronImage($data->{'cardnumber'});
+ $template->param( picture => 1 ) if $picture;
+ $template->param( menu => 1,
+ title => $data->{'title'},
+ initials => $data->{'initials'},
+ surname => $data->{'surname'},
+ borrowernumber => $borrowernumber,
+ firstname => $data->{'firstname'},
+ cardnumber => $data->{'cardnumber'},
+ categorycode => $data->{'categorycode'},
+ categoryname => $data->{'description'},
+ address => $data->{'address'},
+ address2 => $data->{'address2'},
+ city => $data->{'city'},
+ zipcode => $data->{'zipcode'},
+ phone => $data->{'phone'},
+ phonepro => $data->{'phonepro'},
+ email => $data->{'email'},
+ branchcode => $data->{'branchcode'},
+ branchname => GetBranchName($data->{'branchcode'}),
+ );
+}
+
+$template->param(
+ DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(),
+ dateformat => C4::Dates->new()->format(),
+ debug => $debug,
+);
+
if ($do_it) {
my $results = GetLogs($datefrom,$dateto,$user,$module,$action,$object,$info);
my $total = scalar @$results;
+ foreach my $result (@$results){
+ if ($result->{'info'} eq 'item'){
+ # get item information so we can create a working link
+ my $item=GetItem($result->{'object'});
+ $result->{'biblionumber'}=$item->{'biblionumber'};
+ $result->{'biblioitemnumber'}=$item->{'biblionumber'};
+ }
+ }
if ( $output eq "screen" ) {
-
# Printing results to screen
$template->param (
+ logview => 1,
total => $total,
$module => 1,
looprow => $results,
object => $object,
action => $action,
info => $info,
+ src => $src,
);
output_html_with_http_headers $input, $cookie, $template->output;
- exit;
- }
- else {
-
+ } else {
# Printing to a csv file
print $input->header(
-type => 'application/vnd.sun.xml.calc',
-attachment => "$basename.csv",
-filename => "$basename.csv"
);
- my $sep;
- $sep = C4::Context->preference("delimiter");
-
+ my $sep = C4::Context->preference("delimiter");
foreach my $line (@$results) {
- if ( $module eq "catalogue" ) {
- print $line->{timestamp} . $sep;
- print $line->{firstname} . $sep;
- print $line->{surname} . $sep;
- print $line->{action} . $sep;
- print $line->{info} . $sep;
- print $line->{title} . $sep;
- print $line->{author} . $sep;
- }
- }
-
- exit;
+ ($module eq "catalogue") or next;
+ foreach (qw(timestamp firstname surname action info title author)) {
+ print $line->{$_} . $sep;
+ }
+ }
}
-}
-else {
- my $dbh = C4::Context->dbh;
+ exit;
+} else {
my @values;
my %labels;
my %select;
- my $req;
-
my @mime = ( C4::Context->preference("MIME") );
-
my $CGIextChoice = CGI::scrolling_list(
-name => 'MIME',
-id => 'MIME',
-size => 1,
-multiple => 0
);
-
my @dels = ( C4::Context->preference("delimiter") );
my $CGIsepChoice = CGI::scrolling_list(
-name => 'sep',
-size => 1,
-multiple => 0
);
-
$template->param(
total => 0,
CGIextChoice => $CGIextChoice,
CGIsepChoice => $CGIsepChoice,
- DHTMLcalendar_dateformat => get_date_format_string_for_DHTMLcalendar(),
);
output_html_with_http_headers $input, $cookie, $template->output;
}