Lines 42-48
BEGIN {
Link Here
|
42 |
@ISA = qw(Exporter); |
42 |
@ISA = qw(Exporter); |
43 |
@EXPORT = qw( |
43 |
@EXPORT = qw( |
44 |
&GetBasket &NewBasket &CloseBasket &DelBasket &ModBasket |
44 |
&GetBasket &NewBasket &CloseBasket &DelBasket &ModBasket |
45 |
&GetBasketAsCSV |
45 |
&GetBasketAsCSV |
46 |
&GetBasketsByBookseller &GetBasketsByBasketgroup |
46 |
&GetBasketsByBookseller &GetBasketsByBasketgroup |
47 |
|
47 |
|
48 |
&ModBasketHeader |
48 |
&ModBasketHeader |
Lines 181-187
The other parameters are optional, see ModBasketHeader for more info on them.
Link Here
|
181 |
# FIXME : this function seems to be unused. |
181 |
# FIXME : this function seems to be unused. |
182 |
|
182 |
|
183 |
sub NewBasket { |
183 |
sub NewBasket { |
184 |
my ( $booksellerid, $authorisedby, $basketname, $basketnote, $basketbooksellernote, $basketcontractnumber ) = @_; |
184 |
my ( $booksellerid, $authorisedby, $basketname, $basketnote, $basketbooksellernote, $basketcontractnumber, $deliveryplace, $billingplace ) = @_; |
185 |
my $dbh = C4::Context->dbh; |
185 |
my $dbh = C4::Context->dbh; |
186 |
my $query = " |
186 |
my $query = " |
187 |
INSERT INTO aqbasket |
187 |
INSERT INTO aqbasket |
Lines 192-198
sub NewBasket {
Link Here
|
192 |
$dbh->do($query); |
192 |
$dbh->do($query); |
193 |
#find & return basketno MYSQL dependant, but $dbh->last_insert_id always returns null :-( |
193 |
#find & return basketno MYSQL dependant, but $dbh->last_insert_id always returns null :-( |
194 |
my $basket = $dbh->{'mysql_insertid'}; |
194 |
my $basket = $dbh->{'mysql_insertid'}; |
195 |
ModBasketHeader($basket, $basketname || '', $basketnote || '', $basketbooksellernote || '', $basketcontractnumber || undef); |
195 |
ModBasketHeader( $basket, $basketname || '', $basketnote || '', $basketbooksellernote || '', $basketcontractnumber || undef, $deliveryplace || undef, $billingplace || undef ); |
196 |
return $basket; |
196 |
return $basket; |
197 |
} |
197 |
} |
198 |
|
198 |
|
Lines 239-276
sub GetBasketAsCSV {
Link Here
|
239 |
# TODO: Translate headers |
239 |
# TODO: Translate headers |
240 |
my @headers = qw(contractname ordernumber entrydate isbn author title publishercode collectiontitle notes quantity rrp); |
240 |
my @headers = qw(contractname ordernumber entrydate isbn author title publishercode collectiontitle notes quantity rrp); |
241 |
|
241 |
|
242 |
$csv->combine(@headers); |
242 |
$csv->combine(@headers); |
243 |
$output = $csv->string() . "\n"; |
243 |
$output = $csv->string() . "\n"; |
244 |
|
244 |
|
245 |
my @rows; |
245 |
my @rows; |
246 |
foreach my $order (@orders) { |
246 |
foreach my $order (@orders) { |
247 |
my @cols; |
247 |
my @cols; |
248 |
# newlines are not valid characters for Text::CSV combine() |
248 |
# newlines are not valid characters for Text::CSV combine() |
249 |
$order->{'notes'} =~ s/[\r\n]+//g; |
249 |
$order->{'notes'} =~ s/[\r\n]+//g; |
250 |
push(@cols, |
250 |
push(@cols, |
251 |
$contract->{'contractname'}, |
251 |
$contract->{'contractname'}, |
252 |
$order->{'ordernumber'}, |
252 |
$order->{'ordernumber'}, |
253 |
$order->{'entrydate'}, |
253 |
$order->{'entrydate'}, |
254 |
$order->{'isbn'}, |
254 |
$order->{'isbn'}, |
255 |
$order->{'author'}, |
255 |
$order->{'author'}, |
256 |
$order->{'title'}, |
256 |
$order->{'title'}, |
257 |
$order->{'publishercode'}, |
257 |
$order->{'publishercode'}, |
258 |
$order->{'collectiontitle'}, |
258 |
$order->{'collectiontitle'}, |
259 |
$order->{'notes'}, |
259 |
$order->{'notes'}, |
260 |
$order->{'quantity'}, |
260 |
$order->{'quantity'}, |
261 |
$order->{'rrp'}, |
261 |
$order->{'rrp'}, |
262 |
); |
262 |
$basket->{'deliveryplace'}, |
263 |
push (@rows, \@cols); |
263 |
$basket->{'billingplace'}, |
|
|
264 |
); |
265 |
push (@rows, \@cols); |
264 |
} |
266 |
} |
265 |
|
267 |
|
266 |
foreach my $row (@rows) { |
268 |
foreach my $row (@rows) { |
267 |
$csv->combine(@$row); |
269 |
$csv->combine(@$row); |
268 |
$output .= $csv->string() . "\n"; |
270 |
$output .= $csv->string() . "\n"; |
269 |
|
|
|
270 |
} |
271 |
} |
271 |
|
|
|
272 |
return $output; |
273 |
|
272 |
|
|
|
273 |
return $output; |
274 |
} |
274 |
} |
275 |
|
275 |
|
276 |
|
276 |
|
Lines 384-390
sub ModBasket {
Link Here
|
384 |
|
384 |
|
385 |
=head3 ModBasketHeader |
385 |
=head3 ModBasketHeader |
386 |
|
386 |
|
387 |
&ModBasketHeader($basketno, $basketname, $note, $booksellernote, $contractnumber); |
387 |
&ModBasketHeader($basketno, $basketname, $note, $booksellernote, $contractnumber, $deliveryplace, $billingplace); |
388 |
|
388 |
|
389 |
Modifies a basket's header. |
389 |
Modifies a basket's header. |
390 |
|
390 |
|
Lines 400-415
Modifies a basket's header.
Link Here
|
400 |
|
400 |
|
401 |
=item C<$contractnumber> is the "contractnumber" (foreign) key in the "aqbasket" table. |
401 |
=item C<$contractnumber> is the "contractnumber" (foreign) key in the "aqbasket" table. |
402 |
|
402 |
|
|
|
403 |
=item C<$deliveryplace> is the "deliveryplace" field in the aqbasket table. |
404 |
|
405 |
=item C<$billingplace> is the "billingplace" field in the aqbasket table. |
406 |
|
403 |
=back |
407 |
=back |
404 |
|
408 |
|
405 |
=cut |
409 |
=cut |
406 |
|
410 |
|
407 |
sub ModBasketHeader { |
411 |
sub ModBasketHeader { |
408 |
my ($basketno, $basketname, $note, $booksellernote, $contractnumber) = @_; |
412 |
my ($basketno, $basketname, $note, $booksellernote, $contractnumber, $deliveryplace, $billingplace) = @_; |
409 |
my $query = "UPDATE aqbasket SET basketname=?, note=?, booksellernote=? WHERE basketno=?"; |
413 |
my $query = qq{ |
|
|
414 |
UPDATE aqbasket |
415 |
SET basketname=?, note=?, booksellernote=?, deliveryplace=?, billingplace=? |
416 |
WHERE basketno=? |
417 |
}; |
410 |
my $dbh = C4::Context->dbh; |
418 |
my $dbh = C4::Context->dbh; |
411 |
my $sth = $dbh->prepare($query); |
419 |
my $sth = $dbh->prepare($query); |
412 |
$sth->execute($basketname,$note,$booksellernote,$basketno); |
420 |
$sth->execute($basketname, $note, $booksellernote, $deliveryplace, $billingplace, $basketno); |
413 |
if ( $contractnumber ) { |
421 |
if ( $contractnumber ) { |
414 |
my $query2 ="UPDATE aqbasket SET contractnumber=? WHERE basketno=?"; |
422 |
my $query2 ="UPDATE aqbasket SET contractnumber=? WHERE basketno=?"; |
415 |
my $sth2 = $dbh->prepare($query2); |
423 |
my $sth2 = $dbh->prepare($query2); |