Lines 39-54
Link Here
|
39 |
<div class="col-sm-10 col-sm-push-2"> |
39 |
<div class="col-sm-10 col-sm-push-2"> |
40 |
<main> |
40 |
<main> |
41 |
|
41 |
|
42 |
[% IF ( receive_error ) %] |
42 |
[% IF ( receive_error ) %] |
43 |
<div class="dialog alert"> |
43 |
<div class="dialog alert"> |
44 |
<h3>Error adding items:</h3> |
44 |
<h3>Error adding items:</h3> |
45 |
<ul> |
45 |
<ul> |
46 |
[% FOREACH error_loo IN error_loop %] |
46 |
[% FOREACH error_loo IN error_loop %] |
47 |
<li>[% error_loo.error_param | html %][% IF ( error_loo.error_duplicate_barcode ) %]Duplicate Barcode[% END %] <!-- todo: other error conditions come here. --></li> |
47 |
<li>[% error_loo.error_param | html %][% IF ( error_loo.error_duplicate_barcode ) %]Duplicate Barcode[% END %] <!-- todo: other error conditions come here. --></li> |
48 |
[% END %] |
48 |
[% END %] |
49 |
</ul> |
49 |
</ul> |
50 |
</div> |
50 |
</div> |
51 |
[% END %] |
51 |
[% END %] |
52 |
<h1> |
52 |
<h1> |
53 |
[% IF ( invoiceclosedate ) %] |
53 |
[% IF ( invoiceclosedate ) %] |
54 |
Receipt summary for <em>[% name | html %]</em> [% IF ( invoice ) %] <em> [ [% invoice | html %] ] </em>[% END %] |
54 |
Receipt summary for <em>[% name | html %]</em> [% IF ( invoice ) %] <em> [ [% invoice | html %] ] </em>[% END %] |
Lines 60-71
Link Here
|
60 |
[% IF ( success_delorder ) %] |
60 |
[% IF ( success_delorder ) %] |
61 |
<div class="dialog message">The order has been successfully canceled.</div> |
61 |
<div class="dialog message">The order has been successfully canceled.</div> |
62 |
[% ELSE %] |
62 |
[% ELSE %] |
63 |
[% IF ( error_delitem ) %] |
63 |
[% IF ( error_delitem ) %] |
64 |
<div class="dialog alert">The order has been canceled, although one or more items could not have been deleted.</div> |
64 |
<div class="dialog alert">The order has been canceled, although one or more items could not have been deleted.</div> |
65 |
[% END %] |
65 |
[% END %] |
66 |
[% IF ( error_delbiblio ) %] |
66 |
[% IF ( error_delbiblio ) %] |
67 |
<div class="dialog alert">The order has been canceled, although the record has not been deleted.</div> |
67 |
<div class="dialog alert">The order has been canceled, although the record has not been deleted.</div> |
68 |
[% END %] |
68 |
[% END %] |
69 |
[% END %] |
69 |
[% END %] |
70 |
|
70 |
|
71 |
[% IF (error_cancelling_receipt) %] |
71 |
[% IF (error_cancelling_receipt) %] |
Lines 97-220
Link Here
|
97 |
<p><strong>Invoice number:</strong> [% invoice | html %] <strong>Shipment date:</strong> [% shipmentdate | $KohaDates %]</p> |
97 |
<p><strong>Invoice number:</strong> [% invoice | html %] <strong>Shipment date:</strong> [% shipmentdate | $KohaDates %]</p> |
98 |
</div> |
98 |
</div> |
99 |
[% UNLESS (invoiceclosedate) %] |
99 |
[% UNLESS (invoiceclosedate) %] |
100 |
<div id="acqui_receive_search"> |
100 |
<div id="acqui_receive_search"> |
101 |
<h3>Pending orders</h3> |
101 |
<h3>Pending orders</h3> |
102 |
|
102 |
<table id="pending_orders" class="table table-bordered table-striped"> |
103 |
[% IF ( loop_orders ) %] |
103 |
<thead> |
104 |
<table id="pendingt"> |
104 |
<tr> |
105 |
<thead> |
105 |
<th>Basket</th> |
106 |
<tr> |
106 |
<th>Basket group</th> |
107 |
<th>Basket search</th> |
107 |
<th>Order line</th> |
108 |
<th>Basket group search</th> |
108 |
<th class="hidden">Title</th> |
109 |
<th>Order line search</th> |
109 |
<th class="hidden">Author</th> |
110 |
<th>Summary search</th> |
110 |
<th class="hidden">ISBN</th> |
111 |
<th> </th> |
111 |
<th>Summary</th> |
112 |
<th>Replacement price search</th> |
112 |
<th>More</th> |
113 |
<th>Quantity search</th> |
113 |
<th>Replacement price</th> |
114 |
<th>Unit cost search</th> |
114 |
<th>Quantity</th> |
115 |
<th>Order cost search</th> |
115 |
<th>Unit cost</th> |
116 |
<th>Fund search</th> |
116 |
<th>Order cost</th> |
117 |
<th> </th> |
117 |
<th>Fund</th> |
118 |
<th> </th> |
118 |
<th> </th> |
119 |
</tr> |
119 |
<th> </th> |
120 |
<tr> |
|
|
121 |
<th>Basket</th> |
122 |
<th>Basket group</th> |
123 |
<th>Order line</th> |
124 |
<th>Summary</th> |
125 |
<th>More</th> |
126 |
<th>Replacement price</th> |
127 |
<th>Quantity</th> |
128 |
<th>Unit cost</th> |
129 |
<th>Order cost</th> |
130 |
<th>Fund</th> |
131 |
<th> </th> |
132 |
<th> </th> |
133 |
</tr> |
134 |
</thead> |
135 |
<tbody class="filterclass"> |
136 |
[% FOREACH loop_order IN loop_orders %] |
137 |
<tr> |
138 |
<td class="basketfilterclass"><a href="/cgi-bin/koha/acqui/basket.pl?basketno=[% loop_order.basketno | uri %]">[% loop_order.basketname | html %] ([% loop_order.basketno | html %])</a></td> |
139 |
<td> |
140 |
[% IF loop_order.basketgroupid %] |
141 |
<a href="/cgi-bin/koha/acqui/basketgroup.pl?op=add&booksellerid=[% booksellerid | uri %]&basketgroupid=[% loop_order.basketgroupid | uri %]">[% loop_order.basketgroupname | html %] ([% loop_order.basketgroupid | html %])</a> |
142 |
[% ELSE %] |
143 |
No basket group |
144 |
[% END %] |
145 |
</td> |
146 |
<td class="orderfilterclass"><a href="neworderempty.pl?ordernumber=[% loop_order.ordernumber | uri %]&booksellerid=[% loop_order.booksellerid | uri %]">[% loop_order.ordernumber | html %]</a></td> |
147 |
<td class="summaryfilterclass"> |
148 |
<a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% loop_order.biblionumber | uri %]">[% loop_order.title | html %]</a> |
149 |
[% IF ( loop_order.author ) %] by [% loop_order.author | html %][% END %] |
150 |
[% IF ( loop_order.isbn ) %] – [% loop_order.isbn | html %][% END %] |
151 |
[% IF ( loop_order.publishercode ) %] |
152 |
<br />Publisher: [% loop_order.publishercode | html %] |
153 |
[%- IF ( loop_order.publicationyear > 0) -%], [% loop_order.publicationyear | html %] |
154 |
[%- ELSIF ( loop_order.copyrightdate > 0) -%] [% loop_order.copyrightdate | html %] |
155 |
[% END %] |
156 |
[% END %] |
157 |
[% IF ( loop_order.suggestionid ) %] |
158 |
<br/> |
159 |
Suggested by: <a href="/cgi-bin/koha/suggestion/suggestion.pl?suggestionid=[% loop_order.suggestionid | uri %]&op=show">[% loop_order.surnamesuggestedby | html %][% IF ( loop_order.firstnamesuggestedby ) %], [% loop_order.firstnamesuggestedby | html %] [% END %]( #[% loop_order.suggestionid | html %])</a> |
160 |
[% END %] |
161 |
<br /> |
162 |
[% IF ( loop_order.order_internalnote ) %] |
163 |
<p class="ordernote"><strong>Internal note: </strong>[% loop_order.order_internalnote | html %] [<a href="/cgi-bin/koha/acqui/modordernotes.pl?ordernumber=[% loop_order.ordernumber | uri %]&referrer=/cgi-bin/koha/acqui/parcel.pl%3Finvoiceid=[% invoiceid | uri %]&type=internal">Change internal note</a>]</p> |
164 |
[% ELSE %] |
165 |
[<a href="/cgi-bin/koha/acqui/modordernotes.pl?ordernumber=[% loop_order.ordernumber | uri %]&referrer=/cgi-bin/koha/acqui/parcel.pl%3Finvoiceid=[% invoiceid | uri %]&type=internal">Add internal note</a>] |
166 |
[% END %] |
167 |
[% IF ( loop_order.order_vendornote ) %] |
168 |
<p class="ordernote"><strong>Vendor note: </strong>[% loop_order.order_vendornote | html %]</p> |
169 |
[% ELSE %] |
170 |
[<a href="/cgi-bin/koha/acqui/modordernotes.pl?ordernumber=[% loop_order.ordernumber | uri %]&referrer=/cgi-bin/koha/acqui/parcel.pl%3Finvoiceid=[% invoiceid | uri %]&type=vendor">Add vendor note</a>] |
171 |
[% END %] |
172 |
</td> |
173 |
<td> |
174 |
<a href="/cgi-bin/koha/acqui/showorder.pl?ordernumber=[% loop_order.ordernumber | uri %]" class="previewData">[% tp('noun', 'Order') | html %]</a><br> |
175 |
<a href="/cgi-bin/koha/catalogue/showmarc.pl?id=[% loop_order.biblionumber | uri %]" class="previewData">MARC</a><br> |
176 |
<a href="/cgi-bin/koha/catalogue/showmarc.pl?viewas=card&id=[% loop_order.biblionumber | uri %]" class="previewData">Card</a> |
177 |
</td> |
178 |
<td>[% loop_order.replacementprice | $Price %]</td> |
179 |
<td>[% loop_order.quantity | html %]</td> |
180 |
<td>[% loop_order.ecost | $Price %]</td> |
181 |
<td>[% loop_order.total | $Price %]</td> |
182 |
<td>[% loop_order.budget_name | html %]</td> |
183 |
<td> |
184 |
<a href="orderreceive.pl?ordernumber=[% loop_order.ordernumber | uri %]&invoiceid=[% invoiceid | uri %]">Receive</a> |
185 |
<br /> |
186 |
<a href="#" onclick="transfer_order_popup([% loop_order.ordernumber | html %]); return false;">Transfer</a> |
187 |
</td> |
188 |
<td> |
189 |
[% IF ( loop_order.left_holds_on_order ) %] |
190 |
<span class="button" title="Can't cancel order, ([% loop_order.holds_on_order | html %]) holds are linked with this order. Cancel holds first">Can't cancel order</span><br> |
191 |
[% ELSE %] |
192 |
<a href="/cgi-bin/koha/acqui/cancelorder.pl?ordernumber=[% loop_order.ordernumber | uri %]&biblionumber=[% loop_order.biblionumber | uri %]&referrer=[% "/cgi-bin/koha/acqui/parcel.pl?invoiceid=$invoiceid" | uri %]">Cancel order</a><br /> |
193 |
[% END %] |
194 |
[% IF ( loop_order.can_del_bib ) %] |
195 |
<a href="/cgi-bin/koha/acqui/cancelorder.pl?ordernumber=[% loop_order.ordernumber | uri %]&biblionumber=[% loop_order.biblionumber | uri %]&del_biblio=1&referrer=[% "/cgi-bin/koha/acqui/parcel.pl?invoiceid=$invoiceid" | uri %]">Cancel order and catalog record</a><br /> |
196 |
[% ELSE %] |
197 |
<span class="button" title="Can't delete catalog record, see constraints below">Can't cancel order and delete catalog record</span><br> |
198 |
[% END %] |
199 |
[% IF ( loop_order.left_item ) %] |
200 |
<strong title="Can't delete catalog record, because of [% loop_order.items | html %] existing item(s)" >[% loop_order.items | html %] item(s) left</strong><br> |
201 |
[% END %] |
202 |
[% IF ( loop_order.left_biblio ) %] |
203 |
<strong title="Can't delete catalog record, delete other orders linked to it first">[% loop_order.biblios | html %] order(s) left</strong><br> |
204 |
[% END %] |
205 |
[% IF ( loop_order.left_subscription ) %] |
206 |
<strong title="Can't delete catalog record, delete subscriptions first">[% loop_order.subscriptions | html %] subscription(s) left</strong><br> |
207 |
[% END %] |
208 |
[% IF ( loop_order.left_holds ) %] |
209 |
<strong title="Can't delete catalog record or order, cancel holds first">[% loop_order.holds | html %] hold(s) left</strong> |
210 |
[% END %] |
211 |
</td> |
212 |
</tr> |
120 |
</tr> |
213 |
[% END %] |
121 |
</thead> |
214 |
</tbody> |
122 |
</table> |
215 |
</table> |
123 |
</div> |
216 |
[% ELSE %]There are no pending orders.[% END %] |
|
|
217 |
</div> |
218 |
[% ELSE %] |
124 |
[% ELSE %] |
219 |
<p> |
125 |
<p> |
220 |
Invoice is closed, so you can't receive orders anymore. |
126 |
Invoice is closed, so you can't receive orders anymore. |
Lines 372-383
Link Here
|
372 |
[% END %] |
278 |
[% END %] |
373 |
</td> |
279 |
</td> |
374 |
</tr> |
280 |
</tr> |
375 |
[% END %] |
281 |
[% END %] |
376 |
</tbody> |
282 |
</tbody> |
377 |
</table> |
283 |
</table> |
378 |
</form> |
284 |
</form> |
379 |
|
285 |
|
380 |
[% ELSE %]There are no received orders.[% END %] |
286 |
[% ELSE %]There are no received orders.[% END %] |
381 |
</div> |
287 |
</div> |
382 |
|
288 |
|
383 |
<div id="dataPreview" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="dataPreviewLabel" aria-hidden="true"> |
289 |
<div id="dataPreview" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="dataPreviewLabel" aria-hidden="true"> |
Lines 438-444
Link Here
|
438 |
</li> |
344 |
</li> |
439 |
[% IF (UNIMARC) %] |
345 |
[% IF (UNIMARC) %] |
440 |
<li> |
346 |
<li> |
441 |
<label for="eanfilter">EAN :</label> |
347 |
<label for="eanfilter">EAN:</label> |
442 |
<input type="text" name="eanfilter" id="eanfilter" value="[% eanfilter | html %]"/> |
348 |
<input type="text" name="eanfilter" id="eanfilter" value="[% eanfilter | html %]"/> |
443 |
</li> |
349 |
</li> |
444 |
[% END %] |
350 |
[% END %] |
Lines 447-453
Link Here
|
447 |
<input type="hidden" value="search" name="op" /> |
353 |
<input type="hidden" value="search" name="op" /> |
448 |
<input type="hidden" value="[% invoiceid | html %]" name="invoiceid" /> |
354 |
<input type="hidden" value="[% invoiceid | html %]" name="invoiceid" /> |
449 |
<input type="submit" value="Filter" /> |
355 |
<input type="submit" value="Filter" /> |
450 |
<a href="/cgi-bin/koha/acqui/parcel.pl?invoiceid=[% invoiceid | uri %]">Clear</a> |
356 |
<a href="#" id="clear_form_filters">Clear</a> |
451 |
</fieldset> |
357 |
</fieldset> |
452 |
</fieldset> |
358 |
</fieldset> |
453 |
</form> |
359 |
</form> |
Lines 467-559
Link Here
|
467 |
var sticky_filters = [% sticky_filters | html %]; |
373 |
var sticky_filters = [% sticky_filters | html %]; |
468 |
|
374 |
|
469 |
$(document).ready(function(){ |
375 |
$(document).ready(function(){ |
470 |
if ( $("#pendingt").length ) { |
376 |
|
471 |
var pendingt = $("#pendingt").dataTable($.extend(true, {}, dataTablesDefaults, { |
377 |
if ( $("#receivedt").length ) { |
472 |
"bStateSave": true, |
378 |
var receivedt = $("#receivedt").dataTable($.extend(true, {}, dataTablesDefaults, { |
473 |
"iCookieDuration": 60*60*24*1000, // 1000 days |
379 |
"bStateSave": true, |
474 |
"iDisplayLength": 10, |
380 |
"iCookieDuration": 60*60*24*1000, // 1000 days |
475 |
"aLengthMenu": [[5, 10, 20, 50, 100, -1], [5, 10, 20, 50, 100, _("All")]], |
381 |
"iDisplayLength": 10, |
476 |
"aoColumnDefs": [ |
382 |
"aLengthMenu": [[5, 10, 20, 50, 100, -1], [5, 10, 20, 50, 100, _("All")]], |
477 |
{ "aTargets": [ 4, 9, 10 ], "bSortable": false, "bSearchable": false }, |
383 |
"aoColumnDefs": [ |
478 |
], |
384 |
{ "aTargets": [ 5, -1 ], "bSortable": false, "bSearchable": false }, |
479 |
"aoColumns": [ |
385 |
], |
480 |
{ "sType": "html" }, |
386 |
"aoColumns": [ |
481 |
{ "sType": "html" }, |
387 |
{ "sType": "html" }, |
482 |
{ "sType": "num-html" }, |
388 |
{ "sType": "html" }, |
483 |
{ "sType": "anti-the" }, |
389 |
{ "sType": "html" }, |
484 |
null, |
390 |
{ "sType": "num-html" }, |
485 |
null, |
391 |
{ "sType": "anti-the" }, |
486 |
null, |
392 |
null, |
487 |
null, |
393 |
null, |
488 |
null, |
394 |
null, |
489 |
null, |
395 |
null, |
490 |
null, |
396 |
null, |
491 |
null, |
397 |
null, |
|
|
398 |
null, |
399 |
null |
400 |
], |
401 |
"sPaginationType": "full" |
402 |
})); |
403 |
} |
404 |
|
405 |
var base_query = { "basket.vendor_id": [% booksellerid | html %] }; |
406 |
var pending_orders_url = '/api/v1/acquisitions/orders?only_active=1'; |
407 |
var pending_orders_table = $("#pending_orders").api({ |
408 |
"ajax": { |
409 |
"url": pending_orders_url + '&q=' + encodeURI(JSON.stringify(base_query)) |
410 |
}, |
411 |
"header_filter": true, |
412 |
"embed": [ |
413 |
"basket.basket_group", |
414 |
"biblio.active_orders+count", |
415 |
"biblio.holds+count", |
416 |
"biblio.items+count", |
417 |
"biblio.suggestions.suggester", |
418 |
"fund", |
419 |
"current_item_level_holds+count", |
420 |
"items" |
492 |
], |
421 |
], |
493 |
'bAutoWidth': false, |
422 |
'dom': 'C<"top pager"ilpfB><"#filter_c">tr<"bottom pager"ip>', |
494 |
"sPaginationType": "full" |
423 |
"columnDefs": [ { |
495 |
} ) |
424 |
"targets": [3,4,5,9], |
496 |
).columnFilter({ |
425 |
"render": function (data, type, row, meta) { |
497 |
sPlaceHolder: "head:after", |
426 |
if ( data != null ) { |
498 |
aoColumns: [ |
427 |
return data.escapeHtml(); |
499 |
{ type: "text" }, |
428 |
} |
500 |
{ type: "text" }, |
429 |
else { |
501 |
{ type: "text" }, |
430 |
return ""; |
502 |
{ type: "text" }, |
431 |
} |
503 |
null, |
432 |
} |
504 |
{ type: "text" }, |
433 |
}, |
505 |
{ type: "text" }, |
434 |
{ |
506 |
{ type: "text" }, |
435 |
"targets": [8,10], |
507 |
{ type: "text" }, |
436 |
"render": function (data, type, row, meta) { |
508 |
{ type: "text" }, |
437 |
if ( data != null ) { |
509 |
null, |
438 |
return data.escapeHtml().format_price(); |
510 |
null |
439 |
} |
|
|
440 |
else { |
441 |
return ""; |
442 |
} |
443 |
} |
444 |
} ], |
445 |
"columns": [ |
446 |
{ "data": "basket.name", |
447 |
"orderable": true, |
448 |
"render": function(data, type, row, meta) { |
449 |
if (type != 'display') return data; |
450 |
return "<a href=\"/cgi-bin/koha/acqui/basket.pl?basketno=" + row.basket.basket_id + "\">" + data + " (" + row.basket.basket_id + ")</a>"; |
451 |
} |
452 |
}, |
453 |
{ "data": "basket.basket_group.name", |
454 |
"orderable": true, |
455 |
"render": function(data, type, row, meta) { |
456 |
if ( type != 'display' ) { |
457 |
if ( data == null ) { |
458 |
return ""; |
459 |
} |
460 |
else { |
461 |
return data; |
462 |
} |
463 |
} |
464 |
if ( row.basket.basket_group_id == null ) { |
465 |
return _("No basket group"); |
466 |
} |
467 |
else { |
468 |
return "<a href=\"/cgi-bin/koha/acqui/basketgroup.pl?op=add&booksellerid=" |
469 |
+ row.basket.vendor_id + "&basketgroupid=" |
470 |
+ row.basket.basket_group_id + "\">" |
471 |
+ row.basket.basket_group.name + " (" + row.basket.basket_group_id + ")</a>"; |
472 |
} |
473 |
} |
474 |
}, |
475 |
{ |
476 |
"data": "order_id", |
477 |
"render": function(data, type, row, meta) { |
478 |
if (type != 'display') return data; |
479 |
return "<a href=\"neworderempty.pl?ordernumber="+data+"&booksellerid="+row.basket.vendor_id+"\">"+data+"</a>"; |
480 |
} |
481 |
}, |
482 |
{ |
483 |
"data": "biblio.author", |
484 |
"visible": false, |
485 |
"searchable": true, |
486 |
"orderable": false |
487 |
}, |
488 |
{ |
489 |
"data": "biblio.title", |
490 |
"visible": false, |
491 |
"searchable": true, |
492 |
"orderable": false |
493 |
}, |
494 |
{ |
495 |
"data": "biblio.isbn", |
496 |
"visible": false, |
497 |
"searchable": true, |
498 |
"orderable": false |
499 |
}, |
500 |
{ |
501 |
"data": function(row, type, val, meta) { |
502 |
var result = ''; |
503 |
if ( row.biblio_id != null ) { |
504 |
result = "<p><a href=\"/cgi-bin/koha/catalogue/detail.pl?biblionumber="+encodeURIComponent(row.biblio_id)+"\">"+row.biblio.title.escapeHtml()+"</a>"; |
505 |
if ( row.biblio.author != null ) |
506 |
result += _(" by ") + row.biblio.author.escapeHtml(); |
507 |
if ( row.biblio.isbn != null ) |
508 |
result += " – " + row.biblio.isbn.escapeHtml(); |
509 |
if ( row.biblio.publisher != null ) { |
510 |
result += "<br/>" + _("Publisher: ") + row.biblio.publisher.escapeHtml(); |
511 |
if ( row.biblio.publication_year != null ) { |
512 |
result += ", " + row.biblio.publication_year.escapeHtml(); |
513 |
} |
514 |
else if ( row.biblio.copyright_date != null ) { |
515 |
result += row.biblio.copyright_date.escapeHtml(); |
516 |
} |
517 |
} |
518 |
var suggestions = row.biblio.suggestions; |
519 |
if ( suggestions != null && suggestions.length > 0 ) { |
520 |
var suggestion = suggestions[0]; |
521 |
if ( suggestion.suggester != null ) { |
522 |
var suggester = suggestion.suggester; |
523 |
var suggested_by = []; |
524 |
if ( suggester.surname != null ) { |
525 |
suggested_by.push(suggester.surname.escapeHtml()); |
526 |
} |
527 |
if ( suggester.firstname != null ) { |
528 |
suggested_by.push(suggester.firstname.escapeHtml()); |
529 |
} |
530 |
|
531 |
result += "<br/>" + _("Suggested by: ") + |
532 |
'<a href="/cgi-bin/koha/suggestion/suggestion.pl?suggestionid=' |
533 |
+ encodeURIComponent(suggestion.suggestionid) |
534 |
+ '&op=show">' |
535 |
+ suggested_by.join(", ") |
536 |
+ " (#" + suggestions[0].suggestionid + ")</a>"; // FIXME: could be changed if we allow matching multiple suggestions |
537 |
} |
538 |
} |
539 |
result += '</p>'; |
540 |
} |
541 |
|
542 |
var internal_note = row.internal_note; |
543 |
if ( internal_note != null && internal_note != '' ) { |
544 |
result += '<p class="ordernote"><strong>' |
545 |
+ _("Internal note: ") |
546 |
+ '</strong>' + internal_note.escapeHtml() |
547 |
+ ' [<a href="/cgi-bin/koha/acqui/modordernotes.pl?ordernumber=' |
548 |
+ encodeURIComponent(row.order_id) + '&referrer=/cgi-bin/koha/acqui/parcel.pl%3Finvoiceid=[% invoiceid | uri %]' |
549 |
+ '&type=internal">' + _("Change internal note") + '</a>]</p>'; |
550 |
} |
551 |
else { |
552 |
result += ' [<a href="/cgi-bin/koha/acqui/modordernotes.pl?ordernumber=' |
553 |
+ encodeURIComponent(row.order_id) + '&referrer=/cgi-bin/koha/acqui/parcel.pl%3Finvoiceid=[% invoiceid | uri %]' |
554 |
+ '&type=internal">' + _("Add internal note") + '</a>]'; |
555 |
} |
556 |
|
557 |
var vendor_note = row.vendor_note; |
558 |
if ( vendor_note != null && vendor_note != '' ) { |
559 |
result += '<p class="ordernote"><strong>' |
560 |
+ _("Vendor note: ") |
561 |
+ '</strong>' + vendor_note.escapeHtml() + '</p>'; |
562 |
} |
563 |
else { |
564 |
result += ' [<a href="/cgi-bin/koha/acqui/modordernotes.pl?ordernumber=' |
565 |
+ encodeURIComponent(row.order_id) + '&referrer=/cgi-bin/koha/acqui/parcel.pl%3Finvoiceid=[% invoiceid | uri %]' |
566 |
+ '&type=vendor">' + _("Add vendor note") + '</a>]'; |
567 |
} |
568 |
|
569 |
return result; |
570 |
}, |
571 |
"orderable": false |
572 |
}, |
573 |
{ |
574 |
"data": function( row, type, val, meta) { |
575 |
var result = '<a href="/cgi-bin/koha/acqui/showorder.pl?ordernumber=' + encodeURIComponent(row.order_id) + '" class="previewData">' + _("Order") + '</a><br>' |
576 |
+ '<a href="/cgi-bin/koha/catalogue/showmarc.pl?id=' + encodeURIComponent(row.biblio_id) + '" class="previewData">' + _("MARC") + '</a><br>' |
577 |
+ '<a href="/cgi-bin/koha/catalogue/showmarc.pl?viewas=card&id=' + encodeURIComponent(row.biblio_id) + '" class="previewData">' + _("Card") + '</a>'; |
578 |
return result; |
579 |
}, |
580 |
"orderable": false |
581 |
}, |
582 |
{ |
583 |
"data": "replacement_price" |
584 |
}, |
585 |
{ |
586 |
"data": "quantity", |
587 |
"orderable": true |
588 |
}, |
589 |
{ |
590 |
"data": "ecost" |
591 |
}, |
592 |
{ |
593 |
"data": function ( row, type, val, meta ) { |
594 |
return (row.quantity * row.ecost).format_price(); |
595 |
}, |
596 |
"orderable": false // FIXME: How can we do it in DBIC? |
597 |
}, |
598 |
{ |
599 |
"data": "fund_id", |
600 |
"render": function(data, type, row, meta) { |
601 |
if (type != 'display') return data.escapeHtml(); |
602 |
return row.fund.name.escapeHtml(); |
603 |
} |
604 |
}, |
605 |
{ |
606 |
"data": function( row, type, val, meta ) { |
607 |
return '<a href="orderreceive.pl?ordernumber=' |
608 |
+ encodeURIComponent(row.order_id) + '&invoiceid=[% invoiceid | uri %]' + '">' |
609 |
+ _("Receive") + '</a><br/>' |
610 |
+ '<a href="#" onclick="transfer_order_popup(' + row.order_id.escapeHtml() + '); return false;">' |
611 |
+ _("Transfer") + '</a>'; |
612 |
}, |
613 |
"orderable": false |
614 |
}, |
615 |
{ |
616 |
"data": function( row, type, val, meta ) { |
617 |
var result = ""; |
618 |
|
619 |
if ( row.current_holds_count > 0 ) { |
620 |
result += '<span class="button" title="' |
621 |
+ _("Can't cancel order, (%s) holds are linked with this order. Cancel holds first").format( row.holds_count.escapeHtml() ) + '">' |
622 |
+ _("Can't cancel order") + '</span><br/>'; |
623 |
} |
624 |
else { |
625 |
result += '<a href="/cgi-bin/koha/acqui/cancelorder.pl?ordernumber=' |
626 |
+ encodeURIComponent(row.order_id) |
627 |
+ '&biblionumber=' + encodeURIComponent(row.biblio_id) |
628 |
+ '&referrer=/cgi-bin/koha/acqui/parcel.pl?invoiceid=[% invoiceid | uri %]">' |
629 |
+ _("Cancel order") + '</a><br/>'; |
630 |
} |
631 |
|
632 |
if ( row.biblio != null ) { |
633 |
if ( row.items.length > 0 || |
634 |
row.biblio.active_orders_count > 1 || |
635 |
row.biblio.subscriptions_count > 0 || |
636 |
row.biblio.holds_count > 0 ) { // biblio can be deleted |
637 |
result += '<span class="button" title="' |
638 |
+ _("Can't delete catalog record, see constraints below") + '">' |
639 |
+ _("Can't cancel order and delete catalog record") + '</span><br>'; |
640 |
} |
641 |
else { |
642 |
result += '<a href="/cgi-bin/koha/acqui/cancelorder.pl?ordernumber=' |
643 |
+ encodeURIComponent(row.order_id) + '&biblionumber=' + encodeURIComponent(row.biblio_id) |
644 |
+ '&del_biblio=1&referrer="/cgi-bin/koha/acqui/parcel.pl?invoiceid=[$ invoiceid | uri ]">' |
645 |
+ _("Cancel order and catalog record") + '</a><br/>'; |
646 |
} |
647 |
|
648 |
if ( row.biblio.items_count - row.items.length > 0 ) { |
649 |
result += '<strong title="' |
650 |
+ _("Can't delete catalog record, because of %s existing item(s)").format(row.items.length) |
651 |
+'">' + (row.biblio.items_count - row.items.length) + _(" item(s) left") + '</strong><br/>'; |
652 |
} |
653 |
|
654 |
if ( row.biblio.active_orders_count > 1 ) { |
655 |
result += '<strong title="' |
656 |
+ _("Can't delete catalog record, delete other orders linked to it first") + '">' |
657 |
+ (row.biblio.active_orders_count - 1) + _(" order(s) left") + '</strong><br/>'; |
658 |
} |
659 |
|
660 |
if ( row.biblio.subscriptions_count > 0 ) { |
661 |
result += '<strong title="' + _("Can't delete catalog record, delete subscriptions first") + '">' |
662 |
+ _("%s subscription(s) left").format(row.biblio.subscriptions_count) |
663 |
+ '</strong><br>'; |
664 |
} |
665 |
|
666 |
if ( row.biblio.holds_count > 0 ) { |
667 |
result += '<strong title="' + _("Can't delete catalog record or order, cancel holds first") + '">' |
668 |
+ _("%s hold(s) left").format(row.biblio.holds_count) + '</strong>'; |
669 |
} |
670 |
} |
671 |
|
672 |
return result; |
673 |
}, |
674 |
"orderable": false |
675 |
} |
511 |
] |
676 |
] |
512 |
}); |
677 |
}); |
513 |
} |
678 |
|
514 |
|
679 |
$("#filterform").on("submit", function(e) { |
515 |
if ( $("#receivedt").length ) { |
680 |
e.preventDefault(); |
516 |
var receivedt = $("#receivedt").dataTable($.extend(true, {}, dataTablesDefaults, { |
681 |
// Update the datatable URL |
517 |
"bStateSave": true, |
682 |
var summary = $("#summaryfilter").val(); |
518 |
"iCookieDuration": 60*60*24*1000, // 1000 days |
683 |
var basket_name = $("#basketfilter").val(); |
519 |
"iDisplayLength": 10, |
684 |
var basket_group = $("#basketgroupnamefilter").val(); |
520 |
"aLengthMenu": [[5, 10, 20, 50, 100, -1], [5, 10, 20, 50, 100, _("All")]], |
685 |
var order_id = $("#orderfilter").val(); |
521 |
"aoColumnDefs": [ |
686 |
var ean = $("#eanfilter").val(); |
522 |
{ "aTargets": [ 5, -1 ], "bSortable": false, "bSearchable": false }, |
687 |
|
523 |
], |
688 |
var query_and = []; |
524 |
"aoColumns": [ |
689 |
|
525 |
{ "sType": "html" }, |
690 |
if (basket_name != "") { |
526 |
{ "sType": "html" }, |
691 |
query_and.push( { "basket.name": { "like": '%'+basket_name+'%' } } ); |
527 |
{ "sType": "html" }, |
692 |
} |
528 |
{ "sType": "num-html" }, |
693 |
if (basket_group != "") { |
529 |
{ "sType": "anti-the" }, |
694 |
query_and.push( { "basket.basket_group.name": { "like": '%'+basket_group+'%' } } ); |
530 |
null, |
695 |
} |
531 |
null, |
696 |
if (summary != "") { |
532 |
null, |
697 |
query_and.push( { "-or": [{"biblio.title": { "like": '%'+summary+'%' } }, |
533 |
null, |
698 |
{"biblio.author": { "like": '%'+summary+'%' } }, |
534 |
null, |
699 |
{"biblio.isbn": { "like": '%'+summary+'%' } } ] } ); |
535 |
null, |
700 |
} |
536 |
null, |
701 |
[% IF (UNIMARC) %] |
537 |
null |
702 |
if (ean != "") { |
538 |
], |
703 |
query_and.push( { "biblio.ean": ean } ); |
539 |
"sPaginationType": "full" |
704 |
} |
540 |
})); |
705 |
[% END %] |
541 |
} |
706 |
|
542 |
|
707 |
if ( !jQuery.isEmptyObject(query_and) || order_id != "" ) { |
543 |
// Keep filters from finishreceive.pl to parcel.pl |
708 |
|
544 |
$.cookie("filter_parcel_summary", $("#summaryfilter").val()); |
709 |
var query_params = []; |
545 |
$.cookie("filter_parcel_basketname", $("#basketfilter").val()); |
710 |
|
546 |
$.cookie("filter_parcel_orderno", $("#orderfilter").val()); |
711 |
if ( order_id != "" ) { |
547 |
$.cookie("filter_parcel_basketgroupname", $("#basketgroupnamefilter").val()); |
712 |
query_params.push("order_id="+order_id); |
548 |
$.cookie("filter_parcel_ean", $("#eanfilter").val()); |
713 |
} |
549 |
|
714 |
|
550 |
$("#filterform").on('submit', function(){ |
715 |
if ( !jQuery.isEmptyObject(query_and) ) { |
|
|
716 |
query_and.push(base_query); |
717 |
query_params.push('q=' + encodeURI(JSON.stringify({ "-and": query_and }))); |
718 |
} |
719 |
|
720 |
pending_orders_table.api().ajax.url( pending_orders_url + '&' + query_params.join("&") ); |
721 |
} |
722 |
else { |
723 |
pending_orders_table.api().ajax.url( pending_orders_url + '&q=' + encodeURI(JSON.stringify(base_query)) ); |
724 |
} |
725 |
pending_orders_table.api().ajax.reload( null, false ); |
726 |
}); |
727 |
|
728 |
$('#clear_form_filters').on("click", function(){ |
729 |
$(this).closest('form').find("input[type=text], textarea").val(""); |
730 |
pending_orders_table.api().ajax.url(pending_orders_url + '&q=' + encodeURI(JSON.stringify(base_query))).draw(); |
731 |
}); |
732 |
|
733 |
// Keep filters from finishreceive.pl to parcel.pl |
551 |
$.cookie("filter_parcel_summary", $("#summaryfilter").val()); |
734 |
$.cookie("filter_parcel_summary", $("#summaryfilter").val()); |
552 |
$.cookie("filter_parcel_basketname", $("#basketfilter").val()); |
735 |
$.cookie("filter_parcel_basketname", $("#basketfilter").val()); |
553 |
$.cookie("filter_parcel_orderno", $("#orderfilter").val()); |
736 |
$.cookie("filter_parcel_orderno", $("#orderfilter").val()); |
554 |
$.cookie("filter_parcel_basketgroupname", $("#basketgroupnamefilter").val()); |
737 |
$.cookie("filter_parcel_basketgroupname", $("#basketgroupnamefilter").val()); |
555 |
$.cookie("filter_parcel_ean", $("#eanfilter").val()); |
738 |
$.cookie("filter_parcel_ean", $("#eanfilter").val()); |
556 |
}); |
739 |
|
|
|
740 |
$("#filterform").on('submit', function(){ |
741 |
$.cookie("filter_parcel_summary", $("#summaryfilter").val()); |
742 |
$.cookie("filter_parcel_basketname", $("#basketfilter").val()); |
743 |
$.cookie("filter_parcel_orderno", $("#orderfilter").val()); |
744 |
$.cookie("filter_parcel_basketgroupname", $("#basketgroupnamefilter").val()); |
745 |
$.cookie("filter_parcel_ean", $("#eanfilter").val()); |
746 |
}); |
557 |
|
747 |
|
558 |
$(".previewData").on("click", function(e){ |
748 |
$(".previewData").on("click", function(e){ |
559 |
e.preventDefault(); |
749 |
e.preventDefault(); |
Lines 563-590
Link Here
|
563 |
$("#dataPreview .modal-body").load(page + " div"); |
753 |
$("#dataPreview .modal-body").load(page + " div"); |
564 |
$('#dataPreview').modal({show:true}); |
754 |
$('#dataPreview').modal({show:true}); |
565 |
}); |
755 |
}); |
|
|
756 |
|
566 |
$("#dataPreview").on("hidden.bs.modal", function(){ |
757 |
$("#dataPreview").on("hidden.bs.modal", function(){ |
567 |
$("#dataPreviewLabel").html(""); |
758 |
$("#dataPreviewLabel").html(""); |
568 |
$("#dataPreview .modal-body").html("<div id=\"loading\"><img src=\"[% interface | html %]/[% theme | html %]/img/spinner-small.gif\" alt=\"\" /> "+_("Loading")+"</div>"); |
759 |
$("#dataPreview .modal-body").html("<div id=\"loading\"><img src=\"[% interface | html %]/[% theme | html %]/img/spinner-small.gif\" alt=\"\" /> "+_("Loading")+"</div>"); |
569 |
}); |
760 |
}); |
|
|
761 |
}); |
762 |
|
763 |
// Case-insensitive version of jquery's contains function |
764 |
jQuery.extend(jQuery.expr[':'], { |
765 |
icontains : "jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase())>=0" |
766 |
}); |
570 |
|
767 |
|
|
|
768 |
// Contains exactly function |
769 |
jQuery.extend(jQuery.expr[':'], { |
770 |
containsExactly: "$(a).text() == m[3]" |
571 |
}); |
771 |
}); |
572 |
|
772 |
|
573 |
// Case-insensitive version of jquery's contains function |
773 |
function transfer_order_popup(ordernumber) { |
574 |
jQuery.extend(jQuery.expr[':'], { |
774 |
var url = "/cgi-bin/koha/acqui/transferorder.pl?" |
575 |
icontains : "jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase())>=0" |
775 |
+ "ordernumber=" + ordernumber |
576 |
}); |
776 |
window.open(url, 'TransferOrder'); |
577 |
|
777 |
} |
578 |
// Contains exactly function |
|
|
579 |
jQuery.extend(jQuery.expr[':'], { |
580 |
containsExactly: "$(a).text() == m[3]" |
581 |
}); |
582 |
|
583 |
function transfer_order_popup(ordernumber) { |
584 |
var url = "/cgi-bin/koha/acqui/transferorder.pl?" |
585 |
+ "ordernumber=" + ordernumber |
586 |
window.open(url, 'TransferOrder'); |
587 |
} |
588 |
</script> |
778 |
</script> |
589 |
[% END %] |
779 |
[% END %] |
590 |
|
780 |
|
591 |
- |
|
|