Merge branch 'master' of git://git.koha-community.org/koha into 3.14-master
authorJared Camins-Esakov <jcamins@cpbibliography.com>
Mon, 6 May 2013 12:54:25 +0000 (08:54 -0400)
committerJared Camins-Esakov <jcamins@cpbibliography.com>
Mon, 6 May 2013 12:54:25 +0000 (08:54 -0400)
C4/Search.pm
C4/Serials.pm
koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-collection.tt
opac/opac-reserve.pl

index 39bbbc5..da729ad 100644 (file)
@@ -36,7 +36,7 @@ use URI::Escape;
 use Business::ISBN;
 use MARC::Record;
 use MARC::Field;
-
+use utf8;
 use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $DEBUG);
 
 # set the version for version checking
index b8b53ed..e2748ff 100644 (file)
@@ -1134,18 +1134,18 @@ sub ModSerialStatus {
             $sth->execute($subscriptionid);
             my ( $missinglist, $recievedlist ) = $sth->fetchrow;
             if ( $status == 2 ) {
-
                 $recievedlist .= "; $serialseq"
-                  unless ( index( "$recievedlist", "$serialseq" ) >= 0 );
+                    if $recievedlist!~/(^|;)\s*$serialseq(?=;|$)/;
+            }
+            # in case serial has been previously marked as missing
+            if (grep /$status/, (1,2,3,7)) {
+                $missinglist=~ s/(^|;)\s*$serialseq(?=;|$)//g;
             }
-
-            #         warn "missinglist : $missinglist serialseq :$serialseq, ".index("$missinglist","$serialseq");
             $missinglist .= "; $serialseq"
-              if ( $status == 4
-                and not index( "$missinglist", "$serialseq" ) >= 0 );
+                if $status==4 && $missinglist!~/(^|;)\s*$serialseq(?=;|$)/;
             $missinglist .= "; not issued $serialseq"
-              if ( $status == 5
-                and index( "$missinglist", "$serialseq" ) >= 0 );
+                if $status==5 && $missinglist!~/(^|;)\s*$serialseq(?=;|$)/;
+
             $query = "UPDATE subscriptionhistory SET recievedlist=?, missinglist=? WHERE  subscriptionid=?";
             $sth   = $dbh->prepare($query);
             $recievedlist =~ s/^; //;
index eeb9262..5a5720a 100644 (file)
@@ -68,6 +68,7 @@ $(document).ready(function() {
             { "aTargets": [ 0 ], "bSortable": false, "bSearchable": false },
         ],
         "aaSorting": [[0, 'desc']],
+        "sDom": 't',
         "bAutoWidth": false,
         "bPaginate": false,
         "bInfo": false,
index e725d30..d0da2c5 100755 (executable)
@@ -349,7 +349,7 @@ my $notforloan_label_of = get_notforloan_label_of();
 my $biblioLoop = [];
 my $numBibsAvailable = 0;
 my $itemdata_enumchron = 0;
-my $anyholdable;
+my $anyholdable = 0;
 my $itemLevelTypes = C4::Context->preference('item-level_itypes');
 $template->param('item_level_itypes' => $itemLevelTypes);
 
@@ -526,26 +526,24 @@ foreach my $biblioNum (@biblionumbers) {
         $numBibsAvailable++;
         $biblioLoopIter{bib_available} = 1;
         $biblioLoopIter{holdable} = 1;
-        $anyholdable = 1;
     }
     if ($biblioLoopIter{already_reserved}) {
         $biblioLoopIter{holdable} = undef;
-        $anyholdable = undef;
     }
     if(not CanBookBeReserved($borrowernumber,$biblioNum)){
         $biblioLoopIter{holdable} = undef;
-        $anyholdable = undef;
     }
     if(not C4::Context->preference('AllowHoldsOnPatronsPossessions') and CheckIfIssuedToPatron($borrowernumber,$biblioNum)) {
         $biblioLoopIter{holdable} = undef;
         $biblioLoopIter{already_patron_possession} = 1;
-        $anyholdable = undef;
     }
 
+    if( $biblioLoopIter{holdable} ){ $anyholdable++; }
+
     push @$biblioLoop, \%biblioLoopIter;
 }
 
-if ( $numBibsAvailable == 0 || !$anyholdable) {
+if ( $numBibsAvailable == 0 || $anyholdable == 0) {
     $template->param( none_available => 1 );
 }