Fix for 418
[koha.git] / moremember.pl
index a4cd034..50ddd24 100755 (executable)
 # Suite 330, Boston, MA  02111-1307 USA
 
 use strict;
+use C4::Auth;
 use C4::Context;
 use C4::Output;
+use C4::Interface::CGI::Output;
+use C4::Interface::CGI::Template;
 use CGI;
 use C4::Search;
 use Date::Manip;
+use C4::Date;
 use C4::Reserves2;
 use C4::Circulation::Renewals2;
 use C4::Circulation::Circ2;
@@ -46,9 +50,14 @@ my $dbh = C4::Context->dbh;
 
 my $input = new CGI;
 
-my $theme = $input->param('theme'); # only used if allowthemeoverride is set
-my %tmpldata = pathtotemplate ( template => 'moremember.tmpl', theme => $theme );
-my $template = HTML::Template->new(filename => $tmpldata{'path'}, die_on_bad_params => 0);
+my ($template, $loggedinuser, $cookie)
+    = get_template_and_user({template_name => "members/moremember.tmpl",
+                            query => $input,
+                            type => "intranet",
+                            authnotrequired => 0,
+                            flagsrequired => {borrowers => 1},
+                            debug => 1,
+                            });
 
 my $bornum=$input->param('bornum');
 
@@ -56,12 +65,15 @@ my $bornum=$input->param('bornum');
 
 my $data=borrdata('',$bornum);
 
-$data->{'dateenrolled'} = slashifyDate($data->{'dateenrolled'});
-$data->{'expiry'} = slashifyDate($data->{'expiry'});
-$data->{'dateofbirth'} = slashifyDate($data->{'dateofbirth'});
+$data->{'dateenrolled'} = format_date($data->{'dateenrolled'});
+$data->{'expiry'} = format_date($data->{'expiry'});
+$data->{'dateofbirth'} = format_date($data->{'dateofbirth'});
+$data->{'IS_ADULT'} = ($data->{'categorycode'} ne 'I');
 
 $data->{'ethnicity'} = fixEthnicity($data->{'ethnicity'});
 
+$data->{&expand_sex_into_predicate($data->{'sex'})} = 1;
+
 if ($data->{'categorycode'} eq 'C'){
     my $data2=borrdata('',$data->{'guarantor'});
     $data->{'streetaddress'}=$data2->{'streetaddress'};
@@ -117,7 +129,7 @@ for (my$i=0;$i<$numaccts;$i++){
   my %row = %$accts->[$i];
   if ($amount2 != 0){
     my $item=" &nbsp; ";
-    $row{'date'} = slashifyDate($accts->[$i]{'date'});
+    $row{'date'} = format_date($accts->[$i]{'date'});
 
     if ($accts->[$i]{'accounttype'} ne 'Res'){
       #get item data
@@ -142,7 +154,7 @@ my $today=ParseDate('today');
 my @issuedata;
 for (my $i=0;$i<$count;$i++){
   my $datedue=ParseDate($issue->[$i]{'date_due'});
-  $issue->[$i]{'date_due'} = slashifyDate($issue->[$i]{'date_due'});
+  $issue->[$i]{'date_due'} = format_date($issue->[$i]{'date_due'});
   my %row = %{$issue->[$i]};
   if ($datedue < $today){
     $row{'red'}=1; #print "<font color=red>";
@@ -173,28 +185,23 @@ for (my $i=0;$i<$count;$i++){
 
 my ($rescount,$reserves)=FindReserves('',$bornum); #From C4::Reserves2
 
-# FIXME
-# does it make sense to turn this into a foreach my $i (0..$rescount)
-# kind of loop?
-#
 my @reservedata;
-for (my $i=0;$i<$rescount;$i++){
-  $reserves->[$i]{'reservedate2'} = slashifyDate($reserves->[$i]{'reservedate'});
-  my $restitle;
-  my %row = %$reserves->[$i];
-  if ($reserves->[$i]{'constrainttype'} eq 'o'){
-    $restitle=getreservetitle($reserves->[$i]{'biblionumber'},$reserves->[$i]{'borrowernumber'},$reserves->[$i]{'reservedate'},$reserves->[$i]{'timestamp'});
-    %row =  (%row , %$restitle);
-  }
-  push (@reservedata, \%row);
+foreach my $reserveline (@$reserves) {
+       $reserveline->{'reservedate2'} = format_date($reserveline->{'reservedate'});
+       my $restitle;
+       my %row = %$reserveline;
+       if ($reserveline->{'constrainttype'} eq 'o'){
+               $restitle=getreservetitle($reserveline->{'biblionumber'},$reserveline->{'borrowernumber'},$reserveline->{'reservedate'},$reserveline->{'timestamp'});
+               %row =  (%row , %$restitle);
+       }
+       push (@reservedata, \%row);
 }
 
 $template->param($data);
-$template->param(startmenumember => join('', startmenu('member')),
-                endmenumember   => join('', endmenu('member')),
+$template->param(
                 bornum          => $bornum,
                 accountloop     => \@accountdata,
                 issueloop       => \@issuedata,
                 reserveloop     => \@reservedata);
 
-print "Content-Type: text/html\n\n", $template->output;
+output_html_with_http_headers $input, $cookie, $template->output;