X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=circ%2Freserveratios.pl;h=1517adfb97223db13b44b1cccf56aaa8483c53f4;hb=72f91afd9c7871b706d553cfbadf23d4f6db7e02;hp=b28dc324ecf84567830a41cd8b9ecade54bf3b52;hpb=de38cf6df199d6bdc52179d9d55e7a0e22e4e7d8;p=koha_gimpoz diff --git a/circ/reserveratios.pl b/circ/reserveratios.pl index b28dc324ec..1517adfb97 100755 --- a/circ/reserveratios.pl +++ b/circ/reserveratios.pl @@ -14,21 +14,25 @@ # 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, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. use strict; +use warnings; + +use CGI; +use Date::Calc qw/Today Add_Delta_YM/; + use C4::Context; use C4::Output; -use CGI; use C4::Auth; use C4::Dates qw/format_date format_date_in_iso/; use C4::Debug; -use Date::Calc qw/Today Add_Delta_YM/; +use C4::Biblio qw/GetMarcBiblio GetRecordValue GetFrameworkCode/; my $input = new CGI; -my $order = $input->param('order'); +my $order = $input->param('order') || ''; my $startdate = $input->param('from'); my $enddate = $input->param('to'); my $ratio = $input->param('ratio'); @@ -58,10 +62,12 @@ if (!defined($startdate) or $startdate !~ s/^\s*(\S+)\s*$/$1/) { # strip space if (!defined($enddate) or $enddate !~ s/^\s*(\S+)\s*$/$1/) { # strip spaces, remove Taint $enddate = format_date($todaysdate); } -if (!defined($ratio) or $ratio !~ s/^\s*(0?\.?\d+)(\.0*)?\s*$/$1/) { # strip spaces, remove Taint +if (!defined($ratio)) { $ratio = 3; } -if ($ratio == 0) { +# Force to be a number +$ratio += 0; +if ($ratio <= 0) { $ratio = 1; # prevent division by zero } @@ -142,6 +148,8 @@ while ( my $data = $sth->fetchrow_hashref ) { my $thisratio = $data->{reservecount} / $data->{itemcount}; my $ratiocalc = ($thisratio / $ratio); ($thisratio / $ratio) >= 1 or next; # TODO: tighter targeting -- get ratio limit into SQL using HAVING clause + my $record = GetMarcBiblio($data->{biblionumber}); + $data->{subtitle} = GetRecordValue('subtitle', $record, GetFrameworkCode($data->{biblionumber})); push( @reservedata, { @@ -149,6 +157,7 @@ while ( my $data = $sth->fetchrow_hashref ) { priority => $data->{priority}, name => $data->{borrower}, title => $data->{title}, + subtitle => $data->{subtitle}, author => $data->{author}, notes => $data->{notes}, itemnum => $data->{itemnumber},