[Koha-cvs] koha C4/Serials.pm koha-tmpl/intranet-tmpl/prog... [rel_3_0]

Henri-Damien LAURENT laurenthdl at alinto.com
Thu Nov 23 16:18:30 CET 2006


CVSROOT:	/cvsroot/koha
Module name:	koha
Branch:		rel_3_0
Changes by:	Henri-Damien LAURENT <hdl>	06/11/23 15:18:30

Modified files:
	C4             : Serials.pm 
	koha-tmpl/intranet-tmpl/prog/en/serials: serials-collection.tmpl 
	                                         subscription-detail.tmpl 
	serials        : serials-collection.pl serials-edit.pl 

Log message:
	Adding a new system to receive easily waited issues for a subscription.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/koha/C4/Serials.pm?cvsroot=koha&only_with_tag=rel_3_0&r1=1.5.2.10&r2=1.5.2.11
http://cvs.savannah.gnu.org/viewcvs/koha/koha-tmpl/intranet-tmpl/prog/en/serials/serials-collection.tmpl?cvsroot=koha&only_with_tag=rel_3_0&r1=1.1.2.3&r2=1.1.2.4
http://cvs.savannah.gnu.org/viewcvs/koha/koha-tmpl/intranet-tmpl/prog/en/serials/subscription-detail.tmpl?cvsroot=koha&only_with_tag=rel_3_0&r1=1.3.2.7&r2=1.3.2.8
http://cvs.savannah.gnu.org/viewcvs/koha/serials/serials-collection.pl?cvsroot=koha&only_with_tag=rel_3_0&r1=1.1.2.3&r2=1.1.2.4
http://cvs.savannah.gnu.org/viewcvs/koha/serials/serials-edit.pl?cvsroot=koha&only_with_tag=rel_3_0&r1=1.1.2.3&r2=1.1.2.4

Patches:
Index: C4/Serials.pm
===================================================================
RCS file: /cvsroot/koha/koha/C4/Serials.pm,v
retrieving revision 1.5.2.10
retrieving revision 1.5.2.11
diff -u -b -r1.5.2.10 -r1.5.2.11
--- C4/Serials.pm	21 Nov 2006 17:01:12 -0000	1.5.2.10
+++ C4/Serials.pm	23 Nov 2006 15:18:29 -0000	1.5.2.11
@@ -17,7 +17,7 @@
 # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
 # Suite 330, Boston, MA  02111-1307 USA
 
-# $Id: Serials.pm,v 1.5.2.10 2006/11/21 17:01:12 toins Exp $
+# $Id: Serials.pm,v 1.5.2.11 2006/11/23 15:18:29 hdl Exp $
 
 use strict;
 use C4::Date;
@@ -32,7 +32,7 @@
 use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
 
 # set the version for version checking
-$VERSION = do { my @v = '$Revision: 1.5.2.10 $' =~ /\d+/g;
+$VERSION = do { my @v = '$Revision: 1.5.2.11 $' =~ /\d+/g;
     shift(@v) . "." . join( "_", map { sprintf "%03d", $_ } @v );
 };
 
@@ -54,13 +54,14 @@
 
 @ISA    = qw(Exporter);
 @EXPORT = qw(
-  &NewSubscription    &ModSubscription
-  &DelSubscription    &GetSubscriptions
+    
+    &NewSubscription    &ModSubscription    &DelSubscription    &GetSubscriptions
   &GetSubscription    &CountSubscriptionFromBiblionumber      &GetSubscriptionsFromBiblionumber
   &GetFullSubscriptionsFromBiblionumber   &ModSubscriptionHistory
   &HasSubscriptionExpired                 &GetSubscriptionExpirationDate      &abouttoexpire
+    
   &GetNextSeq         &NewIssue           &ItemizeSerials    &GetSerials
-  &GetLatestSerials   &ModSerialStatus    &GetNextDate
+    &GetLatestSerials   &ModSerialStatus    &GetNextDate       &GetSerials2
   &ReNewSubscription  &GetLateIssues      &GetMissingIssues
   &GetSerialInformation                   &AddItem2Serial
 
@@ -631,6 +632,43 @@
     return ( $totalissues, @serials );
 }
 
+=head2 GetSerials
+
+=over 4
+
+($totalissues, at serials) = GetSerials2($subscriptionid,$status);
+this function get every serial waited for a given subscription
+as well as the number of issues registered in the database (all types)
+this number is used to see if a subscription can be deleted (=it must have only 1 issue)
+
+=back
+
+=cut
+sub GetSerials2 {
+    my ($subscription,$status) = @_;
+    my $dbh = C4::Context->dbh;
+#     use Data::Dumper;warn Dumper($hashconstraints);
+    # OK, now add the last 5 issues arrives/missing
+    my $query = "SELECT   serialid,serialseq, status, planneddate, publisheddate,notes
+                 FROM     serial";
+#     $query.=" WHERE ".join (" AND ",map {join("=",$_,$hashconstraints->{$_})} keys %$hashconstraints);
+    $query.=" WHERE subscriptionid=$subscription AND status=$status";
+    $query.=   " ORDER BY publisheddate,serialid DESC
+                    ";
+    warn $query;
+    my $sth=$dbh->prepare($query);
+    $sth->execute;
+    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"});
+        $line->{"publisheddate"} = format_date($line->{"publisheddate"});
+        push @serials,$line;
+    }
+    my ($totalissues) = scalar(@serials);
+    return ($totalissues, at serials);
+}
+
 =head2 GetLatestSerials
 
 =over 4

