X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=circ%2Fbranchoverdues.pl;h=0bea167690b2f6711768c8759a1b11a1264b9e1b;hb=9d6d641d1f8b77271800f43bc027b651f9aea52b;hp=5c1dcafea65449278d6219a8e517c547cbc7088f;hpb=c0234dd9b9649063acf2617fecf5c6efda38a532;p=srvgit diff --git a/circ/branchoverdues.pl b/circ/branchoverdues.pl index 5c1dcafea6..0bea167690 100755 --- a/circ/branchoverdues.pl +++ b/circ/branchoverdues.pl @@ -3,71 +3,47 @@ # # This file is part of Koha. # -# Koha is free software; you can redistribute it and/or modify it under the -# terms of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any later -# version. +# Koha is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. # -# Koha is distributed in the hope that it will be useful, but WITHOUT ANY -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR -# A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# Koha is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. # -# You should have received a copy of the GNU General Public License along with -# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place, -# Suite 330, Boston, MA 02111-1307 USA +# You should have received a copy of the GNU General Public License +# along with Koha; if not, see . -use strict; -#use warnings; FIXME - Bug 2505 +use Modern::Perl; 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 CGI qw ( -utf8 ); +use C4::Output qw( output_html_with_http_headers ); +use C4::Auth qw( get_template_and_user ); +use C4::Overdues qw( GetOverduesForBranch ); +use C4::Biblio qw( GetMarcFromKohaField GetMarcStructure ); +use C4::Koha qw( GetAuthorisedValues ); +use Koha::DateUtils qw( dt_from_string output_pref ); +use Koha::BiblioFrameworks; =head1 branchoverdues.pl - this module is a new interface, allow to the librarian to check all items on overdues (based on the acountlines type 'FU' ) - this interface is filtered by branches (automatically), and by location (optional) .... - all informations are stocked in the notifys BDD +This view is used to display all overdue items to the librarian. - FIXME for this time, we have only four methods to notify : - - mail : work with a batch programm - - letter : for us, the letters are generated by an open-office program - - phone : Simple method, when the method 'phone' is selected, we consider, that the borrower as been notified, and the notify send date is implemented - - considered lost : for us if the document is on the third overduelevel, - - FIXME the methods are actually hardcoded for the levels : (maybe can be improved by a new possibility in overduerule) - - level 1 : three methods are possible : - mail, letter, phone - level 2 : only one method is possible : - letter - level 3 : only methode is possible : - Considered Lost - - the documents displayed on this interface, are checked on three points - - 1) the document must be on accountlines (Type 'FU') - - 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. +It is automatically filtered by branch and can optionally be filtered +by item location. =cut -my $input = new CGI; +my $input = CGI->new; my $dbh = C4::Context->dbh; -my ( $template, $loggedinuser, $cookie ) = get_template_and_user({ - template_name => "circ/branchoverdues.tmpl", +my ( $template, $loggedinuser, $cookie, $flags ) = get_template_and_user({ + template_name => "circ/branchoverdues.tt", query => $input, type => "intranet", - authnotrequired => 0, flagsrequired => { circulate => "circulate_remaining_permissions" }, - debug => 1, }); my $default = C4::Context->userenv->{'branch'}; @@ -77,45 +53,31 @@ my $borrowernumber = $input->param('borrowernumber'); my $itemnumber = $input->param('itemnumber'); my $method = $input->param('method'); 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 ) # 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 ); # FIXME: useless variable, no TMPL code for "action" exists. -} - my @overduesloop; 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 ($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} } + for (@$values) { $_->{selected} = 1 if defined $location && $location eq $_->{authorised_value} } $template->param(locationsloop => $values); } # now display infos foreach my $num (@getoverdues) { my %overdueforbranch; - my $record = GetMarcBiblio($num->{biblionumber}); - if ($record){ - $overdueforbranch{'subtitle'} = GetRecordValue('subtitle',$record,'')->[0]->{subfield}; - } - $overdueforbranch{'date_due'} = format_date( $num->{'date_due'} ); + my $dt = dt_from_string($num->{date_due}, 'sql'); + $overdueforbranch{'date_due'} = output_pref($dt); $overdueforbranch{'title'} = $num->{'title'}; + $overdueforbranch{'subtitle'} = $num->{'subtitle'}; + $overdueforbranch{'medium'} = $num->{'medium'}; + $overdueforbranch{'part_number'} = $num->{'part_number'}; + $overdueforbranch{'part_name'} = $num->{'part_name'}; $overdueforbranch{'description'} = $num->{'description'}; $overdueforbranch{'barcode'} = $num->{'barcode'}; $overdueforbranch{'biblionumber'} = $num->{'biblionumber'}; @@ -124,26 +86,11 @@ foreach my $num (@getoverdues) { $overdueforbranch{'borrowerfirstname'} = $num->{'firstname'}; $overdueforbranch{'borrowerphone'} = $num->{'phone'}; $overdueforbranch{'borroweremail'} = $num->{'email'}; - $overdueforbranch{'homebranch'} = GetBranchName($num->{'homebranch'}); + $overdueforbranch{'homebranch'} = $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; - } - elsif ( $num->{'notify_level'} eq '2' ) { - $overdueforbranch{'overdue2'} = 1; - $overdueforbranch{'overdueLevel'} = 2; - } - elsif ( $num->{'notify_level'} eq '3' ) { - $overdueforbranch{'overdue3'} = 1; - $overdueforbranch{'overdueLevel'} = 3; - } - $overdueforbranch{'notify_id'} = $num->{'notify_id'}; + $overdueforbranch{'cardnumber'} = $num->{'cardnumber'}; push( @overduesloop, \%overdueforbranch ); } @@ -151,8 +98,10 @@ foreach my $num (@getoverdues) { # initiate the templates for the overdueloop $template->param( overduesloop => \@overduesloop, - show_date => format_date(C4::Dates->today('iso')), location => $location, ); +# Checking if there is a Fast Cataloging Framework +$template->param( fast_cataloging => 1 ) if Koha::BiblioFrameworks->find( 'FA' ); + output_html_with_http_headers $input, $cookie, $template->output;