ba4fc86a3f53e48460d2ab6749b305d37cd60707
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / acqui / parcel.tt
1 [% USE currency = format('%.2f') -%]
2 [% INCLUDE 'doc-head-open.inc' %]
3 <title>Koha &rsaquo; Acquisitions &rsaquo; [% IF ( date ) %]
4             Receipt summary for [% name %] [% IF ( invoice ) %]invoice [% invoice %][% END %] on [% formatteddatereceived %][% ELSE %]Receive orders from [% name %][% END %]</title>
5 <link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" />
6 [% INCLUDE 'doc-head-close.inc' %]
7 [% INCLUDE 'datatables.inc' %]
8 <script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.dataTables.columnFilter.js"></script>
9 [% INCLUDE 'greybox.inc' %]
10 <script type="text/javascript">
11 //<![CDATA[
12
13     dt_overwrite_html_sorting_localeCompare();
14
15     $(document).ready(function(){
16       if ( $("#pendingt").length ) {
17         var pendingt = $("#pendingt").dataTable($.extend(true, {}, dataTablesDefaults, {
18             "bStateSave": true,
19             "iCookieDuration": 60*60*24*1000, // 1000 days
20             "aLengthMenu": [[10, 20, 50, 100, -1], [10, 20, 50, 100, "All"]],
21             "aoColumnDefs": [
22                 { "aTargets": [ 3, 8, 9 ], "bSortable": false, "bSearchable": false },
23             ],
24             "aoColumns": [
25                 { "sType": "num-html" },
26                 { "sType": "num-html" },
27                 { "sType": "html" },
28                 null,
29                 null,
30                 null,
31                 null,
32                 null,
33                 null,
34                 null,
35             ],
36             'bAutoWidth': false,
37             "sPaginationType": "four_button"
38         } )
39         ).columnFilter({
40             sPlaceHolder: "head:after",
41             aoColumns: [
42                 { type: "text" },
43                 { type: "text" },
44                 { type: "text" },
45                 null,
46                 { type: "text" },
47                 { type: "text" },
48                 { type: "text" },
49                 { type: "text" },
50                 null,
51                 null
52             ]
53         });
54       }
55
56       if ( $("#receivedt").length ) {
57         var receivedt = $("#receivedt").dataTable($.extend(true, {}, dataTablesDefaults, {
58             "bStateSave": true,
59             "iCookieDuration": 60*60*24*1000, // 1000 days
60             "aLengthMenu": [[10, 20, 50, 100, -1], [10, 20, 50, 100, "All"]],
61             "aoColumnDefs": [
62                 { "aTargets": [ 4, -1 ], "bSortable": false, "bSearchable": false },
63             ],
64             "aoColumns": [
65                 { "sType": "num-html" },
66                 { "sType": "num-html" },
67                 { "sType": "html" },
68                 { "sType": "html" },
69                 null,
70                 null,
71                 null,
72                 null,
73                 null,
74                 null,
75                 null
76             ],
77             "sPaginationType": "four_button"
78         } ) );
79       }
80
81     });
82
83      // Case-insensitive version of jquery's contains function
84      jQuery.extend(jQuery.expr[':'], {
85             icontains : "jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase())>=0"
86      });
87
88      // Contains exactly function
89      jQuery.extend(jQuery.expr[':'], {
90           containsExactly: "$(a).text() == m[3]"
91      });
92
93 //]]>
94 </script>
95 <script type="text/javascript">
96 //<![CDATA[
97             function confirm_delete_item(ordernumber, basketno, biblionumber) {
98                 var is_confirmed = confirm(_("Are you sure you want to delete this order ?"));
99                 if (is_confirmed) {
100                     window.location = "addorder.pl?ordernumber="+ordernumber+"&basketno="+basketno+"&quantity=0&biblionumber="+biblionumber+"&invoiceid=[% invoiceid %]";
101                 }
102             }
103             
104             function confirm_delete_biblio(ordernumber, basketno, biblionumber) {
105                 var is_confirmed = confirm(_("Are you sure you want to delete this catalog record and order ?"));
106                 if (is_confirmed) {
107                     window.location = "addorder.pl?ordernumber="+ordernumber+"&basketno="+basketno+"&quantity=0&biblionumber="+biblionumber+"&delbiblio=1&invoiceid=[% invoiceid %]";
108                     }
109             }
110
111             function transfer_order_popup(ordernumber) {
112                 var url = "/cgi-bin/koha/acqui/transferorder.pl?"
113                     + "ordernumber=" + ordernumber
114                 window.open(url, 'TransferOrder');
115             }
116
117 //]]>
118 </script>
119 </head>
120 <body id="acq_parcel" class="acq">
121 [% INCLUDE 'header.inc' %]
122 [% INCLUDE 'acquisitions-search.inc' %]
123
124 <div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a> &rsaquo;
125     [% IF ( datereceived ) %]
126         Receipt summary for <i>[% name %]</i>
127         [% IF ( invoice ) %]
128             <i>[ [% invoice %] ]</i>
129         [% END %]
130         on <i>[% formatteddatereceived %]</i>
131     [% ELSE %]
132         Receive orders from [% name %]
133     [% END %]
134 </div>
135
136 <div id="doc3" class="yui-t2">
137
138    <div id="bd">
139         <div id="yui-main">
140         <div class="yui-b">
141         [% IF ( receive_error ) %]
142         <div class="dialog alert">
143         <h3>Error adding items:</h3>
144         <ul>
145         [% FOREACH error_loo IN error_loop %]
146                 <li>[% error_loo.error_param %][% IF ( error_loo.error_duplicate_barcode ) %]Duplicate Barcode[% END %] <!-- todo: other error conditions come here. --></li>
147         [% END %]
148         </ul>
149         </div>
150         [% END %]
151     <h1>
152         [% IF ( datereceived ) %]
153             Receipt summary for <i>[% name %]</i> [% IF ( invoice ) %] <i> [ [% invoice %] ] </i>[% END %] on <i>[% formatteddatereceived %]</i>
154         [% ELSE %]
155             Receive orders from [% name %]
156         [% END %]
157     </h1>
158
159     [% IF ( success_delorder ) %]
160     <div class="dialog message">The order has been successfully canceled.</div>
161     [% ELSE %]
162         [% IF ( error_delitem ) %]
163             <div class="dialog alert">The order has been canceled, although one or more items could not have been deleted.</div>
164         [% END %]
165         [% IF ( error_delbiblio ) %]
166             <div class="dialog alert">The order has been canceled, although the record has not been deleted.</div>
167         [% END %]
168     [% END %]
169
170     [% IF (error_cancelling_receipt) %]
171       <div class="dialog error">
172       Cannot cancel receipt. Possible reasons :
173       <ul>
174         <li>
175           The order line you trying to cancel was created from a partial receipt
176           of another order line which is already received. Try to cancel this
177           one first and retry.
178         </li>
179         <li>
180           The order line you trying to cancel was created from a partial receipt
181           of another order line which has been deleted. Cancellation is not
182           possible.
183         </li>
184       </ul>
185       </div>
186     [% END %]
187
188     [% IF error_invoice_not_known %]
189         <div class="dialog error">
190             The invoice referenced by this invoiceid does not exist.
191         </div>
192     [% END %]
193
194 [% UNLESS no_orders_to_display %]
195 <div id="acqui_receive_summary">
196 <p><strong>Invoice number:</strong> [% invoice %] <strong>Received by:</strong> [% loggedinusername %] <strong>On:</strong> [% formatteddatereceived %]</p>
197 </div>
198 [% UNLESS (invoiceclosedate) %]
199   <div id="acqui_receive_search">
200     <h3>Pending orders</h3>
201
202     [% IF ( loop_orders ) %]
203       <table id="pendingt">
204         <thead>
205           <tr>
206             <th>Basket search</th>
207             <th>Order line search</th>
208             <th>Summary search</th>
209             <th>&nbsp;</th>
210             <th>Quantity search</th>
211             <th>Unit cost search</th>
212             <th>Order cost search</th>
213             <th>Fund search</th>
214             <th>&nbsp;</th>
215             <th>&nbsp;</th>
216           </tr>
217           <tr>
218             <th>Basket</th>
219             <th>Order line</th>
220             <th>Summary</th>
221             <th>View record</th>
222             <th>Quantity</th>
223             <th>Unit cost</th>
224             <th>Order cost</th>
225             <th>Fund</th>
226             <th>&nbsp;</th>
227             <th>&nbsp;</th>
228           </tr>
229         </thead>
230         <tbody class="filterclass">
231         [% FOREACH loop_order IN loop_orders %]
232             <tr>
233                 <td class="basketfilterclass">[% loop_order.basketname %] (<a href="/cgi-bin/koha/acqui/basket.pl?basketno=[% loop_order.basketno %]">[% loop_order.basketno %]</a>)</td>
234                 <td class="orderfilterclass"><a href="neworderempty.pl?ordernumber=[% loop_order.ordernumber %]&amp;booksellerid=[% loop_order.booksellerid %]">[% loop_order.ordernumber %]</a></td>
235                 <td class="summaryfilterclass">
236                   <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% loop_order.biblionumber %]">[% loop_order.title |html %]</a>
237                 [% IF ( loop_order.author ) %] by [% loop_order.author %][% END %]
238                 [% IF ( loop_order.isbn ) %] &ndash; [% loop_order.isbn %][% END %]
239                 [% IF ( loop_order.publishercode ) %]<br />Publisher :[% loop_order.publishercode %][% END %]
240                 [% IF ( loop_order.suggestionid ) %]
241                     <br/>
242                     Suggested by: [% loop_order.surnamesuggestedby %][% IF ( loop_order.firstnamesuggestedby ) %], [% loop_order.firstnamesuggestedby %] [% END %]
243                     (<a href="/cgi-bin/koha/suggestion/suggestion.pl?suggestionid=[% loop_order.suggestionid %]&amp;op=show">suggestion #[% loop_order.suggestionid %]</a>)
244                 [% END %]
245                 <br />
246                 [% IF ( loop_order.notes ) %]
247                     <p class="ordernote"><strong>Note: </strong>[% loop_order.notes|html %] [<a href="/cgi-bin/koha/acqui/modordernotes.pl?ordernumber=[% loop_order.ordernumber %]&amp;referrer=/cgi-bin/koha/acqui/parcel.pl%3Finvoiceid=[% invoiceid %]">Change note</a>]</p>
248                 [% ELSE %]
249                     [<a href="/cgi-bin/koha/acqui/modordernotes.pl?ordernumber=[% loop_order.ordernumber %]&amp;referrer=/cgi-bin/koha/acqui/parcel.pl%3Finvoiceid=[% invoiceid %]">Add note</a>]
250                 [% END %]
251                 </td>
252                 <td><a href="/cgi-bin/koha/catalogue/showmarc.pl?id=[% loop_order.biblionumber %]" title="MARC" rel="gb_page_center[600,500]">MARC</a> | <a href="/cgi-bin/koha/catalogue/showmarc.pl?viewas=card&amp;id=[% loop_order.biblionumber %]" title="MARC" rel="gb_page_center[600,500]">Card</a></td>
253                 <td>[% loop_order.quantity %]</td>
254                 <td>[% loop_order.ecost %]</td>
255                 <td>[% loop_order.ordertotal %]</td>
256                 <td>[% loop_order.budget_name %]</td>
257                                 <td>
258                               <a href="orderreceive.pl?ordernumber=[% loop_order.ordernumber %]&amp;invoiceid=[% invoiceid %]">Receive</a>
259                     <br />
260                     <a href="#" onclick="transfer_order_popup([% loop_order.ordernumber %]); return false;">Transfer</a>
261                                 </td>
262                                 <td>
263                         [% IF ( loop_order.left_holds_on_order ) %]
264                         <span class="button" title="Can't delete order, ([% loop_order.holds_on_order %]) holds are linked with this order cancel holds first">Can't delete order</span><br>
265                         [% ELSE %]
266                         <a href="javascript:confirm_delete_item([% loop_order.ordernumber %], [% loop_order.basketno %], [% loop_order.biblionumber %])" class="button">Delete order</a><br>
267                         [% END %]
268                         [% IF ( loop_order.can_del_bib ) %]
269                         <a href="javascript:confirm_delete_biblio([% loop_order.ordernumber %], [% loop_order.basketno %], [% loop_order.biblionumber %])" class="button">Delete order and catalog record</a><br>
270                         [% ELSE %]
271                         <span class="button" title="Can't delete catalog record, see constraints below">Can't delete order and catalog record</span><br>
272                         [% END %]
273                         [% IF ( loop_order.left_item ) %]
274                         <b title="Can't delete catalog record, because of [% loop_order.items %] existing item(s)" >[% loop_order.items %] item(s) left</b><br>
275                         [% END %]
276                         [% IF ( loop_order.left_biblio ) %]
277                         <b title="Can't delete catalog record, delete other orders linked to it first">[% loop_order.biblios %] order(s) left</b><br>
278                         [% END %]
279                         [% IF ( loop_order.left_subscription ) %]
280                         <b title="Can't delete catalog record, delete subscriptions first">[% loop_order.subscriptions %] subscription(s) left</b><br>
281                         [% END %]
282                         [% IF ( loop_order.left_holds ) %]
283                         <b title="Can't delete catalog record or order, cancel holds first">[% loop_order.holds %] hold(s) left</b>
284                         [% END %]
285                     </td>
286                 </tr>
287         [% END %]
288         </tbody>
289       </table>
290     [% ELSE %]There are no pending orders.[% END %]
291   </div>
292 [% ELSE %]
293     <p>
294         Invoice is closed, so you can't receive orders anymore.
295         <a href="/cgi-bin/koha/acqui/invoice.pl?op=reopen&invoiceid=[% invoiceid %]&referer=/cgi-bin/koha/acqui/parcel.pl%3Finvoiceid=[% invoiceid %]">Reopen it</a>.
296     </p>
297 [% END %]
298
299 <div id="acqui_receive_receivelist">
300     <h3>Already received</h3>
301
302
303    [% IF ( loop_received ) %]
304        [% SET funds = {} %]
305        [% SET estimated_total = 0 %]
306
307        [% FOREACH loop_receive IN loop_received %]
308            [% SET estimated_total = estimated_total + ( loop_receive.ecost * loop_receive.quantityreceived ) %]
309            [% SET funds.${ loop_receive.budget.budget_name }.estimated = funds.${ loop_receive.budget.budget_name }.estimated + ( loop_receive.ecost * loop_receive.quantityreceived )%]
310            [% SET funds.${ loop_receive.budget.budget_name }.actual = funds.${ loop_receive.budget.budget_name }.actual + loop_receive.total %]
311        [% END %]
312
313    <form action="/cgi-bin/koha/acqui/parcel.pl" method="get" name="orderform">
314     <table id="receivedt">
315         <thead>
316             <tr>
317                 <th>Basket</th>
318                 <th>Order Line</th>
319                 <th>Holds</th>
320                 <th>Summary</th>
321                 <th>View record</th>
322                 <th>Quantity</th>
323                 <th>Fund</th>
324                 <th>Est cost</th>
325                 <th>Actual cost</th>
326                 <th>TOTAL</th>
327         <th></th>
328             </tr>
329     </thead>
330     <tfoot>
331         [% FOREACH key IN funds.keys.sort %]
332             <tr>
333                 <td colspan="6" class="total font-weight-normal"><i>(GST exc.)</i></td>
334                 <td><i>Subtotal for</i> [% key %]</td>
335                 <td>[% currency( funds.$key.estimated ) %]</td>
336                 <td>[% currency( funds.$key.actual ) %]</td>
337                 <td>&nbsp;</td>
338                 <td>&nbsp;</td>
339             </tr>
340         [% END %]
341         <tr>
342             <th colspan="9" class="total">Total tax exc.</th>
343             <th>[% total_gste %]</th>
344             <th></th>
345         </tr>
346         [% FOREACH book_foot IN book_foot_loop %]
347             <tr>
348                 <th colspan="9">Total (GST [% book_foot.gstrate * 100 | format ("%.1f") %]%)</th>
349                 <th>[% book_foot.value %]</th>
350                 <th></th>
351             </tr>
352         [% END %]
353         <tr>
354             <th colspan="9" class="total">Total tax inc.</th>
355             <th>[% total_gsti %]</th>
356             <th></th>
357         </tr>
358     </tfoot>
359     <tbody class="filterclass">
360         [% FOREACH loop_receive IN loop_received %]
361             <tr>
362                 <td>[% loop_receive.basketname %] (<a href="/cgi-bin/koha/acqui/basket.pl?basketno=[% loop_receive.basketno %]">[% loop_receive.basketno %]</a>)</td>
363                 <td><a href="neworderempty.pl?ordernumber=[% loop_receive.ordernumber %]&amp;booksellerid=[% booksellerid %]">[% loop_receive.ordernumber %]</a></td>
364                 <td>[% IF loop_receive.holds %]<span class="error"><a href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% loop_receive.biblionumber %]">[% loop_receive.holds %]</a></span>[% END %]</td>
365                 <td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% loop_receive.biblionumber %]">[% loop_receive.title |html %]</a>
366                 [% IF ( loop_receive.author ) %] / [% loop_receive.author %][% END %]
367                 [% IF ( loop_receive.isbn ) %] - [% loop_receive.isbn %][% END %]
368                 [% IF ( loop_receive.publishercode ) %]<br />Publisher :[% loop_receive.publishercode %][% END %]
369                 [% IF ( loop_receive.suggestionid ) %]
370                     <br/>
371                     Suggested by: [% loop_receive.surnamesuggestedby %][% IF ( loop_receive.firstnamesuggestedby ) %], [% loop_receive.firstnamesuggestedby %] [% END %]
372                     (<a href="/cgi-bin/koha/suggestion/suggestion.pl?suggestionid=[% loop_receive.suggestionid %]&amp;op=show">suggestion #[% loop_receive.suggestionid %]</a>)
373                 [% END %]
374                 </td>
375                 <td><a href="/cgi-bin/koha/catalogue/showmarc.pl?id=[% loop_receive.biblionumber %]" title="MARC" rel="gb_page_center[600,500]">MARC</a> | <a href="/cgi-bin/koha/catalogue/showmarc.pl?viewas=card&amp;id=[% loop_receive.biblionumber %]" title="MARC" rel="gb_page_center[600,500]">Card</a></td>
376                 <td>[% loop_receive.quantityreceived %]</td>
377                 <td>[% loop_receive.budget.budget_name %]</td>
378                 <td>[% loop_receive.ecost %]</td>
379                 <td>[% loop_receive.unitprice %]</td>
380                 <td>[% loop_receive.total %]</td>
381                 <td>
382                     [% IF (loop_receive.cannot_cancel) %]
383                         [% span_title = BLOCK %]
384                             Cannot cancel receipt of this order line because it
385                             was created from a partial receipt of order line no.
386                             [% loop_receive.parent_ordernumber %], which is
387                             already received. Try cancelling this one first and
388                             retry.
389                         [% END %]
390                         <span title="[% span_title | collapse %]">
391                             Can't cancel receipt
392                         </span>
393                     [% ELSE %]
394                         <a href="/cgi-bin/koha/acqui/parcel.pl?invoiceid=[% invoiceid %]&op=cancelreceipt&ordernumber=[% loop_receive.ordernumber %]">Cancel receipt</a>
395                     [% END %]
396                 </td>
397             </tr>
398             [% END %]
399         </tbody>
400     </table>
401     </form>
402         [% ELSE %]There are no received orders.[% END %]
403 </div>
404
405 [% IF (invoiceclosedate) %]
406     <a href="/cgi-bin/koha/acqui/invoice.pl?invoiceid=[% invoiceid %]">View invoice</a>
407 [% ELSE %]
408     <form action="/cgi-bin/koha/acqui/invoice.pl" method="get">
409         <input type="hidden" name="invoiceid" value="[% invoiceid %]" />
410         <fieldset class="action">
411             <input type="submit" value="Finish receiving" />
412         </fieldset>
413     </form>
414 [% END %]
415
416 [% END %]
417
418 </div>
419 </div>
420
421
422 <div class="yui-b">
423 <form action="/cgi-bin/koha/acqui/parcel.pl" id="filterform" method="post">
424   <fieldset class="brief">
425     <h4>Filter</h4>
426     <ol>
427       <li>
428         <label for="summaryfilter">ISBN, author or title :</label>
429         <input type="text" name="summaryfilter" id="summaryfilter" value="[% summaryfilter %]"/>
430       </li>
431       <li>
432         <label for="basketfilter">Basket :</label>
433         <input type="text" name="basketfilter" id="basketfilter" value="[% basketfilter %]"/>
434       </li>
435       <li>
436           <label for="basketgroupnamefilter">Basket group name :</label>
437           <input type="text" name="basketgroupnamefilter" id="basketgroupnamefilter" value="[% basketgroupnamefilter %]" />
438       </li>
439       <li>
440         <label for="orderfilter">Order line :</label>
441         <input type="text" name="orderfilter" id="orderfilter" value="[% orderfilter %]"/>
442       </li>
443       [% IF (UNIMARC) %]
444         <li>
445           <label for="eanfilter">EAN :</label>
446           <input type="text" name="eanfilter" id="eanfilter" value="[% eanfilter %]"/>
447         </li>
448       [% END %]
449     </ol>
450     <fieldset class="action">
451       <input type="hidden" value="search" name="op" />
452       <input type="hidden" value="[% invoiceid %]" name="invoiceid" />
453       <input type="submit" value="Filter" />
454       <a href="/cgi-bin/koha/acqui/parcel.pl?invoiceid=[% invoiceid %]">Clear</a>
455     </fieldset>
456   </fieldset>
457 </form>
458 [% INCLUDE 'acquisitions-menu.inc' %]
459 </div>
460 </div>
461 [% INCLUDE 'intranet-bottom.inc' %]