Bug 3022: Cataloging statistic wizard not pulling the itemtype data correctly.
authorGarry Collum <gcollum@gmail.com>
Mon, 25 May 2009 00:51:18 +0000 (20:51 -0400)
committerGalen Charlton <galen.charlton@liblime.com>
Wed, 27 May 2009 12:06:24 +0000 (07:06 -0500)
Added code to detect if the syspref for item-level_itypes is being used.  The report now correctly returns data based on the syspref.  There are some pre-existing XML errors with the FORM view of catalogue_stats.pl.  I'll send a subsequent patch to deal with these.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
koha-tmpl/intranet-tmpl/prog/en/modules/reports/catalogue_stats.tmpl
reports/catalogue_stats.pl

index fa96685..683bd8b 100644 (file)
                        <!-- /TMPL_IF -->
                         <tr>
                                <td>Item Type</td>
-                               <td><input type="radio" name="Line" value="itemtype" /></td>
-                               <td><input type="radio" name="Column" value="itemtype" /></td>
-                               <td><select name="Filter" id="itemtype">
+                               <td><input type="radio" name="Line" value="<!-- TMPL_VAR NAME="item_itype" -->" /></td>
+                               <td><input type="radio" name="Column" value="<!-- TMPL_VAR NAME="item_itype" -->" /></td>
+                               <td><select name="Filter" id="<!-- TMPL_VAR NAME="item_itype" -->">
                                        <option value=""> </option>
                                        <!-- TMPL_LOOP NAME="CGIItemType" -->
                                        <!-- TMPL_IF NAME="selected" -->
index 6ce41a4..34b649f 100755 (executable)
@@ -54,6 +54,12 @@ my $basename    = $input->param("basename");
 my $mime        = $input->param("MIME");
 our $sep        = $input->param("sep");
 $sep = "\t" if ($sep eq 'tabulation');
+my $item_itype;
+if(C4::Context->preference('item-level_itypes')) {
+       $item_itype = "items\.itype"
+} else {
+       $item_itype = "itemtype";
+}
 
 my ($template, $borrowernumber, $cookie)
        = get_template_and_user({template_name => $fullreportname,
@@ -176,6 +182,7 @@ if ($do_it) {
                                        authvals     => \@authvals,
                                        CGIextChoice => \@mime,
                                        CGIsepChoice => GetDelimiterChoices,
+                                       item_itype => $item_itype
                                        );
 
 }
@@ -250,7 +257,11 @@ if($barcodefilter){
        $linefilter[1] = @$filters[3] if ($line =~ /lccn/ )  ;
        $linefilter[0] = @$filters[4] if ($line =~ /items\.itemcallnumber/ )  ;
        $linefilter[1] = @$filters[5] if ($line =~ /items\.itemcallnumber/ )  ;
-       $linefilter[0] = @$filters[6] if ($line =~ /itemtype/ )  ;
+       if (C4::Context->preference('item-level_itypes')) {
+               $linefilter[0] = @$filters[6] if ($line =~ /items\.itype/ )  ;
+       } else {
+               $linefilter[0] = @$filters[6] if ($line =~ /itemtype/ )  ;
+       }
        $linefilter[0] = @$filters[7] if ($line =~ /publishercode/ ) ;
        $linefilter[0] = @$filters[8] if ($line =~ /publicationyear/ ) ;
        $linefilter[1] = @$filters[9] if ($line =~ /publicationyear/ ) ;
@@ -265,7 +276,11 @@ if($barcodefilter){
        $colfilter[1] = @$filters[3] if ($column =~ /lccn/ )  ;
        $colfilter[0] = @$filters[4] if ($column =~ /items\.itemcallnumber/ )  ;
        $colfilter[1] = @$filters[5] if ($column =~ /items\.itemcallnumber/ )  ;
-       $colfilter[0] = @$filters[6] if ($column =~ /itemtype/ )  ;
+       if (C4::Context->preference('item-level_itypes')) {
+               $colfilter[0] = @$filters[6] if ($column =~ /items\.itype/ )  ;
+       } else {
+               $colfilter[0] = @$filters[6] if ($column =~ /itemtype/ )  ;
+       }
        $colfilter[0] = @$filters[7] if ($column =~ /publishercode/ ) ;
        $colfilter[0] = @$filters[8] if ($column =~ /publicationyear/ ) ;
        $colfilter[1] = @$filters[9] if ($column =~ /publicationyear/ ) ;
@@ -410,7 +425,7 @@ if($barcodefilter){
        if (@$filters[6]){
                @$filters[6]=~ s/\*/%/g;
                $strcalc .= " AND " . 
-                       (C4::Context::preference('Item-level_itypes') ? 'items.itype' : 'biblioitems.itemtype')
+                       (C4::Context->preference('item-level_itypes') ? 'items.itype' : 'biblioitems.itemtype')
                        . " LIKE '" . @$filters[6] ."'";
        }