Detailing the three latest issues on OPAC for serials
authorhdl <hdl>
Fri, 17 Jun 2005 13:44:25 +0000 (13:44 +0000)
committerhdl <hdl>
Fri, 17 Jun 2005 13:44:25 +0000 (13:44 +0000)
C4/Bull.pm
koha-tmpl/opac-tmpl/css/en/opac-detail.tmpl
opac/opac-detail.pl

index 0307a6e..2bbc0a9 100755 (executable)
@@ -50,7 +50,7 @@ Give all XYZ functions
                        &getserials &serialchangestatus
                        &Find_Next_Date, &Get_Next_Seq
                        &hassubscriptionexpired &subscriptionexpirationdate &subscriptionrenew
-                       &getSupplierListWithLateIssues &GetLateIssues &serialdelete);
+                       &getSupplierListWithLateIssues &GetLateIssues &serialdelete &getlatestserials);
 
 sub getSupplierListWithLateIssues {
        my $dbh = C4::Context->dbh;
@@ -287,6 +287,21 @@ sub getserials {
        my ($totalissues) = $sth->fetchrow;
        return ($totalissues,@serials);
 }
+sub getlatestserials{
+       my ($subscriptionid,$limit) =@_;
+       my $dbh = C4::Context->dbh;
+       # status = 2 is "arrived"
+       my $strsth="select serialid,serialseq, status, planneddate from serial where subscriptionid = ? and (status =2 or status=4) order by planneddate DESC LIMIT 0,$limit";
+       my $sth=$dbh->prepare($strsth);
+       $sth->execute($subscriptionid);
+       my @serials;
+       while(my $line = $sth->fetchrow_hashref) {
+               $line->{"status".$line->{status}} = 1; # fills a "statusX" value, used for template status select list
+               $line->{"planneddate"} = format_date($line->{"planneddate"});
+               push @serials,$line;
+       }
+       return \@serials;
+}
 
 sub serialdelete {
        my ($serialid,$serialseq)=@_;
@@ -316,7 +331,7 @@ sub serialchangestatus {
        my ($subscriptionid,$oldstatus) = $sth->fetchrow;
        # change status & update subscriptionhistory
        if ($status eq 6){
-               delissue($serialseq, $subscriptionid) 
+               delissue($serialseq, $subscriptionid); 
        }else{
                $sth = $dbh->prepare("update serial set serialseq=?,planneddate=?,status=? where serialid = ?");
                $sth->execute($serialseq,$planneddate,$status,$serialid);
index 76b8970..546848b 100644 (file)
                <!-- /TMPL_LOOP -->
        </table>
        <!-- TMPL_IF name="subscriptionsnumber" -->
-               <p>
-                       This is a serial subscription (we have <!-- TMPL_VAR name="subscriptionsnumber" --> subscriptions). You can see which 
-                               <a href="opac-serial-issues.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->" class="button catalogue" title="Serial issues">
-                                       Issues
-                               </a> we have and don't have
-               </p>
+               <div id="bloc25">
+               <p>This is a serial subscription (There are <!-- TMPL_VAR name="subscriptionsnumber" --> subscriptions associated with this title).</p> 
+               <!-- TMPL_LOOP Name="subscriptions" -->
+                               <b class="catalogue"> Subscription #<!--TMPL_VAR Name="subscriptionid"--> </b>
+                               <p><!--TMPL_VAR Name="subscriptionnotes"--> </p>
+                               <!--TMPL_IF Name="latestserials"-->
+                               <p> Here comes a list of the three latest issues related to this subscription :</p>
+                               <table>
+                               <!--TMPL_LOOP Name="latestserials"-->
+                                       <tr>
+                                               <td>
+                                                       <!--TMPL_VAR Name="serialseq"-->
+                                               </td>
+                                               <td>
+                                                       <!--TMPL_VAR Name="planneddate"-->
+                                               </td>
+                                               <td>
+                                                       <!--TMPL_IF Name="status1"-->Waited
+                                                       <!--TMPL_ELSE -->
+                                                               <!-- TMPL_IF Name="status2"-->Arrived
+                                                               <!--TMPL_ELSE -->
+                                                                       <!-- TMPL_IF Name="status3"-->Late
+                                                                       <!--TMPL_ELSE -->
+                                                                               <!-- TMPL_IF Name="status4"-->Missing
+                                                                               <!--TMPL_ELSE -->
+                                                                                       <!-- TMPL_IF Name="status5"-->Not Issued
+                                                                                       <!--/TMPL_IF-->
+                                                                               <!--/TMPL_IF-->
+                                                                       <!--/TMPL_IF-->
+                                                               <!--/TMPL_IF-->
+                                                       <!--/TMPL_IF-->
+                                               </td>
+                                       </tr>
+                               <!--/TMPL_LOOP -->
+                               </table>
+                               <!-- /TMPL_IF -->
+               <!-- /TMPL_LOOP -->
+               <p> For more information : You can see <a href="/cgi-bin/koha/opac-serial-issues.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->" title="Serial issues"> for Issues</a> we have and don't have</p>
+               </div>
        <!-- /TMPL_IF -->
        </div>
 </div>
index 04335be..feb377a 100755 (executable)
@@ -29,7 +29,6 @@ my $dat                                   = &bibdata($biblionumber);
 my ($authorcount, $addauthor)             = &addauthor($biblionumber);
 my ($webbiblioitemcount, @webbiblioitems) = &getwebbiblioitems($biblionumber);
 my ($websitecount, @websites)             = &getwebsites($biblionumber);
-my $subscriptionsnumber = getsubscriptionfrombiblionumber($biblionumber);
 
 $dat->{'count'}=@items;
 
@@ -66,11 +65,26 @@ my $itemsarray=\@items;
 my $webarray=\@webbiblioitems;
 my $sitearray=\@websites;
 
+#coping with subscriptions
+my $subscriptionsnumber = getsubscriptionfrombiblionumber($biblionumber);
+my @subscriptions = getsubscriptions($dat->{title},$dat->{issn},$biblionumber);
+my @subs;
+foreach my $subscription (@subscriptions){
+       warn "subsid :".$subscription->{subscriptionid};
+       my %cell;
+       $cell{subscriptionid}= $subscription->{subscriptionid};
+       $cell{subscriptionnotes}= $subscription->{notes};
+       #get the three latest serials.
+       $cell{latestserials}=getlatestserials($subscription->{subscriptionid},3);
+       push @subs, \%cell;
+}
+
 $template->param(BIBLIO_RESULTS => $resultsarray,
                                ITEM_RESULTS => $itemsarray,
                                WEB_RESULTS => $webarray,
                                SITE_RESULTS => $sitearray,
                                subscriptionsnumber => $subscriptionsnumber,
+                               subscriptions => \@subs,
                             LibraryName => C4::Context->preference("LibraryName"),
                                suggestion => C4::Context->preference("suggestion"),
                                virtualshelves => C4::Context->preference("virtualshelves"),
@@ -107,5 +121,5 @@ $template->param( REVIEWS => \@reviews );
 =cut
 output_html_with_http_headers $query, $cookie, $template->output;
 
-output_html_with_http_headers $query, $cookie, $template->output;
+#output_html_with_http_headers $query, $cookie, $template->output;