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

(-)a/C4/Acquisition.pm (-3 / +38 lines)
Lines 56-62 BEGIN { Link Here
56
        &ModReceiveOrder &ModOrderBiblioitemNumber
56
        &ModReceiveOrder &ModOrderBiblioitemNumber
57
        &GetCancelledOrders
57
        &GetCancelledOrders
58
58
59
        &NewOrderItem &ModOrderItem
59
        &NewOrderItem &ModOrderItem &ModItemOrder
60
60
61
        &GetParcels &GetParcel
61
        &GetParcels &GetParcel
62
        &GetContracts &GetContract
62
        &GetContracts &GetContract
Lines 1017-1022 sub ModOrderItem { Link Here
1017
    return 0;
1017
    return 0;
1018
}
1018
}
1019
1019
1020
=head3 ModItemOrder
1021
1022
    ModItemOrder($itemnumber, $ordernumber);
1023
1024
Modifies the ordernumber of an item in aqorders_items.
1025
1026
=cut
1027
1028
sub ModItemOrder {
1029
    my ($itemnumber, $ordernumber) = @_;
1030
1031
    return unless ($itemnumber and $ordernumber);
1032
1033
    my $dbh = C4::Context->dbh;
1034
    my $query = qq{
1035
        UPDATE aqorders_items
1036
        SET ordernumber = ?
1037
        WHERE itemnumber = ?
1038
    };
1039
    my $sth = $dbh->prepare($query);
1040
    return $sth->execute($ordernumber, $itemnumber);
1041
}
1042
1020
#------------------------------------------------------------#
1043
#------------------------------------------------------------#
1021
1044
1022
1045
Lines 1102-1108 C<$ordernumber>. Link Here
1102
sub ModReceiveOrder {
1125
sub ModReceiveOrder {
1103
    my (
1126
    my (
1104
        $biblionumber,    $ordernumber,  $quantrec, $user, $cost,
1127
        $biblionumber,    $ordernumber,  $quantrec, $user, $cost,
1105
        $invoiceno, $freight, $rrp, $budget_id, $datereceived
1128
        $invoiceno, $freight, $rrp, $budget_id, $datereceived, $received_items
1106
    )
1129
    )
1107
    = @_;
1130
    = @_;
1108
    my $dbh = C4::Context->dbh;
1131
    my $dbh = C4::Context->dbh;
Lines 1148-1154 sub ModReceiveOrder { Link Here
1148
        $order->{'quantity'} -= $quantrec;
1171
        $order->{'quantity'} -= $quantrec;
1149
        $order->{'quantityreceived'} = 0;
1172
        $order->{'quantityreceived'} = 0;
1150
        my $newOrder = NewOrder($order);
1173
        my $newOrder = NewOrder($order);
1151
} else {
1174
        # Change ordernumber in aqorders_items for items not received
1175
        my @orderitems = GetItemnumbersFromOrder( $order->{'ordernumber'} );
1176
        my $count = scalar @orderitems;
1177
1178
        for (my $i=0; $i<$count; $i++){
1179
            foreach (@$received_items){
1180
                splice (@orderitems, $i, 1) if ($orderitems[$i] == $_);
1181
            }
1182
        }
1183
        foreach (@orderitems) {
1184
            ModItemOrder($_, $newOrder);
1185
        }
1186
    } else {
1152
        $sth=$dbh->prepare("update aqorders
1187
        $sth=$dbh->prepare("update aqorders
1153
                            set quantityreceived=?,datereceived=?,booksellerinvoicenumber=?,
1188
                            set quantityreceived=?,datereceived=?,booksellerinvoicenumber=?,
1154
                                unitprice=?,freight=?,rrp=?
1189
                                unitprice=?,freight=?,rrp=?
(-)a/acqui/finishreceive.pl (-4 / +9 lines)
Lines 108-117 if ($quantityrec > $origquantityrec ) { Link Here
108
            my ($biblionumber,$bibitemnum,$itemnumber) = AddItemFromMarc($record,$biblionumber);
108
            my ($biblionumber,$bibitemnum,$itemnumber) = AddItemFromMarc($record,$biblionumber);
109
        }
109
        }
110
    }
110
    }
111
    
111
112
    my @received_items = ();
113
    if(C4::Context->preference('AcqCreateItem') eq 'ordering') {
114
        @received_items = $input->param('items_to_receive');
115
    }
116
112
    # save the quantity received.
117
    # save the quantity received.
113
	if( $quantityrec > 0 ) {
118
    if( $quantityrec > 0 ) {
114
    	$datereceived = ModReceiveOrder($biblionumber,$ordernumber, $quantityrec ,$user,$unitprice,$invoiceno,$freight,$replacement,undef,$datereceived);
119
        $datereceived = ModReceiveOrder($biblionumber,$ordernumber, $quantityrec ,$user,$unitprice,$invoiceno,$freight,$replacement,undef,$datereceived, \@received_items);
115
	}
120
    }
116
}
121
}
117
    print $input->redirect("/cgi-bin/koha/acqui/parcel.pl?invoice=$invoiceno&supplierid=$supplierid&freight=$freight&gst=$gst&datereceived=$datereceived$error_url_str");
