[Koha-cvs] CVS: koha/acqui acquire.pl,1.9,1.10 finishreceive.pl,1.10,1.11 newbiblio.pl,1.11,1.12

Paul POULAIN tipaul at users.sourceforge.net
Thu Feb 27 17:54:14 CET 2003


Update of /cvsroot/koha/koha/acqui
In directory sc8-pr-cvs1:/tmp/cvs-serv3988/acqui

Modified Files:
	acquire.pl finishreceive.pl newbiblio.pl 
Log Message:
road to 1.9.2 :
* finishing templating acquisition
* first step to acquisition/cataloguing merging.

show no errors, but seems a little buggy (order counter wrong, problem at end of acquisition process...)

Index: acquire.pl
===================================================================
RCS file: /cvsroot/koha/koha/acqui/acquire.pl,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -r1.9 -r1.10
*** acquire.pl	6 Feb 2003 06:35:26 -0000	1.9
--- acquire.pl	27 Feb 2003 16:54:10 -0000	1.10
***************
*** 23,27 ****
  # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
  # Suite 330, Boston, MA  02111-1307 USA
- 
  use strict;
  use CGI;
--- 23,26 ----
***************
*** 31,42 ****
  use C4::Output;
  use C4::Search;
  
  my $input=new CGI;
- print $input->header();
  my $id=$input->param('id');
! 
! print startpage;
! 
! print startmenu('acquisitions');
  
  my $search=$input->param('recieve');
--- 30,43 ----
  use C4::Output;
  use C4::Search;
+ use C4::Auth;
+ use C4::Biblio;
+ use C4::Output;
+ use C4::Interface::CGI::Output;
+ use C4::Database;
+ use HTML::Template;
  
  my $input=new CGI;
  my $id=$input->param('id');
! my $dbh = C4::Context->dbh;
  
  my $search=$input->param('recieve');
***************
*** 48,302 ****
  my ($count, at results)=ordersearch($search,$biblio,$catview);
  my ($count2, at booksellers)=bookseller($results[0]->{'booksellerid'});
- #print $count;
  my @date=split('-',$results[0]->{'entrydate'});
  my $date="$date[2]/$date[1]/$date[0]";
  
