[Koha-cvs] koha bull/statecollection.pl C4/Bull.pm [rel_2_2]

Henri-Damien LAURENT laurenthdl at alinto.com
Tue Aug 8 21:52:23 CEST 2006


CVSROOT:	/sources/koha
Module name:	koha
Branch:		rel_2_2
Changes by:	Henri-Damien LAURENT <hdl>	06/08/08 19:52:23

Modified files:
	bull           : statecollection.pl 
	C4             : Bull.pm 

Log message:
	Bug Fixing :
	1144 and 1140

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/koha/bull/statecollection.pl?cvsroot=koha&only_with_tag=rel_2_2&r1=1.3.2.18&r2=1.3.2.19
http://cvs.savannah.gnu.org/viewcvs/koha/C4/Bull.pm?cvsroot=koha&only_with_tag=rel_2_2&r1=1.6.2.30&r2=1.6.2.31

Patches:
Index: bull/statecollection.pl
===================================================================
RCS file: /sources/koha/koha/bull/statecollection.pl,v
retrieving revision 1.3.2.18
retrieving revision 1.3.2.19
diff -u -b -r1.3.2.18 -r1.3.2.19
--- bull/statecollection.pl	8 Aug 2006 10:01:41 -0000	1.3.2.18
+++ bull/statecollection.pl	8 Aug 2006 19:52:23 -0000	1.3.2.19
@@ -63,9 +63,13 @@
 			}
 		} else {
 			# add a special issue
+            my $planneddate = ($planneddates[$i]?format_date_in_iso($planneddates[$i]):format_date_in_iso("today")) if ($status[$i]==2);
 			if ($serialseqs[$i]) {
-				newissue($serialseqs[$i],$subscriptionid,$subscription->{biblionumber},$status[$i],format_date_in_iso($publisheddates[$i]),($planneddates[$i]?format_date_in_iso($planneddates[$i]):format_date_in_iso(localtime(time()))));
-			}
+              newissue($serialseqs[$i],$subscriptionid,$subscription->{bibnum},$status[$i],format_date_in_iso($publisheddates[$i]),$planneddate);
+              my $rq=$dbh->prepare("SELECT LAST_INSERT_ID()");
+              $rq->execute;
+              my $newserialid=$rq->fetchrow;
+#               warn "serialid =".$newserialid;
 			if (($status[$i]==2) && C4::Context->preference("serialsadditems") && !hassubscriptionexpired($subscriptionid)){
 				my %info;
 				$info{branch}=$homebranches[$i];
@@ -74,7 +78,8 @@
 				$info{location}=$locations[$i];
 				$info{status}=$itemstatus[$i];
 				$info{notes}=$serialseqs[$i];
-				my ($status, @errors)= serialsitemize($serialids[$i],\%info);
+                  my ($status, @errors)= serialsitemize($newserialid,\%info);
+              }
 			}
 
 		}

Index: C4/Bull.pm
===================================================================
RCS file: /sources/koha/koha/C4/Attic/Bull.pm,v
retrieving revision 1.6.2.30
retrieving revision 1.6.2.31
diff -u -b -r1.6.2.30 -r1.6.2.31
--- C4/Bull.pm	8 Aug 2006 10:01:41 -0000	1.6.2.30
+++ C4/Bull.pm	8 Aug 2006 19:52:23 -0000	1.6.2.31
@@ -150,7 +150,7 @@
 sub getsubscription {
 	my ($subscriptionid) = @_;
 	my $dbh = C4::Context->dbh;
-	my $sth = $dbh->prepare('SELECT subscription.*,subscriptionhistory.*,aqbudget.bookfundid,aqbooksellers.name as aqbooksellername,biblio.title as bibliotitle 
+	my $sth = $dbh->prepare('SELECT subscription.*,subscriptionhistory.*,aqbudget.bookfundid,aqbooksellers.name as aqbooksellername,biblio.title as bibliotitle, biblio.biblionumber as bibnum 
 							from subscription 
 							left join subscriptionhistory on subscription.subscriptionid=subscriptionhistory.subscriptionid
 							left join aqbudget on subscription.aqbudgetid=aqbudget.aqbudgetid 
@@ -373,7 +373,7 @@
   SELECT serialid, serialseq, status, publisheddate, planneddate, notes
   FROM serial
   WHERE subscriptionid = ? AND (status IN (2,4,5)) 
-  ORDER BY serialid DESC");
+  ORDER BY IF(serial.publisheddate=\"00-00-0000\",serial.planneddate,serial.publisheddate) DESC");
 	$sth->execute($subscriptionid);
 	my $counter=0;
 	my @serials;
@@ -408,13 +408,14 @@
 	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 $strsth="SELECT serialid,serialseq, status, publisheddate, planneddate FROM serial WHERE subscriptionid = ? AND (status =2 or status=4) ORDER BY IF(serial.publisheddate=\"00-00-0000\",serial.planneddate,serial.publisheddate) 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"});
+		$line->{"publisheddate"} = format_date($line->{"publisheddate"});
 		push @serials,$line;
 	}
 	$sth=$dbh->prepare("SELECT count(*) from serial where subscriptionid=?");
@@ -468,12 +469,7 @@
 sub newissue {
 	my ($serialseq,$subscriptionid,$biblionumber,$status, $publisheddate, $planneddate) = @_;
 	my $dbh = C4::Context->dbh;
-	my $sth = $dbh->prepare("
-  INSERT INTO serial 
-    (serialseq,subscriptionid,biblionumber,status,publisheddate,planneddate) 
-  VALUES (?,?,?,?,?,?)");
-	$sth->execute($serialseq,$subscriptionid,$biblionumber,$status,$publisheddate, $planneddate);
-	$sth = $dbh->prepare("SELECT missinglist,recievedlist from subscriptionhistory where subscriptionid=?");
+	my $sth = $dbh->prepare("SELECT missinglist,recievedlist from subscriptionhistory where subscriptionid=?");
 	$sth->execute($subscriptionid);
 	my ($missinglist,$recievedlist) = $sth->fetchrow;
 	if ($status eq 2) {
@@ -484,6 +480,11 @@
 	}
 	$sth=$dbh->prepare("update subscriptionhistory set recievedlist=?, missinglist=? where subscriptionid=?");
 	$sth->execute($recievedlist,$missinglist,$subscriptionid);
+	$sth = $dbh->prepare("
+  INSERT INTO serial 
+    (serialseq,subscriptionid,biblionumber,status,publisheddate,planneddate) 
+  VALUES (?,?,?,?,?,?)");
+	$sth->execute($serialseq,$subscriptionid,$biblionumber,$status,$publisheddate, $planneddate);
 }
 
 =head2 serialsitemize
@@ -499,6 +500,7 @@
 	my $sth=$dbh->prepare("SELECT * from serial WHERE serialid=?");
 	$sth->execute($serialid);
 	my $data=$sth->fetchrow_hashref;
+#     warn "biblionumber : ".$data->{biblionumber};
 	my $bibid=MARCfind_MARCbibid_from_oldbiblionumber($dbh,$data->{biblionumber});
 	my $fwk=MARCfind_frameworkcode($dbh,$bibid);
 	if ($info->{barcode}){





More information about the Koha-cvs mailing list