koha-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Koha-cvs] CVS: koha/updater updatedatabase,1.90,1.91


From: Paul POULAIN
Subject: [Koha-cvs] CVS: koha/updater updatedatabase,1.90,1.91
Date: Thu, 15 Jul 2004 02:52:30 -0700

Update of /cvsroot/koha/koha/updater
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31172/updater

Modified Files:
        updatedatabase 
Log Message:
Acquisition & Suggestion :
* acquisition rewritte : create a aqbasket table to deal with "bookseller order 
header".
* add "close basket" feature : a closed basket can't be modified
* suggestion feature : manage suggestions in acquisition (after suggestion 
filled in OPAC)

Index: updatedatabase
===================================================================
RCS file: /cvsroot/koha/koha/updater/updatedatabase,v
retrieving revision 1.90
retrieving revision 1.91
diff -C2 -r1.90 -r1.91
*** updatedatabase      6 Jul 2004 08:24:18 -0000       1.90
--- updatedatabase      15 Jul 2004 09:52:28 -0000      1.91
***************
*** 287,291 ****
                        )",
        suggestions => "(
!                               suggestionnumber int(8) NOT NULL auto_increment,
                                suggestedby int(11) NOT NULL default '0',
                                managedby int(11) default NULL,
--- 287,291 ----
                        )",
        suggestions => "(
!                               suggestionid int(8) NOT NULL auto_increment,
                                suggestedby int(11) NOT NULL default '0',
                                managedby int(11) default NULL,
***************
*** 297,300 ****
--- 297,304 ----
                                publishercode varchar(255) default NULL,
                                date timestamp(8) NOT NULL,
+                               volumedesc char(255) default NULL,
+                               publicationyear smallint(6) default NULL,
+                               place char(255) default NULL,
+                               isbn char(10) default NULL,
                                mailoverseeing smallint(1) default 0,
                                PRIMARY KEY  (suggestionnumber),
***************
*** 302,305 ****
--- 306,317 ----
                                KEY managedby (managedby)
                        )",
+       aqbasket => "(basketno int(11) NOT NULL auto_increment,
+                               creationdate date,
+                               closedate date,
+                               booksellerid varchar(10),
+                               authorisedby varchar(10),
+                               booksellerinvoicenumber text,
+                               PRIMARY KEY (basketno)
+                               )",
  );
  
***************
*** 370,373 ****
--- 382,393 ----
  );
  
+ my %uselessfields = (
+       aqorders => "requisitionedby,authorisedby,booksellerid,
+                       deliverydays,followupdays,
+                       numberfollowupsallowed,numberfollowupssent,
+                       dateprinted,sourced,quantityreceiveddamaged,
+                       subscriptionfrom,subscriptionto
+                       "
+       );
  # the other hash contains other actions that can't be done elsewhere. they 
are done
  # either BEFORE of AFTER everything else, depending on "when" entry (default 
=> AFTER)
***************
*** 1201,1204 ****
--- 1221,1244 ----
  # Populate tables with required data
  
+ # fill aqbasket if it's empty and aqorder is not
+ # => it means it has just been created & must be filled
+ $sth = $dbh->prepare("select count(*) from aqbasket");
+ $sth->execute;
+ if ($sth->fetchrow == 0) {
+       $sth = $dbh->prepare("select count(*) from aqorders");
+       $sth->execute;
+       if ($sth->fetchrow >0) {
+               print "Populating new table aqbasket\n";
+               print "IMPORTANT NOTE: error message \"Duplicate entry 'X' for 
key 1\" may appear. it should not be a real trouble\n";
+               $sth=$dbh->prepare("select distinct 
basketno,booksellerid,authorisedby,entrydate,booksellerinvoicenumber from 
aqorders");
+               $sth->execute;
+               my 
($basketno,$booksellerid,$authorisedby,$entrydate,$booksellerinvoicenumber);
+               my $sth2 = $dbh->prepare("insert into aqbasket 
(basketno,creationdate,booksellerid,authorisedby,booksellerinvoicenumber) 
values (?,?,?,?,?)");
+               while 
(($basketno,$booksellerid,$authorisedby,$entrydate,$booksellerinvoicenumber) = 
$sth->fetchrow) {
+                       print 
"$basketno,$entrydate,$booksellerid,$authorisedby,$booksellerinvoicenumber\n";
+                       
$sth2->execute($basketno,$entrydate,$booksellerid,$authorisedby,$booksellerinvoicenumber);
+               }
+       }
+ }
  foreach my $table ( keys %tabledata ) {
      print "Checking for data required in table $table...\n" unless $silent;
***************
*** 1245,1248 ****
--- 1285,1305 ----
  }
  
+ # at last, remove useless fields
+ foreach $table ( keys %uselessfields ) {
+       my @fields = split /,/,$uselessfields{$table};
+       foreach my $fieldtodrop (@fields) {
+               $fieldtodrop =~ s/\t//g;
+               $fieldtodrop =~ s/\n//g;
+               print "deleting $fieldtodrop field in $table...\n" unless 
$silent;
+               my $sth = $dbh->prepare("alter table $table drop $fieldtodrop");
+               $sth->execute;
+               if ( $sth->err ) {
+                       print "Error : $sth->errstr \n";
+                       $sth->finish;
+               }    # if error
+       }
+ }    # foreach
+ 
+ 
  $sth->finish;
  
***************
*** 1250,1253 ****
--- 1307,1316 ----
  
  # $Log$
+ # Revision 1.91  2004/07/15 09:52:28  tipaul
+ # Acquisition & Suggestion :
+ # * acquisition rewritte : create a aqbasket table to deal with "bookseller 
order header".
+ # * add "close basket" feature : a closed basket can't be modified
+ # * suggestion feature : manage suggestions in acquisition (after suggestion 
filled in OPAC)
+ #
  # Revision 1.90  2004/07/06 08:24:18  tipaul
  # adding 2 free fields that can be used for sorting purposes




reply via email to

[Prev in Thread] Current Thread [Next in Thread]