! if ($count == 1){
! 
! 
! print <<EOP
! 
! <script language="javascript" type="text/javascript">
! <!--
! function messenger(X,Y,etc){
! win=window.open("","mess","height="+X+",width="+Y+",screenX=150,screenY=0");
! win.focus();
! win.document.close();
! win.document.write("<body link='#333333' bgcolor='#ffffff' text='#000000'><font size=2><p><br>");
! win.document.write(etc);
! win.document.write("<center><form><input type=button onclick='self.close()' value=Close></form></center>");
! win.document.write("</font></body></html>");
! }
! //-->
! </script>
! <form action="/cgi-bin/koha/acqui/finishreceive.pl" method=post>
! <input type=hidden name=biblio value=$results[0]->{'biblionumber'}>
! <input type=hidden name=ordnum value=$results[0]->{'ordernumber'}>
! <input type=hidden name=biblioitemnum value=$results[0]->{'biblioitemnumber'}>
! <input type=hidden name=bookseller value=$results[0]->{'booksellerid'}>
! <input type=hidden name=freight value=$freight>
! <input type=hidden name=gst value=$gst>
! EOP
! ;
! if ($catview ne 'yes'){
!   print "<input type=image  name=submit src=/images/save-changes.gif border=0 width=187 height=42 align=right>";
! } else {
!   print "<a href=/cgi-bin/koha/acqui/newbiblio.pl?ordnum=$results[0]->{'ordernumber'}&id=$results[0]->{'booksellerid'}><img src=/images/modify-mem.gif align=right border=0></a>";
! }
! print <<EOP
! <FONT SIZE=6><em>$results[0]->{'ordernumber'} - Receive Order</em></FONT><br>
! Shopping Basket For: $booksellers[0]->{'name'}
! <br> Order placed: $date
! <P>
! <CENTER>
! <TABLE  CELLSPACING=0  CELLPADDING=5 border=1 align=left width="40%">
! <tr valign=top bgcolor=#99cc33><td background="/images/background-mem.gif" colspan=2><B>CATALOGUE DETAILS</B></td></tr>
! 
! <TR VALIGN=TOP>
! <TD><b>Title *</b></td>
! <td><input type=text size=20 name=title value="$results[0]->{'title'}" >
! </td>
! </tr>
! <TR VALIGN=TOP>
! <TD>Author</td>
! <td><input type=text size=20 name=author value="$results[0]->{'author'}" >
! </td>
! </tr>
! <TR VALIGN=TOP>
! <TD>Copyright Date</td>
! <td><input type=text size=20 name=copyright value="$results[0]->{'copyrightdate'}" >
! </td>
! </tr>
! <TR VALIGN=TOP>
! 
! <TD>Format</td>
! <td>
! <select name=format size=1>
! EOP
! ;
! 
! my $dbh = C4::Context->dbh;
! my $query="Select itemtype,description from itemtypes order by description";
! my $sth=$dbh->prepare($query);
! $sth->execute;
! while (my $data=$sth->fetchrow_hashref){
!   if ($data->{'itemtype'} eq $results[0]->{'itemtype'}) {
!     print "<option SELECTED value=\"" . $data->{'itemtype'} . "\">" . $data->{'description'} . "\n";
!   } else {
!     print "<option value=\"" . $data->{'itemtype'} . "\">" . $data->{'description'} . "\n";
!   }
! }
! $sth->finish;
! 
! print <<EOP
! </select>
! 
! </td>
! </tr>
! 
! <TR VALIGN=TOP>
! 
! <TD>ISBN</td>
! <td><input type=text size=20 name=ISBN value="$results[0]->{'isbn'}">
! </td>
! </tr>
! 
! <TR VALIGN=TOP>
! 
! <TD>Series</td>
! <td><input type=text size=20 name=Series value="$results[0]->{'seriestitle'}">
! </td>
! </tr>
  
! <TR VALIGN=TOP>
! <TD>Branch</td>
! <td><select name=branch size=1>
! EOP
! ;
! my ($count2, at branches)=branches();
! for (my $i=0;$i<$count2;$i++){
!   print "<option value=$branches[$i]->{'branchcode'}";
!   if ($results[0]->{'branchcode'} == $branches[$i]->{'branchcode'}){
!   print " Selected";
!   }
!   print ">$branches[$i]->{'branchname'}";
! }
! print <<EOP
! </select>
! </td>
! </tr>
! 
! <TR VALIGN=TOP bgcolor=#ffffcc >
! <TD><B>Item Barcode *</B></td>
! 
! <td><input type=text size=20 name=barcode value=
! EOP
! ;
! 
! my $auto_barcode = C4::Context->boolean_preference("autoBarcode") || 0;
! 	# See whether barcodes should be automatically allocated.
! 	# Defaults to 0, meaning "no".
! if ($auto_barcode eq '1') {
!   my $dbh = C4::Context->dbh;
!   my $query="Select barcode from items order by barcode desc";
!   my $sth=$dbh->prepare($query);
!   $sth->execute;
!   my $data=$sth->fetchrow_hashref;
!   print $data->{'barcode'}+1;
!   $sth->finish;
! }
! 
! print <<EOP
! >
! </td>
! </tr>
! 
! <TR VALIGN=TOP bgcolor=#ffffcc >
! <TD><B>Volume Info (for serials) *</B></td>
! 
! <td><input type=text size=20 name=volinf>
! </td>
! </tr>
! </table>
! 
! 
! 
! <img src="/images/holder.gif" width=32 height=250 align=left>
! 
! <table border=1 cellspacing=0 cellpadding=5 width="40%">
! 
! <tr valign=top bgcolor=#99cc33><td background="/images/background-mem.gif" colspan=2><B>ACCOUNTING DETAILS</B></td></tr>
! <TR VALIGN=TOP>
! <TD><B>Bookfund *</B></td>
! <td><select name=bookfund size=1>
! EOP
! ;
! my @bookfund;
! ($count2, at bookfund)=bookfunds();
! for (my $i=0;$i<$count2;$i++){
!   print "<option value=$bookfund[$i]->{'bookfundid'}";
!   if ($bookfund[$i]->{'bookfundid'}==$results[0]->{'bookfundid'}){
!     print " Selected";
!   }
!   print ">$bookfund[$i]->{'bookfundname'}";
! }
! 
! my $rrp=$results[0]->{'rrp'};
! if ($results[0]->{'quantityreceived'} == 0){
!   $results[0]->{'quantityreceived'}='';
! }
! if ($results[0]->{'unitprice'} == 0){
!   $results[0]->{'unitprice'}='';
! }
! print <<EOP
! </select>
! </td>
! </tr>
! <TR VALIGN=TOP>
! <TD>Quantity Ordered</td>
! <td><input type=text size=20 name=quantity value=$results[0]->{'quantity'}>
! </td>
! </tr>
! <TR VALIGN=TOP bgcolor=#ffffcc>
! <TD><B>Quantity Received *</B></td>
! <td><input type=text size=20 name=quantityrec value=$results[0]->{'quantityreceived'}>
! </td>
! </tr>
! <TR VALIGN=TOP>
! <TD>Replacement Cost</td>
! <td><input type=text size=20 name=rrp value=$rrp>
! </tr>
! <TR VALIGN=TOP>
! <TD>
! Budgeted Cost </td>
! <td><input type=text size=20 name=ecost value="$results[0]->{'ecost'}">
! </td>
! </tr>
! <TR VALIGN=TOP bgcolor=#ffffcc>
! <TD><B>Actual Cost *</B></td>
! <td><input type=text size=20 name=cost value="$results[0]->{'unitprice'}">
! </td>
! </tr>
! <TR VALIGN=TOP bgcolor=#ffffcc>
! <TD>Invoice Number</td>
! <td>$invoice
! <input type=hidden name=invoice value="$invoice">
! </td>
! </tr>
! <TR VALIGN=TOP>
! <TD>Notes</td>
! <td><input type=text size=20 name=notes value="$results[0]->{'notes'}">
! </td>
! </tr>
! </table>
! </form>
! </center>
! <br clear=all>
! <p> &nbsp; </p>
! 
! EOP
! ;
  } else {
! print "<center><table>";
! print <<EOP
! <tr valign=top bgcolor=#99cc33>
  
- <td background="/images/background-mem.gif"><b>ISBN</b></td>
- <td background="/images/background-mem.gif"><b>TITLE</b></td>
- <td background="/images/background-mem.gif"><b>AUTHOR</b></td>
- </tr>
- EOP
- ;
- for (my $i=0;$i<$count;$i++){
-   print "<tr><td>$results[$i]->{'isbn'}</td>
-   <td><a href=acquire.pl?recieve=$results[$i]->{'ordernumber'}&biblio=$results[$i]->{'biblionumber'}&invoice=$invoice&freight=$freight&gst=$gst>$results[$i]->{'title'}</a></td>
-   <td>$results[$i]->{'author'}</td></tr>";
- }
- print "</table></center>";
  }
