Bug 7977: Upgrading DataTables library to 1.9.1
[koha.git] / circ / reserveratios.pl
index f44966c..1517adf 100755 (executable)
 # 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') || '';
@@ -60,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
 }
 
@@ -144,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,
         {
@@ -151,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},