Bug 11650: multiplicated authorities after link_bibs_to_authorities.pl
[koha_fer] / tools / viewlog.pl
index d689217..1fbd6be 100755 (executable)
@@ -1,6 +1,7 @@
 #!/usr/bin/perl
 
 # Copyright 2010 BibLibre
+# Copyright 2011 MJ Ray and software.coop
 #
 # This file is part of Koha.
 #
@@ -71,16 +72,19 @@ if ($src eq 'circ') {   # if we were called from circulation, use the circulatio
     use C4::Members;
     my $borrowernumber = $object;
     my $data = GetMember('borrowernumber'=>$borrowernumber);
-    my ($picture, $dberror) = GetPatronImage($data->{'cardnumber'});
+    my ($picture, $dberror) = GetPatronImage($data->{'borrowernumber'});
     $template->param( picture => 1 ) if $picture;
+    
     $template->param(   menu            => 1,
                         title           => $data->{'title'},
                         initials        => $data->{'initials'},
                         surname         => $data->{'surname'},
+                        othernames      => $data->{'othernames'},
                         borrowernumber  => $borrowernumber,
                         firstname       => $data->{'firstname'},
                         cardnumber      => $data->{'cardnumber'},
                         categorycode    => $data->{'categorycode'},
+                        category_type   => $data->{'category_type'},
                         categoryname   => $data->{'description'},
                         address         => $data->{'address'},
                         address2        => $data->{'address2'},
@@ -92,31 +96,56 @@ if ($src eq 'circ') {   # if we were called from circulation, use the circulatio
                         email           => $data->{'email'},
                         branchcode      => $data->{'branchcode'},
                         branchname             => GetBranchName($data->{'branchcode'}),
+                        RoutingSerials => C4::Context->preference('RoutingSerials'),
     );
 }
 
 $template->param(
-       DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(),
-                     dateformat => C4::Dates->new()->format(),
-                                      debug => $debug,
-       C4::Search::enabled_staff_search_views,
+    debug => $debug,
+    C4::Search::enabled_staff_search_views,
 );
 
 if ($do_it) {
 
     my @data;
-    my $results = GetLogs($datefrom,$dateto,$user,\@modules,\@action,$object,$info);
+    my ($results,$modules,$action);
+    if ($action[0] ne '') { $action = \@action; } # match All means no limit
+    if ($modules[0] ne '') { $modules = \@modules; } # match All means no limit
+    $results = GetLogs($datefrom,$dateto,$user,$modules,$action,$object,$info);
     @data=@$results;
     my $total = scalar @data;
     foreach my $result (@data){
-       if ($result->{'info'} eq 'item'||$result->{module} eq "CIRCULATION"){
+       if (substr($result->{'info'}, 0, 4) eq 'item' || $result->{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 $item=GetItem($itemnumber);
            $result->{'biblionumber'}=$item->{'biblionumber'};
            $result->{'biblioitemnumber'}=$item->{'biblionumber'};              
+        $result->{'barcode'}=$item->{'barcode'};
        }
+    #always add firstname and surname for librarian/user
+    if ($result->{'user'}){
+        my $userdetails = C4::Members::GetMemberDetails($result->{'user'});
+        if ($userdetails->{'firstname'}){
+            $result->{'userfirstname'} = $userdetails->{'firstname'};
+        }
+        if ($userdetails->{'surname'}){
+            $result->{'usersurname'} = $userdetails->{'surname'};
+        }
+    }
+    #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 $borrowerdetails = C4::Members::GetMemberDetails($result->{'object'});
+            if ($borrowerdetails->{'firstname'}){
+            $result->{'borrowerfirstname'} = $borrowerdetails->{'firstname'};
+            }
+            if ($borrowerdetails->{'surname'}){
+                $result->{'borrowersurname'} = $borrowerdetails->{'surname'};
+            }
+        }
+    }
     }
     
     if ( $output eq "screen" ) {