! 
! 
! 
! print endmenu('acquisitions');
! 
! print endpage;
--- 49,180 ----
  my ($count, at results)=ordersearch($search,$biblio,$catview);
  my ($count2, at booksellers)=bookseller($results[0]->{'booksellerid'});
  my @date=split('-',$results[0]->{'entrydate'});
  my $date="$date[2]/$date[1]/$date[0]";
  
! my ($template, $loggedinuser, $cookie)
!     = get_template_and_user({template_name => "acqui/acquire.tmpl",
! 			     query => $input,
! 			     type => "intranet",
! 			     authnotrequired => 0,
! 			     flagsrequired => {acquisition => 1},
! 			     debug => 1,
! 			     });
  
! $template->param($count);
! if ($count == 1){
! 	my $query="Select itemtype,description from itemtypes order by description";
! 	my $sth=$dbh->prepare($query);
! 	$sth->execute;
! 	my  @itemtype;
! 	my %itemtypes;
! 	push @itemtype, "";
! 	$itemtypes{''} = "Please choose";
! 	while (my ($value,$lib) = $sth->fetchrow_array) {
! 		push @itemtype, $value;
! 		$itemtypes{$value}=$lib;
! 	}
! 
! 	my $CGIitemtype=CGI::scrolling_list( -name     => 'format',
! 				-values   => \@itemtype,
! 				-default  => $results[0]->{'itemtype'},
! 				-labels   => \%itemtypes,
! 				-size     => 1,
! 				-multiple => 0 );
! 	$sth->finish;
! 
! 	my @branches;
! 	my @select_branch;
! 	my %select_branches;
! 	my ($count2, at branches)=branches();
! 	for (my $i=0;$i<$count2;$i++){
! 		push @select_branch, $branches[$i]->{'branchcode'};#
! 		$select_branches{$branches[$i]->{'branchcode'}} = $branches[$i]->{'branchname'};
! 	}
! 	my $CGIbranch=CGI::scrolling_list( -name     => 'branch',
! 				-values   => \@select_branch,
! 				-default  => $results[0]->{'branchcode'},
! 				-labels   => \%select_branches,
! 				-size     => 1,
! 				-multiple => 0 );
! 	$sth->finish;
! 
! 	my $auto_barcode = C4::Context->boolean_preference("autoBarcode") || 0;
! 		# See whether barcodes should be automatically allocated.
! 		# Defaults to 0, meaning "no".
! 	my $barcode;
! 	if ($auto_barcode eq '1') {
! 		$sth=$dbh->prepare("Select max(barcode) from items");
! 		$sth->execute;
! 		my $data=$sth->fetchrow_hashref;
! 		$barcode = $results[0]->{'barcode'}+1;
! 		$sth->finish;
! 	}
! 
! 	my @bookfund;
! 	my @select_bookfund;
! 	my %select_bookfunds;
! 	($count2, at bookfund)=bookfunds();
! 	for (my $i=0;$i<$count2;$i++){
! 		push @select_bookfund, $bookfund[$i]->{'bookfundid'};
! 		$select_bookfunds{$bookfund[$i]->{'bookfundid'}} = $bookfund[$i]->{'bookfundname'}
! 	}
! 	my $CGIbookfund=CGI::scrolling_list( -name     => 'bookfund',
! 				-values   => \@select_bookfund,
! 				-default  => $results[0]->{'bookfundid'},
! 				-labels   => \%select_bookfunds,
! 				-size     => 1,
! 				-multiple => 0 );
! 
! 	my $rrp=$results[0]->{'rrp'};
! 	if ($results[0]->{'quantityreceived'} == 0){
! 	$results[0]->{'quantityreceived'}='';
! 	}
! 	if ($results[0]->{'unitprice'} == 0){
! 	$results[0]->{'unitprice'}='';
! 	}
! 	$template->param(
! 		count => 1,
! 		biblionumber => $results[0]->{'biblionumber'},
! 		ordernumber => $results[0]->{'ordernumber'},
! 		biblioitemnumber => $results[0]->{'biblioitemnumber'},
! 		booksellerid => $results[0]->{'booksellerid'},
! 		freight => $freight,
! 		gst => $gst,
! 		catview => ($catview ne 'yes'?1:0),
! 		name => $booksellers[0]->{'name'},
! 		date => $date,
! 		title => $results[0]->{'title'},
! 		author => $results[0]->{'author'},
! 		copyrightdate => $results[0]->{'copyrightdate'},
! 		CGIitemtype => $CGIitemtype,
! 		CGIbranch => $CGIbranch,
! 		isbn => $results[0]->{'isbn'},
! 		seriestitle => $results[0]->{'seriestitle'},
! 		barcode => $barcode,
! 		CGIbookfund => $CGIbookfund,
! 		quantity => $results[0]->{'quantity'},
! 		quantityreceived => $results[0]->{'quantityreceived'},
! 		rrp => $rrp,
! 		ecost => $results[0]->{'ecost'},
! 		unitprice => $results[0]->{'unitprice'},
! 		invoice => $invoice,
! 		notes => $results[0]->{'notes'},
! 	);
  } else {
! 	my @loop;
! 	for (my $i=0;$i<$count;$i++){
! 		my %line;
! 		$line{isbn} = $results[$i]->{'isbn'};
! 		$line{ordernumber} = $results[$i]->{'ordernumber'};
! 		$line{biblionumber} = $results[$i]->{'biblionumber'};
! 		$line{invoice} = $invoice;
! 		$line{freight} = $freight;
! 		$line{gst} = $gst;
! 		$line{title} = $results[$i]->{'title'};
! 		$line{author} = $results[$i]->{'author'};
! 		push @loop,\%line;
! 	}
! 	$template->param( loop => \@loop);
  
  }