122
    print $input->redirect("/cgi-bin/koha/acqui/parcel.pl?invoice=$invoiceno&supplierid=$supplierid&freight=$freight&gst=$gst&datereceived=$datereceived$error_url_str");
(-)a/acqui/orderreceive.pl (-4 / +11 lines)
Lines 111-127 my $count = scalar @$results; Link Here
111
# prepare the form for receiving
111
# prepare the form for receiving
112
if ( $count == 1 ) {
112
if ( $count == 1 ) {
113
    my $order = $results->[0];
113
    my $order = $results->[0];
114
    if (C4::Context->preference('AcqCreateItem') eq 'receiving') {
114
    my $AcqCreateItem = C4::Context->preference('AcqCreateItem');
115
    if ($AcqCreateItem eq 'receiving') {
115
        # prepare empty item form
116
        # prepare empty item form
116
        my $cell = PrepareItemrecordDisplay('','','','ACQ');
117
        my $cell = PrepareItemrecordDisplay('','','','ACQ');
117
        unless ($cell) {
118
        unless ($cell) {
118
            $cell = PrepareItemrecordDisplay('','','','');
119
            $cell = PrepareItemrecordDisplay('','','','');
119
            $template->param('NoACQframework' => 1);
120
            $template->param('NoACQframework' => 1);
120
        }
121
        }
121
        my @itemloop;
122
        push @itemloop,$cell;
123
        
122
        
124
        $template->param(items => \@itemloop);
123
        $template->param(itemform => $cell);
124
    } elsif ($AcqCreateItem eq 'ordering') {
125
        my @itemnumbers = GetItemnumbersFromOrder($order->{ordernumber});
126
        my @items;
127
        foreach (@itemnumbers) {
128
            push @items, GetItem($_);
129
        }
130
        $template->param(items => \@items);
125
    }
131
    }
126
132
127
    if ( $order->{'unitprice'} == 0 ) {
133
    if ( $order->{'unitprice'} == 0 ) {
Lines 134-139 if ( $count == 1 ) { Link Here
134
    my $budget = GetBudget( $order->{'budget_id'} );
140
    my $budget = GetBudget( $order->{'budget_id'} );
135
141
136
    $template->param(
142
    $template->param(
143
        AcqCreateItem         => $AcqCreateItem,
137
        count                 => 1,
144
        count                 => 1,
138
        biblionumber          => $order->{'biblionumber'},
145
        biblionumber          => $order->{'biblionumber'},
139
        ordernumber           => $order->{'ordernumber'},
146
        ordernumber           => $order->{'ordernumber'},
(-)a/cataloguing/additem.pl (+1 lines)
Lines 729-734 $template->param( Link Here
729
    itemtagsubfield  => $itemtagsubfield,
729
    itemtagsubfield  => $itemtagsubfield,
730
    op      => $nextop,
730
    op      => $nextop,
731
    opisadd => ($nextop eq "saveitem") ? 0 : 1,
731
    opisadd => ($nextop eq "saveitem") ? 0 : 1,
732
    popup => $input->param('popup') ? 1: 0,
732
    C4::Search::enabled_staff_search_views,
733
    C4::Search::enabled_staff_search_views,
733
);
734
);
734
735
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/orderreceive.tt (-11 / +64 lines)
Lines 2-7 Link Here
2
<title>Koha &rsaquo; Acquisitions &rsaquo; Receipt summary for : [% name %] [% IF ( invoice ) %]invoice, [% invoice %][% END %]</title>
2
<title>Koha &rsaquo; Acquisitions &rsaquo; Receipt summary for : [% name %] [% IF ( invoice ) %]invoice, [% invoice %][% END %]</title>
3
[% INCLUDE 'doc-head-close.inc' %]
3
[% INCLUDE 'doc-head-close.inc' %]
4
<script type="text/javascript" src="[% themelang %]/js/additem.js"> </script>
4
<script type="text/javascript" src="[% themelang %]/js/additem.js"> </script>
5
<script type="text/javascript">
6
//<![CDATA[
7
[% IF (AcqCreateItem == 'ordering') %]
8
    function PopupEditPage(biblionumber, itemnumber) {
9
        var url = "/cgi-bin/koha/cataloguing/additem.pl?op=edititem&biblionumber="
10
            + biblionumber + "&itemnumber=" + itemnumber + "&popup=1#edititem";
11
        window.open(url);
12
    }
13
14
    function CalcQtyToReceive() {
15
        var qty = $("input[name='items_to_receive']:checked").length;
16
        $("#quantity").val(qty);
17
    }
18
[% END %]
19
20
$(document).ready(function() {
21
    [% IF (AcqCreateItem == 'ordering') %]
22
        $("input[name='items_to_receive']").change(function() {
23
            CalcQtyToReceive();
24
        });
25
        CalcQtyToReceive();
26
    [% END %]
27
});
28
//]]>
29
</script>
5
</head>
30
</head>
6
<body>
31
<body>
7
[% INCLUDE 'header.inc' %]
32
[% INCLUDE 'header.inc' %]
Lines 35-51 Link Here
35
        [% seriestitle %]</li>
60
        [% seriestitle %]</li>
36
    </ol>
61
    </ol>
37
	</fieldset>
62
	</fieldset>
38
    [% IF ( items ) %]
63
    [% IF (AcqCreateItem == 'ordering') %]
64
        [% IF (items.size) %]
65
            <fieldset class="rows">
66
                <legend>Items</legend>
67
                <table>
68
                    <thead>
69
                        <tr>
70
                            <th>Receive?</th>
71
                            <th>Barcode</th>
72
                            <th>Home branch</th>
73
                            <th>Location</th>
74
                            <th>Call number</th>
75
                            <th>&nbsp;</th>
76
                        </tr>
77
                    </thead>
78
                    <tbody>
79
                        [% FOREACH item IN items %]
80
                            <tr>
81
                                <td style="text-align:center"><input type="checkbox" name="items_to_receive" value="[% item.itemnumber %]" /></td>
82
                                <td>[% item.barcode %]</td>
83
                                <td>[% item.homebranch %]</td>
84
                                <td>[% item.location %]</td>
85
                                <td>[% item.itemcallnumber %]</td>
86
                                <td><a style="cursor:pointer" onclick="PopupEditPage([% item.biblionumber %],[% item.itemnumber %]);">Edit</a></td>
87
                            </tr>
88
                        [% END %]
89
                    </tbody>
90
                </table>
91
            </fieldset>
92
        [% END %]
93
    [% ELSIF (AcqCreateItem == 'receiving') %]
39
    <fieldset class="rows">
94
    <fieldset class="rows">
40
        <legend>Item</legend>
95
        <legend>Item</legend>
41
        [% IF ( NoACQframework ) %]
96
        [% IF ( NoACQframework ) %]
42
            <p class="required">No ACQ framework, using default. You should create a framework with code ACQ, the items framework would be used</p>
97
            <p class="required">No ACQ framework, using default. You should create a framework with code ACQ, the items framework would be used</p>
43
        [% END %]
98
        [% END %]
44
99
45
        [% FOREACH item IN items %]
46
        <div id="outeritemblock">
100
        <div id="outeritemblock">
47
        <div id="itemblock">
101
        <div id="itemblock">
48
            <ol>[% FOREACH iteminformatio IN item.iteminformation %]<li style="[% iteminformatio.hidden %];">
102
            <ol>[% FOREACH iteminformatio IN itemform.iteminformation %]<li style="[% iteminformatio.hidden %];">
49
                <div class="subfield_line" id="subfield[% iteminformatio.serialid %][% iteminformatio.countitems %][% iteminformatio.subfield %][% iteminformatio.random %]">
103
                <div class="subfield_line" id="subfield[% iteminformatio.serialid %][% iteminformatio.countitems %][% iteminformatio.subfield %][% iteminformatio.random %]">
50
                                
104
                                
51
                    <label>[% iteminformatio.subfield %] - [% IF ( iteminformatio.mandatory ) %]<b>[% END %][% iteminformatio.marc_lib %][% IF ( iteminformatio.mandatory ) %] *</b>[% END %]</label>
105
                    <label>[% iteminformatio.subfield %] - [% IF ( iteminformatio.mandatory ) %]<b>[% END %][% iteminformatio.marc_lib %][% IF ( iteminformatio.mandatory ) %] *</b>[% END %]</label>
Lines 62-82 Link Here
62
                </div></li>
116
                </div></li>
63
            [% END %]
117
            [% END %]
64
            </ol>
118
            </ol>
65
            <a class="addItem" onclick="cloneItemBlock('itemblock[% item.itemBlockIndex %]')">Add</a>
119
            <a class="addItem" onclick="cloneItemBlock('itemblock[% itemform.itemBlockIndex %]')">Add</a>
66
            <a class="delItem" style="display:none;" onclick="deleteItemBlock('itemblock[% item.itemBlockIndex %]')">Delete</a>
120
            <a class="delItem" style="display:none;" onclick="deleteItemBlock('itemblock[% itemform.itemBlockIndex %]')">Delete</a>
67
        </div><!-- /iteminformation -->
121
        </div><!-- /iteminformation -->
68
        </div>
122
        </div>
69
        
123
        
70
        <input type="hidden" name="moditem" value="" /> 
124
        <input type="hidden" name="moditem" value="" /> 
71
        <input type="hidden" name="tag" value="[% item.itemtagfield %]" />
125
        <input type="hidden" name="tag" value="[% itemform.itemtagfield %]" />
72
        <input type="hidden" name="subfield" value="[% item.itemtagsubfield %]" />
126
        <input type="hidden" name="subfield" value="[% itemform.itemtagsubfield %]" />
73
        <input type="hidden" name="serial" value="[% item.serialid %]" />
127
        <input type="hidden" name="serial" value="[% itemform.serialid %]" />
74
        <input type="hidden" name="bibnum" value="[% item.biblionumber %]" />
128
        <input type="hidden" name="bibnum" value="[% itemform.biblionumber %]" />
75
        <input type="hidden" name="itemid" value="1" />
129
        <input type="hidden" name="itemid" value="1" />
76
        <input type="hidden" name="field_value" value="[% item.itemnumber %]" />
130
        <input type="hidden" name="field_value" value="[% itemform.itemnumber %]" />
77
        [% END %] <!-- /items -->
131
        [% END %] <!-- /items -->
78
    </fieldset>
132
    </fieldset>
79
    [% END %] <!-- items -->
80
    <input type="hidden" name="biblionumber" value="[% biblionumber %]" />
133
    <input type="hidden" name="biblionumber" value="[% biblionumber %]" />
81
    <input type="hidden" name="ordernumber" value="[% ordernumber %]" />
134
    <input type="hidden" name="ordernumber" value="[% ordernumber %]" />
82
    <input type="hidden" name="biblioitemnumber" value="[% biblioitemnumber %]" />
135
    <input type="hidden" name="biblioitemnumber" value="[% biblioitemnumber %]" />
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/additem.tt (-1 / +9 lines)
Lines 4-9 Link Here
4
<script type="text/javascript">
4
<script type="text/javascript">
5
//<![CDATA[
5
//<![CDATA[
6
$(document).ready(function(){
6
$(document).ready(function(){
7
    [% IF (popup) %]
8
        [% IF (opisadd) %]
9
            window.opener.location.reload(true);
10
            window.close();
11
        [% END %]
12
    [% END %]
7
		$("fieldset.rows input").keydown(function(e){ return checkEnter(e); });
13
		$("fieldset.rows input").keydown(function(e){ return checkEnter(e); });
8
		/* Inline edit/delete links */
14
		/* Inline edit/delete links */
9
		var biblionumber = $("input[name='biblionumber']").attr("value");
15
		var biblionumber = $("input[name='biblionumber']").attr("value");
Lines 227-232 function set_to_today(id, force) { Link Here
227
<div id="cataloguing_additem_newitem">
233
<div id="cataloguing_additem_newitem">
228
    <form method="post" action="/cgi-bin/koha/cataloguing/additem.pl" name="f">
234
    <form method="post" action="/cgi-bin/koha/cataloguing/additem.pl" name="f">
229
    <input type="hidden" name="op" value="[% op %]" />
235
    <input type="hidden" name="op" value="[% op %]" />
236
    [% IF (popup) %]
237
        <input type="hidden" name="popup" value="1" />
238
    [% END %]
230
    <input type="hidden" name="biblionumber" value="[% biblionumber %]" />
239
    <input type="hidden" name="biblionumber" value="[% biblionumber %]" />
231
    [% IF ( opisadd ) %]
240
    [% IF ( opisadd ) %]
232
        <h2 id="additema">Add Item</h2>
241
        <h2 id="additema">Add Item</h2>
233
- 

Return to bug 7175