|
Lines 188-194
sub GetBasket {
Link Here
|
| 188 |
=head3 NewBasket |
188 |
=head3 NewBasket |
| 189 |
|
189 |
|
| 190 |
$basket = &NewBasket( $booksellerid, $authorizedby, $basketname, |
190 |
$basket = &NewBasket( $booksellerid, $authorizedby, $basketname, |
| 191 |
$basketnote, $basketbooksellernote, $basketcontractnumber, $deliveryplace, $billingplace ); |
191 |
$basketnote, $basketbooksellernote, $basketcontractnumber, $deliveryplace, $billingplace, $create_items ); |
| 192 |
|
192 |
|
| 193 |
Create a new basket in aqbasket table |
193 |
Create a new basket in aqbasket table |
| 194 |
|
194 |
|
|
Lines 207-213
The other parameters are optional, see ModBasketHeader for more info on them.
Link Here
|
| 207 |
sub NewBasket { |
207 |
sub NewBasket { |
| 208 |
my ( $booksellerid, $authorisedby, $basketname, $basketnote, |
208 |
my ( $booksellerid, $authorisedby, $basketname, $basketnote, |
| 209 |
$basketbooksellernote, $basketcontractnumber, $deliveryplace, |
209 |
$basketbooksellernote, $basketcontractnumber, $deliveryplace, |
| 210 |
$billingplace ) = @_; |
210 |
$billingplace, $create_items ) = @_; |
| 211 |
my $dbh = C4::Context->dbh; |
211 |
my $dbh = C4::Context->dbh; |
| 212 |
my $query = |
212 |
my $query = |
| 213 |
'INSERT INTO aqbasket (creationdate,booksellerid,authorisedby) ' |
213 |
'INSERT INTO aqbasket (creationdate,booksellerid,authorisedby) ' |
|
Lines 219-225
sub NewBasket {
Link Here
|
| 219 |
$basketnote ||= q{}; |
219 |
$basketnote ||= q{}; |
| 220 |
$basketbooksellernote ||= q{}; |
220 |
$basketbooksellernote ||= q{}; |
| 221 |
ModBasketHeader( $basket, $basketname, $basketnote, $basketbooksellernote, |
221 |
ModBasketHeader( $basket, $basketname, $basketnote, $basketbooksellernote, |
| 222 |
$basketcontractnumber, $booksellerid, $deliveryplace, $billingplace ); |
222 |
$basketcontractnumber, $booksellerid, $deliveryplace, $billingplace, $create_items ); |
| 223 |
return $basket; |
223 |
return $basket; |
| 224 |
} |
224 |
} |
| 225 |
|
225 |
|
|
Lines 532-552
Modifies a basket's header.
Link Here
|
| 532 |
|
532 |
|
| 533 |
=item C<$billingplace> is the "billingplace" field in the aqbasket table. |
533 |
=item C<$billingplace> is the "billingplace" field in the aqbasket table. |
| 534 |
|
534 |
|
|
|
535 |
=item C<$create_items> should be set to 'ordering', 'receiving' or 'cataloguing' (or undef, in which |
| 536 |
case the AcqCreateItem syspref takes precedence). |
| 537 |
|
| 535 |
=back |
538 |
=back |
| 536 |
|
539 |
|
| 537 |
=cut |
540 |
=cut |
| 538 |
|
541 |
|
| 539 |
sub ModBasketHeader { |
542 |
sub ModBasketHeader { |
| 540 |
my ($basketno, $basketname, $note, $booksellernote, $contractnumber, $booksellerid, $deliveryplace, $billingplace) = @_; |
543 |
my ($basketno, $basketname, $note, $booksellernote, $contractnumber, $booksellerid, $deliveryplace, $billingplace, $create_items) = @_; |
| 541 |
my $query = qq{ |
544 |
my $query = qq{ |
| 542 |
UPDATE aqbasket |
545 |
UPDATE aqbasket |
| 543 |
SET basketname=?, note=?, booksellernote=?, booksellerid=?, deliveryplace=?, billingplace=? |
546 |
SET basketname=?, note=?, booksellernote=?, booksellerid=?, deliveryplace=?, billingplace=?, create_items=? |
| 544 |
WHERE basketno=? |
547 |
WHERE basketno=? |
| 545 |
}; |
548 |
}; |
| 546 |
|
549 |
|
| 547 |
my $dbh = C4::Context->dbh; |
550 |
my $dbh = C4::Context->dbh; |
| 548 |
my $sth = $dbh->prepare($query); |
551 |
my $sth = $dbh->prepare($query); |
| 549 |
$sth->execute($basketname, $note, $booksellernote, $booksellerid, $deliveryplace, $billingplace, $basketno); |
552 |
$sth->execute($basketname, $note, $booksellernote, $booksellerid, $deliveryplace, $billingplace, $create_items || undef, $basketno); |
| 550 |
|
553 |
|
| 551 |
if ( $contractnumber ) { |
554 |
if ( $contractnumber ) { |
| 552 |
my $query2 ="UPDATE aqbasket SET contractnumber=? WHERE basketno=?"; |
555 |
my $query2 ="UPDATE aqbasket SET contractnumber=? WHERE basketno=?"; |
|
Lines 1499-1504
sub CancelReceipt {
Link Here
|
| 1499 |
my $parent_ordernumber = $order->{'parent_ordernumber'}; |
1502 |
my $parent_ordernumber = $order->{'parent_ordernumber'}; |
| 1500 |
|
1503 |
|
| 1501 |
my @itemnumbers = GetItemnumbersFromOrder( $ordernumber ); |
1504 |
my @itemnumbers = GetItemnumbersFromOrder( $ordernumber ); |
|
|
1505 |
my $basket = Koha::Acquisition::Order->find( $order->{ordernumber} )->basket; |
| 1502 |
|
1506 |
|
| 1503 |
if($parent_ordernumber == $ordernumber || not $parent_ordernumber) { |
1507 |
if($parent_ordernumber == $ordernumber || not $parent_ordernumber) { |
| 1504 |
# The order line has no parent, just mark it as not received |
1508 |
# The order line has no parent, just mark it as not received |
|
Lines 1549-1555
sub CancelReceipt {
Link Here
|
| 1549 |
" receipt"; |
1553 |
" receipt"; |
| 1550 |
return; |
1554 |
return; |
| 1551 |
} |
1555 |
} |
| 1552 |
_cancel_items_receipt( $ordernumber, $parent_ordernumber ); |
1556 |
_cancel_items_receipt( $basket->effective_create_items, $ordernumber, $parent_ordernumber ); |
| 1553 |
# Delete order line |
1557 |
# Delete order line |
| 1554 |
$query = qq{ |
1558 |
$query = qq{ |
| 1555 |
DELETE FROM aqorders |
1559 |
DELETE FROM aqorders |
|
Lines 1560-1566
sub CancelReceipt {
Link Here
|
| 1560 |
|
1564 |
|
| 1561 |
} |
1565 |
} |
| 1562 |
|
1566 |
|
| 1563 |
if(C4::Context->preference('AcqCreateItem') eq 'ordering') { |
1567 |
if( $basket->effective_create_items eq 'ordering' ) { |
| 1564 |
my @affects = split q{\|}, C4::Context->preference("AcqItemSetSubfieldsWhenReceiptIsCancelled"); |
1568 |
my @affects = split q{\|}, C4::Context->preference("AcqItemSetSubfieldsWhenReceiptIsCancelled"); |
| 1565 |
if ( @affects ) { |
1569 |
if ( @affects ) { |
| 1566 |
for my $in ( @itemnumbers ) { |
1570 |
for my $in ( @itemnumbers ) { |
|
Lines 1583-1593
sub CancelReceipt {
Link Here
|
| 1583 |
} |
1587 |
} |
| 1584 |
|
1588 |
|
| 1585 |
sub _cancel_items_receipt { |
1589 |
sub _cancel_items_receipt { |
| 1586 |
my ( $ordernumber, $parent_ordernumber ) = @_; |
1590 |
my ( $effective_create_items, $ordernumber, $parent_ordernumber ) = @_; |
| 1587 |
$parent_ordernumber ||= $ordernumber; |
1591 |
$parent_ordernumber ||= $ordernumber; |
| 1588 |
|
1592 |
|
| 1589 |
my @itemnumbers = GetItemnumbersFromOrder($ordernumber); |
1593 |
my @itemnumbers = GetItemnumbersFromOrder($ordernumber); |
| 1590 |
if(C4::Context->preference('AcqCreateItem') eq 'receiving') { |
1594 |
if ( $effective_create_items eq 'receiving' ) { |
| 1591 |
# Remove items that were created at receipt |
1595 |
# Remove items that were created at receipt |
| 1592 |
my $query = qq{ |
1596 |
my $query = qq{ |
| 1593 |
DELETE FROM items, aqorders_items |
1597 |
DELETE FROM items, aqorders_items |