! output_html_with_http_headers $input, $cookie, $template->output;

Index: finishreceive.pl
===================================================================
RCS file: /cvsroot/koha/koha/acqui/finishreceive.pl,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -r1.10 -r1.11
*** finishreceive.pl	13 Oct 2002 11:37:53 -0000	1.10
--- finishreceive.pl	27 Feb 2003 16:54:10 -0000	1.11
***************
*** 29,36 ****
  
  my $input=new CGI;
- #print $input->header;
  
  my $user=$input->remote_user;
- #print $input->dump;
  my $biblionumber = $input->param('biblio');
  my $ordnum=$input->param('ordnum');
--- 29,34 ----
***************
*** 59,71 ****
  my $id         = $bookseller;
  my $biblio = {
!     biblionumber  => $biblionumber,
!     title         => $input->param('title')?$input->param('title'):"",
!     author        => $input->param('author')?$input->param('author'):"",
!     copyrightdate => $input->param('copyright')?$input->param('copyright'):"",
!     series        => $input->param('Series')?$input->param('Series'):""
  }; # my $biblio
  
  if ($quantrec != 0){
!   $cost /= $quantrec;
  }
  
--- 57,69 ----
  my $id         = $bookseller;
  my $biblio = {
! 	biblionumber  => $biblionumber,
! 	title         => $input->param('title')?$input->param('title'):"",
! 	author        => $input->param('author')?$input->param('author'):"",
! 	copyrightdate => $input->param('copyright')?$input->param('copyright'):"",
! 	series        => $input->param('Series')?$input->param('Series'):""
  }; # my $biblio
  
  if ($quantrec != 0){
! 	$cost /= $quantrec;
  }
  