Index: koha-tmpl/intranet-tmpl/prog/en/serials/serials-collection.tmpl
===================================================================
RCS file: /cvsroot/koha/koha/koha-tmpl/intranet-tmpl/prog/en/serials/Attic/serials-collection.tmpl,v
retrieving revision 1.1.2.3
retrieving revision 1.1.2.4
diff -u -b -r1.1.2.3 -r1.1.2.4
--- koha-tmpl/intranet-tmpl/prog/en/serials/serials-collection.tmpl	17 Nov 2006 11:18:30 -0000	1.1.2.3
+++ koha-tmpl/intranet-tmpl/prog/en/serials/serials-collection.tmpl	23 Nov 2006 15:18:29 -0000	1.1.2.4
@@ -10,7 +10,7 @@
 function showlayer(numlayer)
 {
 	var yeardata=document.getElementsByName("yeardata");
-    for (i=0; i<=yeardata.length; i++ ) {
+    for (i=0; i<yeardata.length; i++ ) {
 		ong=yeardata[i].getAttribute('id');
         if (numlayer==ong) {
 			yeardata[i].style.visibility="visible";
@@ -62,9 +62,11 @@
 
 <form name="edition" action="serials-edit.pl">
     <!-- TMPL_LOOP NAME="years" -->
-    <div name="yeardata" id="<!-- TMPL_VAR NAME="year" -->" class="tabsub" 
-      <!--TMPL_IF Name="first" -->style="visibility:visible"
-      <!--/TMPL_IF -->>
+ <!--TMPL_IF Name="first" -->
+    <div name="yeardata" id="<!-- TMPL_VAR NAME="year" -->" class="tabsub" style="visibility:visible">
+ <!--TMPL_ELSE -->
+    <div name="yeardata" id="<!-- TMPL_VAR NAME="year" -->" class="tabsub">
+ <!--/TMPL_IF -->
         <table width="400px">
             <tr>
                 <th> Date

Index: koha-tmpl/intranet-tmpl/prog/en/serials/subscription-detail.tmpl
===================================================================
RCS file: /cvsroot/koha/koha/koha-tmpl/intranet-tmpl/prog/en/serials/subscription-detail.tmpl,v
retrieving revision 1.3.2.7
retrieving revision 1.3.2.8
diff -u -b -r1.3.2.7 -r1.3.2.8
--- koha-tmpl/intranet-tmpl/prog/en/serials/subscription-detail.tmpl	17 Nov 2006 11:18:30 -0000	1.3.2.7
+++ koha-tmpl/intranet-tmpl/prog/en/serials/subscription-detail.tmpl	23 Nov 2006 15:18:30 -0000	1.3.2.8
@@ -137,7 +137,7 @@
     <h1>Subscription</h1>
     <div id="action">
         <a href="subscription-add.pl?op=mod&amp;subscriptionid=<!-- TMPL_VAR name="subscriptionid" -->">Edit</a>
-        <a href="serials-recieve.pl?subscriptionid=<!-- TMPL_VAR name="subscriptionid" -->">Receive</a>
+        <a href="serials-edit.pl?subscriptionid=<!-- TMPL_VAR name="subscriptionid" -->&amp;serstatus=1">Receive</a>
         <a href="/cgi-bin/koha/catalogue/MARCdetail.pl?biblionumber=<!-- TMPL_VAR name="biblionumber" -->">Biblio</a>
         <a href="/cgi-bin/koha/serials/serials-collection.pl?biblionumber=<!-- TMPL_VAR name="biblionumber" -->">Serial issues</a>
         <!-- TMPL_IF NAME="routing" -->

Index: serials/serials-collection.pl
===================================================================
RCS file: /cvsroot/koha/koha/serials/Attic/serials-collection.pl,v
retrieving revision 1.1.2.3
retrieving revision 1.1.2.4
diff -u -b -r1.1.2.3 -r1.1.2.4
--- serials/serials-collection.pl	21 Nov 2006 10:45:54 -0000	1.1.2.3
+++ serials/serials-collection.pl	23 Nov 2006 15:18:30 -0000	1.1.2.4
@@ -17,7 +17,7 @@
 # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
 # Suite 330, Boston, MA  02111-1307 USA
 
-# $Id: serials-collection.pl,v 1.1.2.3 2006/11/21 10:45:54 toins Exp $
+# $Id: serials-collection.pl,v 1.1.2.4 2006/11/23 15:18:30 hdl Exp $
 
 use strict;
 use CGI;
@@ -53,8 +53,8 @@
 my $subscriptions = GetFullSubscriptionsFromBiblionumber($biblionumber);
 
 my $title = $subscriptions->[0]{bibliotitle};
-my $yearmin=($subscriptions->[0]{year} eq "manage" && scalar(@$subscriptions)>1)? $subscriptions->[1]{year} :$subscriptions->[0]{year};
-my $yearmax=$subscriptions->[scalar(@$subscriptions)-1]{year};
+my $yearmax=($subscriptions->[0]{year} eq "manage" && scalar(@$subscriptions)>1)? $subscriptions->[1]{year} :$subscriptions->[0]{year};
+my $yearmin=$subscriptions->[scalar(@$subscriptions)-1]{year};
 
 $template->param(
           biblionumber => $query->param('biblionumber'),

Index: serials/serials-edit.pl
===================================================================
RCS file: /cvsroot/koha/koha/serials/Attic/serials-edit.pl,v
retrieving revision 1.1.2.3
retrieving revision 1.1.2.4
diff -u -b -r1.1.2.3 -r1.1.2.4
--- serials/serials-edit.pl	21 Nov 2006 10:45:54 -0000	1.1.2.3
+++ serials/serials-edit.pl	23 Nov 2006 15:18:30 -0000	1.1.2.4
@@ -17,7 +17,7 @@
 # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
 # Suite 330, Boston, MA  02111-1307 USA
 
-# $Id: serials-edit.pl,v 1.1.2.3 2006/11/21 10:45:54 toins Exp $
+# $Id: serials-edit.pl,v 1.1.2.4 2006/11/23 15:18:30 hdl Exp $
 
 =head1 NAME
 
@@ -84,7 +84,20 @@
 my @notes = $query->param('notes');
 my @subscriptionids = $query->param('subscriptionid');
 my $op = $query->param('op');
-warn "op : $op";
+# warn "op : $op";
+
+# If user comes from subscription details
+unless (@serialids){
+  my $subscriptionid=$query->param('subscriptionid');
+  my $serstatus=$query->param('serstatus');
+  my ($count, at tmpser)=GetSerials2($subscriptionid,$serstatus);
+#   warn "count : $count";
+#   use Data::Dumper;warn Dumper(@tmpser);
+  foreach (@tmpser) 
+  {
+    push @serialids, $_->{'serialid'};
+  }
+}
 
 my ($template, $loggedinuser, $cookie)
 = get_template_and_user({template_name => "serials/serials-edit.tmpl",
@@ -115,7 +128,7 @@
                             $notes[$i]);
         }
     }
-    use Data::Dumper;
+#     use Data::Dumper;
     if (C4::Context->preference("serialsadditems")){
       my @moditems = $query->param('moditem');
       my @tags = $query->param('tag');
@@ -182,16 +195,15 @@
             unless ($exists){
               my ($biblionumber,$bibitemnum,$itemnumber) = AddItem($dbh,$record,$itemhash{$item}->{'bibnum'});
               AddItem2Serial($itemhash{$item}->{'serial'},$itemnumber);
-              print $query->redirect("serials-collection.pl?biblionumber=".$serialdatalist[0]->{biblionumber});
             }
           } else {
             #modify item
             my ($oldbiblionumber,$oldbibnum,$itemnumber) = ModItem($dbh,$record,$itemhash{$item}->{'bibnum'},$item,0);
-            print $query->redirect("serials-collection.pl?biblionumber=".$serialdatalist[0]->{biblionumber});
         }
        }
       }
     }
+    print $query->redirect("serials-collection.pl?biblionumber=".$serialdatalist[0]->{biblionumber});
 }
 
 $template->param(serialsadditems =>C4::Context->preference("serialsadditems"));





More information about the Koha-cvs mailing list