#!/usr/bin/perl
-# $Id$
# Copyright 2000-2002 Katipo Communications
#
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 C4::Search; # enabled_staff_search_views
+
+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 @modules = $input->param("modules");
my $user = $input->param("user");
my $action = $input->param("action");
my $object = $input->param("object");
my $dateto = $input->param("to");
my $basename = $input->param("basename");
my $mime = $input->param("MIME");
-my $del = $input->param("sep");
+#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,
+ C4::Search::enabled_staff_search_views,
+);
+#
+#### This code was never really used - maybe some day some will fix it ###
+#my @mime = ( C4::Context->preference("MIME") );
+#my $CGIextChoice = CGI::scrolling_list(
+# -name => 'MIME',
+# -id => 'MIME',
+# -values => \@mime,
+# -size => 1,
+# -multiple => 0
+#);
+#my @dels = ( C4::Context->preference("delimiter") );
+#my $CGIsepChoice = CGI::scrolling_list(
+# -name => 'sep',
+# -id => 'sep',
+# -values => \@dels,
+# -size => 1,
+# -multiple => 0
+#);
+#$template->param(
+# CGIextChoice => $CGIextChoice,
+# CGIsepChoice => $CGIsepChoice,
+#);
+#
if ($do_it) {
- my $results = GetLogs($datefrom,$dateto,$user,$module,$action,$object,$info);
+ my $results = GetLogs($datefrom,$dateto,$user,\@modules,$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,
do_it => 1,
datefrom => $datefrom,
dateto => $dateto,
user => $user,
- module => $module,
object => $object,
action => $action,
info => $info,
+ src => $src,
);
- output_html_with_http_headers $input, $cookie, $template->output;
- exit;
- }
- else {
+ #module => 'fix this', #this seems unused in actual code
+ foreach my $module (@modules) {
+ $template->param($module => 1);
+ }
+ output_html_with_http_headers $input, $cookie, $template->output;
+ } else {
# Printing to a csv file
print $input->header(
- -type => 'application/vnd.sun.xml.calc',
+ -type => 'text/csv',
-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;
+ #next unless $modules[0] eq "catalogue";
+ foreach (qw(timestamp firstname surname action info title author)) {
+ print $line->{$_} . $sep;
+ }
+ }
}
-}
-else {
- my $dbh = C4::Context->dbh;
- my @values;
- my %labels;
- my %select;
- my $req;
-
- my @mime = ( C4::Context->preference("MIME") );
-
- my $CGIextChoice = CGI::scrolling_list(
- -name => 'MIME',
- -id => 'MIME',
- -values => \@mime,
- -size => 1,
- -multiple => 0
- );
-
- my @dels = ( C4::Context->preference("delimiter") );
- my $CGIsepChoice = CGI::scrolling_list(
- -name => 'sep',
- -id => 'sep',
- -values => \@dels,
- -size => 1,
- -multiple => 0
- );
-
- $template->param(
- total => 0,
- CGIextChoice => $CGIextChoice,
- CGIsepChoice => $CGIsepChoice
- );
- output_html_with_http_headers $input, $cookie, $template->output;
+ exit;
+} else {
+ #my @values;
+ #my %labels;
+ #my %select;
+ #initialize some paramaters that might not be used in the template - it seems to evaluate EXPR even if a false TMPL_IF
+ $template->param(
+ total => 0,
+ module => "",
+ info => ""
+ );
+ output_html_with_http_headers $input, $cookie, $template->output;
}