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

(-)a/acqui/basketgroup.pl (-19 / +24 lines)
Lines 55-61 use CGI; Link Here
55
use C4::Bookseller qw/GetBookSellerFromId/;
55
use C4::Bookseller qw/GetBookSellerFromId/;
56
use C4::Acquisition qw/CloseBasketgroup ReOpenBasketgroup GetOrders GetBasketsByBasketgroup GetBasketsByBookseller ModBasketgroup NewBasketgroup DelBasketgroup GetBasketgroups ModBasket GetBasketgroup GetBasket GetBasketGroupAsCSV/;
56
use C4::Acquisition qw/CloseBasketgroup ReOpenBasketgroup GetOrders GetBasketsByBasketgroup GetBasketsByBookseller ModBasketgroup NewBasketgroup DelBasketgroup GetBasketgroups ModBasket GetBasketgroup GetBasket GetBasketGroupAsCSV/;
57
use C4::Bookseller qw/GetBookSellerFromId/;
57
use C4::Bookseller qw/GetBookSellerFromId/;
58
use C4::Branch qw/GetBranches/;
58
use C4::Branch qw/GetBranches GetBranchName/;
59
use C4::Members qw/GetMember/;
59
use C4::Members qw/GetMember/;
60
60
61
our $input=new CGI;
61
our $input=new CGI;
Lines 155-171 sub displaybasketgroups { Link Here
155
    my $baskets = shift;
155
    my $baskets = shift;
156
    if (scalar @$basketgroups != 0) {
156
    if (scalar @$basketgroups != 0) {
157
        foreach my $basketgroup (@$basketgroups){
157
        foreach my $basketgroup (@$basketgroups){
158
	    $basketgroup -> {'billingplacename'} = GetBranchName($basketgroup -> {'billingplace'});
159
	    $basketgroup -> {'deliveryplacename'} = GetBranchName($basketgroup -> {'deliveryplace'});
158
            my $i = 0;
160
            my $i = 0;
161
	    my $basketsqty = 0;
159
            while($i < scalar(@$baskets)){
162
            while($i < scalar(@$baskets)){
160
                my $basket = @$baskets[$i];
163
                my $basket = @$baskets[$i];
161
                if($basket->{'basketgroupid'} && $basket->{'basketgroupid'} == $basketgroup->{'id'}){
164
                if($basket->{'basketgroupid'} && $basket->{'basketgroupid'} == $basketgroup->{'id'}){
162
                    $basket->{total} = BasketTotal($basket->{basketno}, $bookseller);
165
                    $basket->{total} = BasketTotal($basket->{basketno}, $bookseller);
163
                    push(@{$basketgroup->{'baskets'}}, $basket);
166
                    push(@{$basketgroup->{'baskets'}}, $basket);
164
                    splice(@$baskets, $i, 1);
167
                    splice(@$baskets, $i, 1);
168
		    ++$basketsqty;
165
                    --$i;
169
                    --$i;
166
                }
170
                }
167
                ++$i;
171
                ++$i;
168
            }
172
            }
173
  	    $basketgroup -> {'basketsqty'} = $basketsqty;
169
        }
174
        }
170
        $template->param(basketgroups => $basketgroups);
175
        $template->param(basketgroups => $basketgroups);
171
    }
176
    }
Lines 183-189 sub displaybasketgroups { Link Here
183
188
184
sub printbasketgrouppdf{
189
sub printbasketgrouppdf{
185
    my ($basketgroupid) = @_;
190
    my ($basketgroupid) = @_;
186
    
191
187
    my $pdfformat = C4::Context->preference("OrderPdfFormat");
192
    my $pdfformat = C4::Context->preference("OrderPdfFormat");
188
    if ($pdfformat eq 'pdfformat::layout3pages' || $pdfformat eq 'pdfformat::layout2pages'){
193
    if ($pdfformat eq 'pdfformat::layout3pages' || $pdfformat eq 'pdfformat::layout2pages'){
189
	eval {
194
	eval {
Lines 194-216 sub printbasketgrouppdf{ Link Here
194
	}
199
	}
195
    }
200
    }
196
    else {
201
    else {
197
	print $input->header;  
202
	print $input->header;
198
	print $input->start_html;  # FIXME Should do a nicer page
203
	print $input->start_html;  # FIXME Should do a nicer page
199
	print "<h1>Invalid PDF Format set</h1>";
204
	print "<h1>Invalid PDF Format set</h1>";
200
	print "Please go to the systempreferences and set a valid pdfformat";
205
	print "Please go to the systempreferences and set a valid pdfformat";
201
	exit;
206
	exit;
202
    }
207
    }
203
    
208
204
    my $basketgroup = GetBasketgroup($basketgroupid);
209
    my $basketgroup = GetBasketgroup($basketgroupid);
205
    my $bookseller = GetBookSellerFromId($basketgroup->{'booksellerid'});
210
    my $bookseller = GetBookSellerFromId($basketgroup->{'booksellerid'});
206
    my $baskets = GetBasketsByBasketgroup($basketgroupid);
211
    my $baskets = GetBasketsByBasketgroup($basketgroupid);
207
    
212
208
    my %orders;
213
    my %orders;
209
    for my $basket (@$baskets) {
214
    for my $basket (@$baskets) {
210
        my @ba_orders;
215
        my @ba_orders;
211
        my @ords = &GetOrders($basket->{basketno});
216
        my @ords = &GetOrders($basket->{basketno});
212
        for my $ord (@ords) {
217
        for my $ord (@ords) {
213
            # ba_order is filled with : 
218
            # ba_order is filled with :
214
            # 0      1        2        3         4            5         6       7      8        9
219
            # 0      1        2        3         4            5         6       7      8        9
215
            #isbn, itemtype, author, title, publishercode, quantity, listprice ecost discount gstrate
220
            #isbn, itemtype, author, title, publishercode, quantity, listprice ecost discount gstrate
216
            my @ba_order;
221
            my @ba_order;
Lines 388-401 if ( $op eq "add" ) { Link Here
388
    displaybasketgroups($basketgroups, $bookseller, $baskets);
393
    displaybasketgroups($basketgroups, $bookseller, $baskets);
389
} elsif ( $op eq 'closeandprint') {
394
} elsif ( $op eq 'closeandprint') {
390
    my $basketgroupid = $input->param('basketgroupid');
395
    my $basketgroupid = $input->param('basketgroupid');
391
    
396
392
    CloseBasketgroup($basketgroupid);
397
    CloseBasketgroup($basketgroupid);
393
    
398
394
    printbasketgrouppdf($basketgroupid);
399
    printbasketgrouppdf($basketgroupid);
395
    exit;
400
    exit;
396
}elsif ($op eq 'print'){
401
}elsif ($op eq 'print'){
397
    my $basketgroupid = $input->param('basketgroupid');
402
    my $basketgroupid = $input->param('basketgroupid');
398
    
403
399
    printbasketgrouppdf($basketgroupid);
404
    printbasketgrouppdf($basketgroupid);
400
    exit;
405
    exit;
401
}elsif ( $op eq "export" ) {
406
}elsif ( $op eq "export" ) {
Lines 410-426 if ( $op eq "add" ) { Link Here
410
    my $basketgroupid = $input->param('basketgroupid');
415
    my $basketgroupid = $input->param('basketgroupid');
411
    DelBasketgroup($basketgroupid);
416
    DelBasketgroup($basketgroupid);
412
    print $input->redirect('/cgi-bin/koha/acqui/basketgroup.pl?booksellerid=' . $booksellerid);
417
    print $input->redirect('/cgi-bin/koha/acqui/basketgroup.pl?booksellerid=' . $booksellerid);
413
    
418
414
}elsif ( $op eq 'reopen'){
419
}elsif ( $op eq 'reopen'){
415
    my $basketgroupid   = $input->param('basketgroupid');
420
    my $basketgroupid   = $input->param('basketgroupid');
416
    my $booksellerid    = $input->param('booksellerid');
421
    my $booksellerid    = $input->param('booksellerid');
417
    
418
    ReOpenBasketgroup($basketgroupid);
422
    ReOpenBasketgroup($basketgroupid);
419
        
423
420
    print $input->redirect('/cgi-bin/koha/acqui/basketgroup.pl?booksellerid=' . $booksellerid . '#closed');
424
    print $input->redirect('/cgi-bin/koha/acqui/basketgroup.pl?booksellerid=' . $booksellerid . '#closed');
421
    
425
422
} elsif ( $op eq 'attachbasket') {
426
} elsif ( $op eq 'attachbasket') {
423
    
427
424
    # Getting parameters
428
    # Getting parameters
425
    my $basketgroup       = {};
429
    my $basketgroup       = {};
426
    my @baskets           = $input->param('basket');
430
    my @baskets           = $input->param('basket');
Lines 431-437 if ( $op eq "add" ) { Link Here
431
    my $deliveryplace     = $input->param('deliveryplace');
435
    my $deliveryplace     = $input->param('deliveryplace');
432
    my $freedeliveryplace = $input->param('freedeliveryplace');
436
    my $freedeliveryplace = $input->param('freedeliveryplace');
433
    my $deliverycomment   = $input->param('deliverycomment');
437
    my $deliverycomment   = $input->param('deliverycomment');
434
    my $close             = $input->param('close') ? 1 : 0;
438
    my $close             = $input->param('closed') ? 1 : 0;
439
435
    # If we got a basketgroupname, we create a basketgroup
440
    # If we got a basketgroupname, we create a basketgroup
436
    if ($basketgroupid) {
441
    if ($basketgroupid) {
437
        $basketgroup = {
442
        $basketgroup = {
Lines 446-452 if ( $op eq "add" ) { Link Here
446
        };
451
        };
447
        ModBasketgroup($basketgroup);
452
        ModBasketgroup($basketgroup);
448
        if($close){
453
        if($close){
449
            
454
450
        }
455
        }
451
    }else{
456
    }else{
452
        $basketgroup = {
457
        $basketgroup = {
Lines 460-470 if ( $op eq "add" ) { Link Here
460
        };
465
        };
461
        $basketgroupid = NewBasketgroup($basketgroup);
466
        $basketgroupid = NewBasketgroup($basketgroup);
462
    }
467
    }
463
   
468
464
    my $url = '/cgi-bin/koha/acqui/basketgroup.pl?booksellerid=' . $booksellerid;
469
    my $url = '/cgi-bin/koha/acqui/basketgroup.pl?booksellerid=' . $booksellerid;
465
    $url .= "&closed=1" if ($input->param("closed")); 
470
    $url .= "&closed=1" if ($input->param("closed"));
466
    print $input->redirect($url);
471
    print $input->redirect($url);
467
    
472
468
}else{
473
}else{
469
    my $basketgroups = &GetBasketgroups($booksellerid);
474
    my $basketgroups = &GetBasketgroups($booksellerid);
470
    my $bookseller = &GetBookSellerFromId($booksellerid);
475
    my $bookseller = &GetBookSellerFromId($booksellerid);
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/basketgroup.tt (-60 / +75 lines)
Lines 167-175 function submitForm(form) { Link Here
167
	            </div>
167
	            </div>
168
	            </form>
168
	            </form>
169
169
170
			</div> 
170
			</div>
171
			
171
172
		    <div class="yui-u first"> 
172
		    <div class="yui-u first">
173
		    	<form action="" method="post" id="groupingform" onsubmit="return submitForm(this)">
173
		    	<form action="" method="post" id="groupingform" onsubmit="return submitForm(this)">
174
					<fieldset id="various" class="brief">
174
					<fieldset id="various" class="brief">
175
					<ol>
175
					<ol>
Lines 226-242 function submitForm(form) { Link Here
226
                        <input type="submit" value="Save" /> <a href="/cgi-bin/koha/acqui/basketgroup.pl?booksellerid=[% booksellerid %]" class="cancel">Cancel</a>
226
                        <input type="submit" value="Save" /> <a href="/cgi-bin/koha/acqui/basketgroup.pl?booksellerid=[% booksellerid %]" class="cancel">Cancel</a>
227
	                </fieldset>
227
	                </fieldset>
228
				</form>
228
				</form>
229
			</div> 
229
			</div>
230
		</div> 	 
230
		</div>
231
[% ELSE %]
231
[% ELSE %]
232
233
    <div id="toolbar" class="btn-toolbar">
232
    <div id="toolbar" class="btn-toolbar">
234
        <div class="btn-group"><a href="/cgi-bin/koha/acqui/basketgroup.pl?op=add&amp;booksellerid=[% booksellerid %]" class="btn btn-small" id="newbasketgroup"><i class="icon-plus"></i> New basket group</a></div>
233
        <div class="btn-group"><a href="/cgi-bin/koha/acqui/basketgroup.pl?op=add&amp;booksellerid=[% booksellerid %]" class="btn btn-small" id="newbasketgroup"><i class="icon-plus"></i> New basket group</a></div>
235
    </div>
234
    </div>
236
    <h1>Basket grouping for <a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid %]">[% booksellername |html %]</a></h1>
235
    <h1>Basket grouping for <a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid %]">[% booksellername |html %]</a></h1>
237
236
238
	<div id="basket_groups" class="toptabs">
237
        <div id="basket_groups" class="toptabs">
239
	<ul class="ui-tabs-nav">
238
        <ul class="ui-tabs-nav">
240
        [% UNLESS ( closed ) %]<li class="ui-tabs-selected"><a href="#opened">Open</a></li>
239
        [% UNLESS ( closed ) %]<li class="ui-tabs-selected"><a href="#opened">Open</a></li>
241
        [% ELSE%]<li><a href="#opened">Open</a></li>[% END %]
240
        [% ELSE%]<li><a href="#opened">Open</a></li>[% END %]
242
        [% IF ( closed ) %]<li class="ui-tabs-selected"><a href="#closed">Closed</a></li>
241
        [% IF ( closed ) %]<li class="ui-tabs-selected"><a href="#closed">Closed</a></li>
Lines 244-304 function submitForm(form) { Link Here
244
    </ul>
243
    </ul>
245
    <div id="opened">
244
    <div id="opened">
246
        <table id="basket_group_opened">
245
        <table id="basket_group_opened">
247
			<thead>
246
                        <thead>
248
				<tr>
247
                                <tr>
249
                    <th>Basket group</th><th>Action</th>
248
                                        <th>Name</th>
250
				</tr>
249
                                        <th>Number</th>
251
			</thead>
250
                                        <th>Billing place</th>
252
			<tbody>
251
                                        <th>Delivery place</th>
253
			[% FOREACH basketgroup IN basketgroups %]
252
                                        <th>Number of baskets</th>
254
				[% UNLESS ( basketgroup.closed ) %]
253
                                        <th>Action</th>
255
					<tr>
254
                                 </tr>
256
						<td>[% IF ( basketgroup.name ) %]
255
                        </thead>
257
													[% basketgroup.name %]
256
                        <tbody>
258
												[% ELSE %]
257
                        [% FOREACH basketgroup IN basketgroups %]
259
													Basket group no. [% basketgroup.id %]
258
                            [% UNLESS ( basketgroup.closed ) %]
260
												[% END %]
259
                                <tr>
261
						</td>
260
                                    <td>[% IF ( basketgroup.name ) %]
262
							<td>
261
                                        [% basketgroup.name %]
263
								<input type="button" onclick="closeandprint([% basketgroup.id %])" value="Close and print" />
262
                                    [% ELSE %]
264
								<form action="/cgi-bin/koha/acqui/basketgroup.pl" method="get"><input type="hidden" name="op" value="add" /><input type="hidden" name="booksellerid" value="[% basketgroup.booksellerid %]" /><input type="hidden" name="basketgroupid" value="[% basketgroup.id %]" /><input type="submit" value="Edit" /></form>
263
                                        Basket group no. [% basketgroup.id %]
265
								<form action="/cgi-bin/koha/acqui/basketgroup.pl" method="get"><input type="hidden" name="op" value="delete" /><input type="hidden" name="booksellerid" value="[% basketgroup.booksellerid %]" /><input type="hidden" name="basketgroupid" value="[% basketgroup.id %]" /><input type="submit" value="Delete" /></form>
264
                                    [% END %]
266
							</td>
265
                                    </td>
267
					</tr>
266
                                    <td>[% basketgroup.id %]</td>
268
				[% END %]
267
                                    <td>[% basketgroup.billingplacename %]</td>
269
			[% END %]
268
                                    <td>[% IF (basketgroup.freedeliveryplace) %]Free delivery place[% ELSE %][% basketgroup.deliveryplacename %][% END %]</td>
270
			</tbody>
269
                                    <td>[% basketgroup.basketsqty %]</td>
271
		</table>
270
                                    <td>
271
                                                                <input type="button" onclick="closeandprint([% basketgroup.id %])" value="Close and print" />
272
                                                                <form action="/cgi-bin/koha/acqui/basketgroup.pl" method="get"><input type="hidden" name="op" value="add" /><input type="hidden" name="booksellerid" value="[% basketgroup.booksellerid %]" /><input type="hidden" name="basketgroupid" value="[% basketgroup.id %]" /><input type="submit" value="Edit" /></form>
273
                                                                <form action="/cgi-bin/koha/acqui/basketgroup.pl" method="get"><input type="hidden" name="op" value="delete" /><input type="hidden" name="booksellerid" value="[% basketgroup.booksellerid %]" /><input type="hidden" name="basketgroupid" value="[% basketgroup.id %]" /><input type="submit" value="Delete" /></form>
274
                                    </td>
275
                                </tr>
276
                                [% END %]
277
                        [% END %]
278
                        </tbody>
279
                </table>
272
    </div>
280
    </div>
273
    <div id="closed">
281
    <div id="closed">
274
        <table id="basket_group_closed">
282
        <table id="basket_group_closed">
275
			<thead>
283
                       <thead>
276
				<tr>
284
                                <tr>
277
                    <th>Basket group</th><th>Action</th>
285
                                        <th>Name</th>
278
				</tr>
286
                                        <th>Number</th>
279
			</thead>
287
                                        <th>Billing place</th>
280
			<tbody>
288
                                        <th>Delivery place</th>
281
				[% FOREACH basketgroup IN basketgroups %]
289
                                        <th>Number of baskets</th>
282
				[% IF ( basketgroup.closed ) %]
290
                                        <th>Action</th>
283
				<tr>
291
                                 </tr>
284
				<td>
292
                        </thead>
285
                                     [% IF ( basketgroup.name ) %]
293
                        <tbody>
286
											[% basketgroup.name %]
294
                        [% FOREACH basketgroup IN basketgroups %]
287
										[% ELSE %]
295
                            [% IF ( basketgroup.closed ) %]
288
											Basket group no. [% basketgroup.id %]
296
                                <tr>
289
										[% END %]
297
                                    <td>[% IF ( basketgroup.name ) %]
290
					</td>
298
                                        [% basketgroup.name %]
291
					<td>
299
                                    [% ELSE %]
292
							<form action="/cgi-bin/koha/acqui/basketgroup.pl" method="get"><input type="hidden" name="op" value="reopen" /><input type="hidden" name="booksellerid" value="[% basketgroup.booksellerid %]" /><input type="hidden" name="basketgroupid" value="[% basketgroup.id %]" /><input type="submit" value="Reopen" /></form>
300
                                        Basket group no. [% basketgroup.id %]
293
							<form action="/cgi-bin/koha/acqui/basketgroup.pl" method="get"><input type="hidden" name="op" value="print" /><input type="hidden" name="basketgroupid" value="[% basketgroup.id %]" /><input type="submit" value="Print" /></form>
301
                                    [% END %]
302
                                    </td>
303
                                    <td>[% basketgroup.id %]</td>
304
                                    <td>[% basketgroup.billingplacename %]</td>
305
                                    <td>[% IF (basketgroup.freedeliveryplace) %]Free delivery place[% ELSE %][% basketgroup.deliveryplacename %][% END %]</td>
306
                                    <td>[% basketgroup.basketsqty %]</td>
307
                                    <td>
308
                                                        <form action="/cgi-bin/koha/acqui/basketgroup.pl" method="get"><input type="hidden" name="op" value="reopen" /><input type="hidden" name="booksellerid" value="[% basketgroup.booksellerid %]" /><input type="hidden" name="basketgroupid" value="[% basketgroup.id %]" /><input type="submit" value="Reopen" /></form>
309
                                                        <form action="/cgi-bin/koha/acqui/basketgroup.pl" method="get"><input type="hidden" name="op" value="print" /><input type="hidden" name="basketgroupid" value="[% basketgroup.id %]" /><input type="submit" value="Print" /></form>
294
                                                        <form action="/cgi-bin/koha/acqui/basketgroup.pl" method="get"><input type="hidden" name="op" value="export" /><input type="hidden" name="basketgroupid" value="[% basketgroup.id %]" /><input type="submit" value="Export as CSV" /></form>
310
                                                        <form action="/cgi-bin/koha/acqui/basketgroup.pl" method="get"><input type="hidden" name="op" value="export" /><input type="hidden" name="basketgroupid" value="[% basketgroup.id %]" /><input type="submit" value="Export as CSV" /></form>
295
                    </td>
311
                                    </td>
296
				</tr>
312
                                </tr>
297
				[% END %]
313
                                [% END %]
298
				[% END %]
314
                                [% END %]
299
				</tbody>
315
                                </tbody>
300
		        </table>
316
                        </table>
301
		        </div>
317
                        </div>
302
        </div>
318
        </div>
303
[% END %]
319
[% END %]
304
</div>
320
</div>
305
- 

Return to bug 9806