***************
*** 75,145 ****
  my $loan=0;
  if ($itemtype =~ /REF/){
!   $loan=1;
  }
  
  if ($itemtype =~ /PER/){
! #  print "$bibitemno";
!   $class="Periodical";
!   $bibitemno = &newbiblioitem({
!       biblionumber   => $biblionumber,
!       itemtype       => $itemtype?$itemtype:"",
!       isbn           => $isbn?$isbn:"",
!       volumeddesc    => $volinf?$volinf:"",
!       classification => $class?$class:"" });
! #  print "here $bibitemno";
  }
  if ($quantity != 0){
!   receiveorder($biblionumber,$ordnum,$quantrec,$user,$cost,$invoiceno,$bibitemno,$freight,$bookfund);
!   modbiblio($biblio);
!   &modbibitem({
!       biblioitemnumber => $bibitemno,
!       biblionumber     => $biblionumber,
!       itemtype         => $itemtype?$itemtype:"",
!       isbn             => $isbn?$isbn:"",
!       publisher        => $publisher?$publisher:"",
!       publicationyear  => $pubdate?$pubdate:"",
!       class            => $class?$class:"",
!       dewey            => $dewey?$dewey:"",
!       subclass         => $subclass?$subclass:"",
!       illus            => $illus?$illus:"",
!       pages            => $pages?$pages:"",
!       volumeddesc      => $volinf?$volinf:"",
!       notes            => $notes?$notes:"",
!       size             => $size?$size:"" });
! 
!   my $barcode=$input->param('barcode');
!   my @barcodes;
!   if ($barcode =~ /\,/){
!     @barcodes=split(/\,/,$barcode);
!   }elsif ($barcode =~ /\|/){
!     @barcodes=split(/\|/,$barcode);
!   } else {
!     $barcodes[0]=$barcode;
!   #  print $input->header;
!   #  print @barcodes;
!   #  print $barcode;
!   }
! #  print STDERR "************ biblionumber => $biblionumber\n";
!   my ($error) = newitems({ biblioitemnumber => $bibitemno,
! 	                   biblionumber     => $biblionumber,
! 	                   replacementprice => $replacement,
! 	                   price            => $cost,
! 	                   booksellerid     => $bookseller,
! 	                   homebranch       => $branch,
! 	                   loan             => $loan },
! 			 @barcodes);
!   if ($error eq ''){
!     if ($itemtype ne 'PER'){
!       print $input->redirect("/cgi-bin/koha/acqui/receive.pl?invoice=$invoiceno&id=$id&freight=$freight&gst=$gst");
!     } else {
!       print $input->redirect("/acquisitions/");
!     }
!   } else {
!     print $input->header;
!     print $error;
!   }
  } else {
!   print $input->header;
!   delorder($biblionumber,$ordnum);
!        print $input->redirect("/acquisitions/");
  }
