View | Details | Raw Unified | Return to bug 15685
Collapse All | Expand All

(-)a/C4/Acquisition.pm (-2 / +2 lines)
Lines 1590-1596 sub CancelReceipt { Link Here
1590
    my $parent_ordernumber = $order->{'parent_ordernumber'};
1590
    my $parent_ordernumber = $order->{'parent_ordernumber'};
1591
1591
1592
    my @itemnumbers = GetItemnumbersFromOrder( $ordernumber );
1592
    my @itemnumbers = GetItemnumbersFromOrder( $ordernumber );
1593
    my $basket = Koha::Acquisition::Order->find( $order->{ordernumber} )->basket;
1593
    my $basket = Koha::Acquisition::Orders->find({ordernumber => $ordernumber})->basket;
1594
1594
1595
    if($parent_ordernumber == $ordernumber || not $parent_ordernumber) {
1595
    if($parent_ordernumber == $ordernumber || not $parent_ordernumber) {
1596
        # The order line has no parent, just mark it as not received
1596
        # The order line has no parent, just mark it as not received
Lines 1604-1610 sub CancelReceipt { Link Here
1604
        };
1604
        };
1605
        $sth = $dbh->prepare($query);
1605
        $sth = $dbh->prepare($query);
1606
        $sth->execute(0, undef, undef, $ordernumber);
1606
        $sth->execute(0, undef, undef, $ordernumber);
1607
        _cancel_items_receipt( $ordernumber );
1607
        _cancel_items_receipt( $basket->effective_create_items, $ordernumber );
1608
    } else {
1608
    } else {
1609
        # The order line has a parent, increase parent quantity and delete
1609
        # The order line has a parent, increase parent quantity and delete
1610
        # the order line.
1610
        # the order line.
(-)a/Koha/Acquisition/Order.pm (-1 / +2 lines)
Lines 109-115 Returns the basket associated to the order. Link Here
109
109
110
sub basket {
110
sub basket {
111
    my ( $self )  = @_;
111
    my ( $self )  = @_;
112
    return Koha::Acquisition::Baskets->find( $self->basketno );
112
    my $basket_rs = $self->_result->basketno;
113
    return Koha::Acquisition::Basket->_new_from_dbic( $basket_rs );
113
}
114
}
114
115
115
=head2 Internal methods
116
=head2 Internal methods
(-)a/Koha/EDI.pm (-1 / +3 lines)
Lines 797-803 sub quote_item { Link Here
797
                    );
797
                    );
798
                }
798
                }
