|
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); |