--- 73,137 ----
  my $loan=0;
  if ($itemtype =~ /REF/){
! 	$loan=1;
  }
  
  if ($itemtype =~ /PER/){
! 	$class="Periodical";
! 	$bibitemno = &newbiblioitem({
! 		biblionumber   => $biblionumber,
! 		itemtype       => $itemtype?$itemtype:"",
! 		isbn           => $isbn?$isbn:"",
! 		volumeddesc    => $volinf?$volinf:"",
! 		classification => $class?$class:"" });
  }
+ warn "qty : $quantity";
  if ($quantity != 0){
! 	receiveorder($biblionumber,$ordnum,$quantrec,$user,$cost,$invoiceno,$bibitemno,$freight,$bookfund);
! 	modbiblio($biblio);
! 	&modbibitem({
! 		biblioitemnumber => $bibitemno,
! 		biblionumber     => $biblionumber,
! 		itemtype         => $itemtype?$itemtype:"",
! 		isbn             => $isbn?$isbn:"",
! 		publisher        => $publisher?$publisher:"",
! 		publicationyear  => $pubdate?$pubdate:"",
! 		class            => $class?$class:"",
! 		dewey            => $dewey?$dewey:"",
! 		subclass         => $subclass?$subclass:"",
! 		illus            => $illus?$illus:"",
! 		pages            => $pages?$pages:"",
! 		volumeddesc      => $volinf?$volinf:"",
! 		notes            => $notes?$notes:"",
! 		size             => $size?$size:"" });
! 	my $barcode=$input->param('barcode');
! 	my @barcodes;
! 	if ($barcode =~ /\,/){
! 		@barcodes=split(/\,/,$barcode);
! 	}elsif ($barcode =~ /\|/){
! 		@barcodes=split(/\|/,$barcode);
! 	} else {
! 		$barcodes[0]=$barcode;
! 	}
! 	my ($error) = newitems({ biblioitemnumber => $bibitemno,
! 					biblionumber     => $biblionumber,
! 					replacementprice => $replacement,
! 					price            => $cost,
! 					booksellerid     => $bookseller,
! 					homebranch       => $branch,
! 					loan             => $loan },
! 				@barcodes);
! 	if ($error eq ''){
! 	if ($itemtype ne 'PER'){
! 		print $input->redirect("/cgi-bin/koha/acqui/receive.pl?invoice=$invoiceno&id=$id&freight=$freight&gst=$gst");
! 	} else {
! 		print $input->redirect("/acquisitions/");
! 	}
! 	} else {
! 		print $input->header;
! 		print $error;
! 	}
  } else {
! 	print $input->header;
! 	delorder($biblionumber,$ordnum);
! 	print $input->redirect("/acquisitions/");
  }

Index: newbiblio.pl
===================================================================
RCS file: /cvsroot/koha/koha/acqui/newbiblio.pl,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -r1.11 -r1.12
*** newbiblio.pl	13 Feb 2003 17:27:51 -0000	1.11
--- newbiblio.pl	27 Feb 2003 16:54:10 -0000	1.12
***************
*** 37,41 ****
  
  my $input=new CGI;
- #print $input->header();
  my $id=$input->param('id');
  my $title=$input->param('title');
--- 37,40 ----
***************
*** 103,107 ****
  			-multiple => 0 );
  $sth->finish;
! # TODO
  my @branches;
  my @select_branch;
--- 102,106 ----
  			-multiple => 0 );
  $sth->finish;
! 
  my @branches;
  my @select_branch;





More information about the Koha-cvs mailing list