799
799
800
                if ( C4::Context->preference('AcqCreateItem') eq 'ordering' ) {
800
                my $basket = Koha::Acquisition::Basket->find( $basketno );
801
802
                if ( $basket->effective_create_item eq 'ordering' ) {
801
                    my $new_item = {
803
                    my $new_item = {
802
                        notforloan       => -1,
804
                        notforloan       => -1,
803
                        cn_sort          => q{},
805
                        cn_sort          => q{},
(-)a/acqui/addorderiso2709.pl (-4 / +2 lines)
Lines 103-110 if ($op eq ""){ Link Here
103
                     "allmatch" => $allmatch,
103
                     "allmatch" => $allmatch,
104
                     );
104
                     );
105
    import_biblios_list($template, $cgiparams->{'import_batch_id'});
105
    import_biblios_list($template, $cgiparams->{'import_batch_id'});
106
    my $basket = GetBasket($cgiparams->{basketno});
106
    if ( $basket->effective_create_items eq 'ordering' && !$basket->is_standing ) {
107
    if ( $basket->effective_create_items eq 'ordering' && !$basket->{is_standing} ) {
108
        # prepare empty item form
107
        # prepare empty item form
109
        my $cell = PrepareItemrecordDisplay( '', '', '', 'ACQ' );
108
        my $cell = PrepareItemrecordDisplay( '', '', '', 'ACQ' );
110
109
Lines 382-389 if ($op eq ""){ Link Here
382
        # 4th, add items if applicable
381
        # 4th, add items if applicable
383
        # parse the item sent by the form, and create an item just for the import_record_id we are dealing with
382
        # parse the item sent by the form, and create an item just for the import_record_id we are dealing with
384
        # this is not optimised, but it's working !
383
        # this is not optimised, but it's working !
385
        my $basket = GetBasket($cgiparams->{basketno});
384
        if ( $basket->effective_create_items eq 'ordering' && !$basket->is_standing ) {
386
        if ( $basket->effective_create_items eq 'ordering' && !$basket->{is_standing} ) {
387
            my @tags         = $input->multi_param('tag');
385
            my @tags         = $input->multi_param('tag');
388
            my @subfields    = $input->multi_param('subfield');
386
            my @subfields    = $input->multi_param('subfield');
389
            my @field_values = $input->multi_param('field_value');
387
            my @field_values = $input->multi_param('field_value');
(-)a/acqui/basket.pl (-1 lines)
Lines 390-396 if ( $op eq 'list' ) { Link Here
390
    }
390
    }
391
391
392
    $template->param(
392
    $template->param(
393
        basket               => $basket,
394
        basketno             => $basketno,
393
        basketno             => $basketno,
395
        basket               => $basket,
394
        basket               => $basket,
396
        basketname           => $basket->{'basketname'},
395
        basketname           => $basket->{'basketname'},
(-)a/circ/reserveratios.pl (-2 / +13 lines)
Lines 31-36 use C4::Debug; Link Here
31
use C4::Biblio qw/GetMarcBiblio GetRecordValue GetFrameworkCode/;
31
use C4::Biblio qw/GetMarcBiblio GetRecordValue GetFrameworkCode/;
32
use C4::Acquisition qw/GetOrdersByBiblionumber/;
32
use C4::Acquisition qw/GetOrdersByBiblionumber/;
33
use Koha::DateUtils;
33
use Koha::DateUtils;
34
use Koha::Acquisition::Baskets;
34
35
35
my $input = new CGI;
36
my $input = new CGI;
36
my $startdate       = $input->param('from');
37
my $startdate       = $input->param('from');
Lines 55-60 if ($booksellerid && $basketno) { Link Here
55
     $template->param( booksellerid => $booksellerid, basketno => $basketno );
56
     $template->param( booksellerid => $booksellerid, basketno => $basketno );
56
}
57
}
57
58
59
my $effective_create_items;
60
if ( $basketno ){
61
    my $basket = Koha::Acquisition::Baskets->find( $basketno );
62
    if ($basket){
63
        $effective_create_items = $basket->effective_create_items;
64
    } else {
65
        $effective_create_items = C4::Context->preference('AcqCreateItem');
66
    }
67
}
68
58
$startdate = eval { dt_from_string( $startdate ) } if $startdate;
69
$startdate = eval { dt_from_string( $startdate ) } if $startdate;
59
$enddate = eval { dt_from_string( $enddate ) } if $enddate;
70
$enddate = eval { dt_from_string( $enddate ) } if $enddate;
60
71
Lines 84-95 $sqldatewhere .= " AND reservedate <= ?"; Link Here
84
push @query_params, output_pref({ dt => $enddate, dateformat => 'iso' });
95
push @query_params, output_pref({ dt => $enddate, dateformat => 'iso' });
85
96
86
my $include_aqorders_qty =
97
my $include_aqorders_qty =
87
  C4::Context->preference('AcqCreateItem') eq 'receiving'
98
  $effective_create_items eq 'receiving'
88
  ? '+ COALESCE(aqorders.quantity, 0) - COALESCE(aqorders.quantityreceived, 0)'
99
  ? '+ COALESCE(aqorders.quantity, 0) - COALESCE(aqorders.quantityreceived, 0)'
89
  : q{};
100
  : q{};
90
101
91
my $include_aqorders_qty_join =
102
my $include_aqorders_qty_join =
92
  C4::Context->preference('AcqCreateItem') eq 'receiving'
103
  $effective_create_items eq 'receiving'
93
  ? 'LEFT JOIN aqorders ON reserves.biblionumber=aqorders.biblionumber'
104
  ? 'LEFT JOIN aqorders ON reserves.biblionumber=aqorders.biblionumber'
94
  : q{};
105
  : q{};
95
106
(-)a/installer/data/mysql/atomicupdate/bug15685.perl (-4 / +6 lines)
Lines 1-10 Link Here
1
$DBversion = 'XXX';  # will be replaced by the RM
1
$DBversion = 'XXX';  # will be replaced by the RM
2
if( CheckVersion( $DBversion ) ) {
2
if( CheckVersion( $DBversion ) ) {
3
3
4
    $dbh->do(q{
4
    unless( column_exists('aqbasket','create_items') ){
5
        ALTER TABLE aqbasket
5
        $dbh->do(q{
6
            ADD COLUMN create_items ENUM('ordering', 'receiving', 'cataloguing') default NULL
6
            ALTER TABLE aqbasket
7
    });
7
                ADD COLUMN create_items ENUM('ordering', 'receiving', 'cataloguing') default NULL
8
        });
9
    }
8
10
9
    SetVersion( $DBversion );
11
    SetVersion( $DBversion );
10
    print "Upgrade to $DBversion done (Bug 15685: Allow creation of items (AcqCreateItem) to be customizable per-basket)\n";
12
    print "Upgrade to $DBversion done (Bug 15685: Allow creation of items (AcqCreateItem) to be customizable per-basket)\n";
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/basketheader.tt (-7 / +7 lines)
Lines 43-49 Link Here
43
                [% IF ( basketno ) %]
43
                [% IF ( basketno ) %]
44
                    <li>
44
                    <li>
45
                        <input type="hidden" name="basketno" value="[% basketno %]" />
45
                        <input type="hidden" name="basketno" value="[% basketno %]" />
46
                        <input type="hidden" name="rs_an_edit" value="1" />
46
                        <input type="hidden" name="is_an_edit" value="1" />
47
                    </li>
47
                    </li>
48
                [% END %]
48
                [% END %]
49
                <li>
49
                <li>
Lines 113-125 Link Here
113
                    <label for="create_items">Create items when:</label>
113
                    <label for="create_items">Create items when:</label>
114
                    <select name="create_items" id="create_items">
114
                    <select name="create_items" id="create_items">
115
                        [% SWITCH Koha.Preference('AcqCreateItem') %]
115
                        [% SWITCH Koha.Preference('AcqCreateItem') %]
116
                            [% CASE 'receiving' %]<option value="">use default (receiving an order).</option>
116
                            [% CASE 'receiving' %]<option value="">use default (receiving an order)</option>
117
                            [% CASE 'cataloguing' %]<option value="">use default (cataloging the record).</option>
117
                            [% CASE 'cataloguing' %]<option value="">use default (cataloging the record)</option>
118
                            [% CASE %]<option value="">use default (placing an order).</option>
118
                            [% CASE %]<option value="">use default (placing an order)</option>
119
                        [% END %]
119
                        [% END %]
120
                        <option value="ordering">placing an order.</option>
120
                        <option value="ordering">placing an order</option>
121
                        <option value="receiving">receiving an order.</option>
121
                        <option value="receiving">receiving an order</option>
122
                        <option value="cataloguing">cataloging the record.</option>
122
                        <option value="cataloguing">cataloging the record</option>
123
                    </select>
123
                    </select>
124
                </li>
124
                </li>
125
                [% END %]
125
                [% END %]
(-)a/t/db_dependent/Acquisition/CancelReceipt.t (-2 / +1 lines)
Lines 49-54 my $bookseller = Koha::Acquisition::Bookseller->new( Link Here
49
        active => 1
49
        active => 1
50
    }
50
    }
51
)->store;
51
)->store;
52
t::lib::Mocks::mock_preference('AcqCreateItem', 'receiving');
52
53
53
my $basketno1 = C4::Acquisition::NewBasket(
54
my $basketno1 = C4::Acquisition::NewBasket(
54
    $bookseller->id
55
    $bookseller->id
Lines 66-72 my $budget = C4::Budgets::GetBudget( $budgetid ); Link Here
66
my ($biblionumber, $biblioitemnumber) = AddBiblio(MARC::Record->new, '');
67
my ($biblionumber, $biblioitemnumber) = AddBiblio(MARC::Record->new, '');
67
my $itemnumber = AddItem( { itype => $itemtype }, $biblionumber );
68
my $itemnumber = AddItem( { itype => $itemtype }, $biblionumber );
68
69
69
t::lib::Mocks::mock_preference('AcqCreateItem', 'receiving');
70
my $order = Koha::Acquisition::Order->new(
70
my $order = Koha::Acquisition::Order->new(
71
    {
71
    {
72
        basketno => $basketno1,
72
        basketno => $basketno1,
73
- 

Return to bug 15685