Bug 10403: (follow-up) fix test to use vendor created earlier during test
[koha.git] / circ / branchoverdues.pl
index a09f5d3..c81547e 100755 (executable)
 # Suite 330, Boston, MA  02111-1307 USA
 
 use strict;
+#use warnings; FIXME - Bug 2505
 use C4::Context;
 use CGI;
 use C4::Output;
 use C4::Auth;
-use C4::Dates qw/format_date/;
 use C4::Overdues;    # AddNotifyLine
 use C4::Biblio;
 use C4::Koha;
 use C4::Debug;
+use C4::Branch;
+use Koha::DateUtils;
+use Data::Dumper;
 
 =head1 branchoverdues.pl
 
@@ -50,23 +53,23 @@ use C4::Debug;
        - 2) item issues is not returned
        - 3) this item as not been already notify
 
+  FIXME: who is the author?
+  FIXME: No privisions (i.e. "actions") for handling notices are implemented.
+  FIXME: This is linked as "Overdue Fines" but the relationship to fines in GetOverduesForBranch is more complicated than that.
+
 =cut
 
 my $input       = new CGI;
 my $dbh = C4::Context->dbh;
 
-my $theme = $input->param('theme');    # only used if allowthemeoverride is set
-
-my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
-    {
+my ( $template, $loggedinuser, $cookie ) = get_template_and_user({
         template_name   => "circ/branchoverdues.tmpl",
         query           => $input,
         type            => "intranet",
         authnotrequired => 0,
         flagsrequired   => { circulate => "circulate_remaining_permissions" },
         debug           => 1,
-    }
-);
+});
 
 my $default = C4::Context->userenv->{'branch'};
 
@@ -78,61 +81,66 @@ my $overduelevel   = $input->param('overduelevel');
 my $notifyId       = $input->param('notifyId');
 my $location       = $input->param('location');
 
+# FIXME: better check that borrowernumber is defined and valid.
+# FIXME: same for itemnumber and other variables passed in here.
+
 # now create the line in bdd (notifys)
 if ( $input->param('action') eq 'add' ) {
     my $addnotify =
       AddNotifyLine( $borrowernumber, $itemnumber, $overduelevel, $method,
-        $notifyId );
+        $notifyId )    # FIXME: useless variable, no TMPL code for "action" exists.;
 }
 elsif ( $input->param('action') eq 'remove' ) {
     my $notify_date  = $input->param('notify_date');
     my $removenotify =
-      RemoveNotifyLine( $borrowernumber, $itemnumber, $notify_date );
+      RemoveNotifyLine( $borrowernumber, $itemnumber, $notify_date );    # FIXME: useless variable, no TMPL code for "action" exists.
 }
 
 my @overduesloop;
-my @todayoverduesloop;
-my $counter = 0;
-
 my @getoverdues = GetOverduesForBranch( $default, $location );
-use Data::Dumper;
 $debug and warn "HERE : $default / $location" . Dumper(@getoverdues);
 # search for location authorised value
 my ($tag,$subfield) = GetMarcFromKohaField('items.location','');
 my $tagslib = &GetMarcStructure(1,'');
 if ($tagslib->{$tag}->{$subfield}->{authorised_value}) {
     my $values= GetAuthorisedValues($tagslib->{$tag}->{$subfield}->{authorised_value});
+    for (@$values) { $_->{selected} = 1 if $location eq $_->{authorised_value} }
     $template->param(locationsloop => $values);
 }
 # now display infos
 foreach my $num (@getoverdues) {
-
     my %overdueforbranch;
-    $overdueforbranch{'date_due'}          = format_date( $num->{'date_due'} );
+    my $record = GetMarcBiblio($num->{biblionumber});
+    if ($record){
+        $overdueforbranch{'subtitle'} = GetRecordValue('subtitle',$record,'')->[0]->{subfield};
+    }
+    my $dt = dt_from_string($num->{date_due}, 'sql');
+    $overdueforbranch{'date_due'}          = output_pref($dt);
     $overdueforbranch{'title'}             = $num->{'title'};
     $overdueforbranch{'description'}       = $num->{'description'};
     $overdueforbranch{'barcode'}           = $num->{'barcode'};
     $overdueforbranch{'biblionumber'}      = $num->{'biblionumber'};
+    $overdueforbranch{'author'}            = $num->{'author'};
     $overdueforbranch{'borrowersurname'}   = $num->{'surname'};
     $overdueforbranch{'borrowerfirstname'} = $num->{'firstname'};
     $overdueforbranch{'borrowerphone'}     = $num->{'phone'};
     $overdueforbranch{'borroweremail'}     = $num->{'email'};
+    $overdueforbranch{'homebranch'}        = GetBranchName($num->{'homebranch'});
     $overdueforbranch{'itemcallnumber'}    = $num->{'itemcallnumber'};
     $overdueforbranch{'borrowernumber'}    = $num->{'borrowernumber'};
     $overdueforbranch{'itemnumber'}        = $num->{'itemnumber'};
 
     # now we add on the template, the differents values of notify_level
+    # FIXME: numerical comparison, not string eq.
     if ( $num->{'notify_level'} eq '1' ) {
         $overdueforbranch{'overdue1'}     = 1;
         $overdueforbranch{'overdueLevel'} = 1;
     }
-
-    if ( $num->{'notify_level'} eq '2' ) {
+    elsif ( $num->{'notify_level'} eq '2' ) {
         $overdueforbranch{'overdue2'}     = 1;
         $overdueforbranch{'overdueLevel'} = 2;
     }
-
-    if ( $num->{'notify_level'} eq '3' ) {
+    elsif ( $num->{'notify_level'} eq '3' ) {
         $overdueforbranch{'overdue3'}     = 1;
         $overdueforbranch{'overdueLevel'} = 3;
     }
@@ -144,7 +152,6 @@ foreach my $num (@getoverdues) {
 # initiate the templates for the overdueloop
 $template->param(
     overduesloop => \@overduesloop,
-    show_date    => format_date(C4::Dates->today('iso')),
     location     => $location,
 );