"Fossies" - the Fresh Open Source Software Archive

Member "koha-19.11.15/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/orderreceive.tt" (23 Feb 2021, 21629 Bytes) of package /linux/misc/koha-19.11.15.tar.gz:


The requested HTML page contains a <FORM> tag that is unusable on "Fossies" in "automatic" (rendered) mode so that page is shown as HTML source code (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1 [% USE raw %]
    2 [% USE Asset %]
    3 [% USE KohaDates %]
    4 [% USE Branches %]
    5 [% USE Price %]
    6 [% SET footerjs = 1 %]
    7 [% INCLUDE 'doc-head-open.inc' %]
    8 <title>Koha &rsaquo; Acquisitions &rsaquo; Receipt summary for : [% name | html %] [% IF ( invoice ) %]invoice, [% invoice | html %][% END %]</title>
    9 [% INCLUDE 'doc-head-close.inc' %]
   10 </head>
   11 
   12 <body id="acq_orderreceive" class="acq">
   13 [% INCLUDE 'header.inc' %]
   14 [% INCLUDE 'acquisitions-search.inc' %]
   15 
   16 <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; <a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid | html %]">[% name | html %]</a> &rsaquo; Receive items from : [% name | html %] [% IF ( invoice ) %][[% invoice | html %]][% END %] (order #[% ordernumber | html %])</div>
   17 
   18 <div class="main container-fluid">
   19     <div class="row">
   20         <div class="col-sm-10 col-sm-push-2">
   21             <main>
   22 
   23 <h1>Receive items from : [% name | html %] [% IF ( invoice ) %][[% invoice | html %]] [% END %] (order #[% ordernumber | html %])</h1>
   24 
   25 [% IF ( count ) %]
   26     <form action="/cgi-bin/koha/acqui/finishreceive.pl" class="noEnterSubmit" method="post" onsubmit="return Check(this);">
   27 <div class="row">
   28 <div class="col-sm-6">
   29     <div class="dialog alert order_error" style="display:none"></div>
   30 
   31     <fieldset class="rows">
   32     <legend>Catalog details</legend>
   33     <ol><li><span class="label">Title: </span><span class="title">[% title | html %]</span></li>
   34     <li> <span class="label">Author: </span>
   35         [% author | html %]</li>
   36     <li><span class="label">Copyright: </span>
   37         [% copyrightdate | html %]</li>
   38     <li> <span class="label">ISBN: </span>
   39         [% isbn | html %]</li>
   40     <li> <span class="label">Series: </span>
   41         [% seriestitle | html %]</li>
   42     </ol>
   43 	</fieldset>
   44 
   45     [% IF ( suggestionid ) %]
   46         <fieldset class="rows">
   47         <legend>Suggestion</legend>
   48         <ol>
   49           <li>
   50             <span class="label">Suggested by: </span>
   51             [% surnamesuggestedby | html %][% IF ( firstnamesuggestedby ) %], [% firstnamesuggestedby | html %][% END %] (<a href="/cgi-bin/koha/suggestion/suggestion.pl?suggestionid=[% suggestionid | uri %]&amp;op=show">suggestion #[% suggestionid | html %]</a>)
   52           </li>
   53         </ol>
   54         </fieldset>
   55     [% END %]
   56 
   57     [% IF subscriptionid and orders.count %]
   58         <fieldset class="rows">
   59             <legend>Receipt history for this subscription</legend>
   60             <table id="orders">
   61                 <thead>
   62                     <tr>
   63                         <th>Invoice</th>
   64                         <th>Order number</th>
   65                         <th class="title-string">Creation date</th>
   66                         <th class="title-string">Receive date</th>
   67                         <th>Quantity received</th>
   68                         <th class="title-string">Status</th>
   69                         <th title="Actual cost tax exc. / Actual cost tax inc.">Spent</th>
   70                         <th>Internal note</th>
   71                     </tr>
   72                 </thead>
   73                 <tbody>
   74                 [% FOR order IN orders %]
   75                     <tr>
   76                         <td>
   77                         [% IF order.invoice %]
   78                             [% IF CAN_user_acquisition %]
   79                                 <a href="/cgi-bin/koha/acqui/invoice.pl?invoiceid=[% order.invoiceid | uri %]" title="Invoice detail page">
   80                                    [% order.invoice.invoicenumber | html %]</a>
   81                             [% ELSE %]
   82                                 [% order.invoice.invoicenumber | html %]
   83                             [% END %]
   84                         [% END %]
   85                         </td>
   86                         <td>[% order.ordernumber | html %]</td>
   87                         <td><span title="[% order.basket.creationdate | uri %]">[% order.basket.creationdate | $KohaDates%]</span></td>
   88                         <td>[% IF order.datereceived %]<span title="[% order.datereceived | uri %]">[% order.datereceived | $KohaDates %]</span>[% END %]</td>
   89                         <td>[% order.quantityreceived | html %]</td>
   90                         <td>
   91                           [% SWITCH order.orderstatus %]
   92                           [%# FIXME We should only see/display Complete here, right? %]
   93                             [% CASE 'new' %]<span title="status_1">New</span>
   94                             [% CASE 'ordered' %]<span title="status_2">Ordered</span>
   95                             [% CASE 'partial' %]<span title="status_3">Partial</span>
   96                             [% CASE 'complete' %]<span title="status_4">Complete</span>
   97                             [% CASE 'cancelled' %]<span title="status_5">Cancelled</span>
   98                           [% END %]
   99                         </td>
  100                         <td>
  101                             [% IF order.datereceived %][%# FIXME Should only be true, right? %]
  102                                 [%# FIXME What if unitprice has not been filled? %]
  103                                 [% order.unitprice_tax_excluded * order.quantity | $Price %] / [% order.unitprice_tax_included * order.quantity | $Price %]
  104                             [% END %]
  105                         </td>
  106                         <td>[% order.order_internalnote | html %]</td>
  107                     </tr>
  108                 [% END %]
  109                 </tbody>
  110             </table>
  111         </fieldset>
  112     [% ELSIF (AcqCreateItemReceiving) %]
  113         <div id="items_list" style="display:none">
  114             <p><b>Items list</b></p>
  115             <div style="width:100%;overflow:auto;">
  116                 <table>
  117                     <thead>
  118                         <tr>
  119                             <th>Actions</th>
  120                             <th>Barcode</th>
  121                             <th>Home library</th>
  122                             <th>Holding library</th>
  123                             <th>Not for loan</th>
  124                             <th>Restricted</th>
  125                             <th>Location</th>
  126                             <th>Call number</th>
  127                             <th>Copy number</th>
  128                             <th>Inventory number</th>
  129                             <th>Collection</th>
  130                             <th>Item type</th>
  131                             <th>Materials</th>
  132                             <th>Notes</th>
  133                         </tr>
  134                     </thead>
  135                     <tbody>
  136                     </tbody>
  137                 </table>
  138             </div>
  139         </div>
  140 
  141         [% UNLESS subscriptionid %]
  142           <fieldset class="rows" id="itemfieldset">
  143               <legend>Item</legend>
  144               [% IF ( NoACQframework ) %]
  145                   <p class="required">
  146                       No ACQ framework, using default. You should create a
  147                       framework with code ACQ, the items framework would be
  148                       used
  149                   </p>
  150               [% END %]
  151               <div id="outeritemblock"></div>
  152           </fieldset>
  153         [% END %]
  154     [% ELSIF (AcqCreateItem == 'ordering') %]
  155         [% IF (items.size) %]
  156             <h5>Items</h5>
  157             <div style="width:100%;overflow:auto">
  158                 <table>
  159                     <thead>
  160                         <tr>
  161                             <th>Receive?</th>
  162                             <th>&nbsp;</th>
  163                             <th>Barcode</th>
  164                             <th>Home library</th>
  165                             <th>Current location</th>
  166                             <th>Not for loan</th>
  167                             <th>Restricted</th>
  168                             <th>Location</th>
  169                             <th>Call number</th>
  170                             <th>Copy number</th>
  171                             <th>Inventory number</th>
  172                             <th>Collection</th>
  173                             <th>Item type</th>
  174                             <th>Materials</th>
  175                             <th>Notes</th>
  176                         </tr>
  177                     </thead>
  178                     <tbody>
  179                         [% FOREACH item IN items %]
  180                             <tr id="item_[% item.itemnumber | html %]">
  181                                 <td style="text-align:center"><input type="checkbox" name="items_to_receive" value="[% item.itemnumber | html %]" /></td>
  182                                 <td><a style="cursor:pointer" onclick="PopupEditPage([% item.biblionumber | html %],[% item.itemnumber | html %]);">Edit</a></td>
  183                                 <td>[% item.barcode | html %]</td>
  184                                 <td>[% Branches.GetName( item.homebranch ) | html %]</td>
  185                                 <td>[% Branches.GetName( item.holdingbranch ) | html %]</td>
  186                                 <td>[% item.notforloan | html %]</td>
  187                                 <td>[% item.restricted | html %]</td>
  188                                 <td><span class="shelvingloc">[% item.location | html %]</span></td>
  189                                 <td>[% item.itemcallnumber | html %]</td>
  190                                 <td>[% item.copynumber | html %]</td>
  191                                 <td>[% item.stocknumber | html %]</td>
  192                                 <td>[% item.collection | html %]</td>
  193                                 <td>[% item.itemtype | html %]</td>
  194                                 <td>[% item.materials | html %]</td>
  195                                 <td>[% item.itemnotes | html %]</td>
  196                             </tr>
  197                         [% END %]
  198                     </tbody>
  199                 </table>
  200             </div>
  201         [% END %]
  202     [% END %]
  203     <input type="hidden" name="biblionumber" value="[% biblionumber | html %]" />
  204     <input type="hidden" name="invoiceid" value="[% invoiceid | html %]" />
  205     <input type="hidden" name="ordernumber" value="[% ordernumber | html %]" />
  206     <input type="hidden" name="booksellerid" value="[% booksellerid | html %]" />
  207 	</div>
  208     <div class="col-sm-6">
  209     <fieldset class="rows">
  210     <legend>Accounting details</legend>
  211         <ol>
  212             <li>
  213                 <label for="datereceived">Date received: </label>
  214                 <input type="text" size="10" id="datereceived" name="datereceived" value="[% datereceived | $KohaDates %]" class="datepicker" />
  215             </li>
  216        <li><label for="bookfund">Fund: </label><select id="bookfund" name="bookfund">
  217             <option value="">Keep current ([% budget_period_description | html %] - [% bookfund | html %])</option>
  218             [% FOREACH period IN budget_loop %]
  219                 <optgroup label="[% period.description | html %]">
  220                 [% FOREACH fund IN period.funds %]
  221                     [% IF ( fund.b_sel ) %]
  222                         <option value="[% fund.b_id | html %]" selected="selected">[% fund.b_txt | html %]</option>
  223                     [% ELSE %]
  224                         <option value="[% fund.b_id | html %]">[% fund.b_txt | html %]</option>
  225                     [% END %]
  226                 [% END %]
  227                 </optgroup>
  228             [% END %]
  229        </select></li>
  230        <li><label>&nbsp;</label><span>(Current: [% budget_period_description | html %] - [% bookfund | html %])</span></li>
  231        <li>
  232         <label for="creator">Ordered by: </label>
  233         <span>
  234             [% INCLUDE 'patron-title.inc' patron = creator %]
  235         </span>
  236        </li>
  237        <li><label for="quantity_to_receive">Quantity ordered: </label><span class="label">
  238            [% IF edit or subscriptionid %]
  239                <input type="text" id="quantity_to_receive" name="quantity" value="[% quantity | html %]" />
  240            [% ELSE%]
  241                <input type="text" readonly="readonly" id="quantity_to_receive" name="quantity" value="[% quantity | html %]" />
  242            [% END %]
  243            </span></li>
  244         <li><label for="quantity">Quantity received: </label>
  245           [% IF subscriptionid %]
  246               <input type="text" size="20" name="quantityrec" id="quantity" value="[% quantity | html %]" />
  247               <input id="origquantityrec" readonly="readonly" type="hidden" name="origquantityrec" value="[% quantityreceived | html %]" />
  248           [% ELSIF AcqCreateItemReceiving %]
  249               <input readonly="readonly" type="text" size="20" name="quantityrec" id="quantity" value="0" />
  250           [% ELSE %]
  251             [% IF ( quantityreceived ) %]
  252                 [% IF ( edit ) %]
  253                     <input type="text" size="20" name="quantityrec" id="quantity" value="[% quantityreceived | html %]" />
  254                     <input id="origquantityrec" readonly="readonly" type="hidden" name="origquantityrec" value="[% quantityreceived | html %]" />
  255                 [% ELSE %]
  256                     [% IF ( items ) %]
  257                         <input readonly="readonly" type="text" size="20" name="quantityrec" id="quantity" value="[% quantityreceivedplus1 | html %]" />
  258                     [% ELSE %]
  259                         <input type="text" size="20" name="quantityrec" id="quantity" value="[% quantityreceivedplus1 | html %]" />
  260                     [% END %]
  261                     <input id="origquantityrec" readonly="readonly" type="hidden" name="origquantityrec" value="[% quantityreceived | html %]" />
  262                 [% END %]
  263             [% ELSE %]
  264                 <input type="text" id="quantity" size="20" name="quantityrec" value="1" />
  265                 <input id="origquantityrec" readonly="readonly" type="hidden" name="origquantityrec" value="0" />
  266             [% END %]
  267             <div id="qtyrecerror" style="display:none">
  268                 <p class="error">Warning, you have entered more items than expected.
  269                 Items will not be created.</p>
  270             </div>
  271           [% END %][%# IF (subscriptionid) ELSIF (AcqCreateItemReceiving) %]
  272 		</li>
  273 
  274         [% IF ( gst_values ) %]
  275             <li>
  276                 <label for="tax_rate">Tax rate: </label>
  277                 <select name="tax_rate" id="tax_rate">
  278                 [% FOREACH gst IN gst_values %]
  279                     [% IF gst.option == tax_rate %]
  280                         <option value="[% gst.option | html %]" selected="selected">[% gst.option * 100 | html %]%</option>
  281                     [% ELSE %]
  282                         <option value="[% gst.option | html %]">[% gst.option * 100 | html %]%</option>
  283                     [% END %]
  284                 [% END %]
  285                 </select>
  286             </li>
  287         [% ELSE %]
  288             <input type="hidden" name="tax_rate" value="0" />
  289         [% END %]
  290 
  291         <li><label for="rrp">Retail price: </label>[% rrp | $Price %] <span class="hint">(adjusted for [% cur_active | html %], [% IF (invoiceincgst == 1) %]tax inclusive[% ELSE %]tax exclusive[% END %])</span></li>
  292         <li>
  293             <label for="replacementprice">Replacement price:</label>
  294             <input type="text" size="20" name="replacementprice" id="replacementprice" value="[% replacementprice | $Price on_editing => 1 %]" />
  295         </li>
  296         <li><label for="ecost">Budgeted cost: </label>[% ecost | $Price %] <span class="hint">[% IF (invoiceincgst == 1) %](tax inclusive)[% ELSE %](tax exclusive)[% END %]</span></li>
  297         <li>
  298             <label for="unitprice">Actual cost:</label>
  299             <input type="text" size="20" name="unitprice" id="unitprice" value="[% unitprice | $Price on_editing => 1 %]" /> <span class="hint">[% IF (invoiceincgst == 1) %](tax inclusive)[% ELSE %](tax exclusive)[% END %]</span>
  300         </li>
  301         <li><label for="order_internalnote">Internal note: </label><textarea name="order_internalnote" width="40" rows="8" >[% order_internalnote | html %]</textarea></li>
  302         [% IF order_vendornote %]
  303             <li><label for="order_vendornote">Vendor note: </label><span>[% order_vendornote | html %]</span></li>
  304         [% END %]
  305         </ol>
  306     </fieldset>
  307 
  308 </div>
  309 </div><div class="row"><fieldset class="action">
  310         <input type="submit"  value="Save" class="button" accesskey="w" />
  311         <a class="cancel" href="/cgi-bin/koha/acqui/parcel.pl?invoiceid=[% invoiceid | html %]&sticky_filters=1">Cancel</a>
  312 </fieldset></div>    </form>
  313 [% ELSE %]
  314     This ordernumber does not exist.
  315 [% END %]
  316 
  317 </main>
  318 </div> <!-- /.col-sm-10.col-sm-push-2 -->
  319 
  320 <div class="col-sm-2 col-sm-pull-10">
  321     <aside>
  322         [% INCLUDE 'acquisitions-menu.inc' %]
  323     </aside>
  324 </div> <!-- /.col-sm-2.col-sm-pull-10 -->
  325 </div> <!-- /.row -->
  326 [% MACRO jsinclude BLOCK %]
  327     [% Asset.js("js/acquisitions-menu.js") | $raw %]
  328 [% INCLUDE 'calendar.inc' %]
  329     [% INCLUDE 'additem.js.inc' %]
  330     [% Asset.js("js/additem.js") | $raw %]
  331     [% Asset.js("js/cataloging.js") | $raw %]
  332     <script>
  333         function Check(form) {
  334             [% IF (AcqCreateItemReceiving) %]
  335                 var total_errors = CheckMandatorySubfields(form);
  336                 if (total_errors != 0) {
  337                     var alertString = _("Form not submitted because of the following problem(s)");
  338                     alertString += "\n------------------------------------------------------------------------------------\n";
  339                     alertString += "\n- " + _("%s mandatory fields empty (highlighted)").format(total_errors);
  340                     alert(alertString);
  341                     return false;
  342                 }
  343 
  344                 if(check_additem('[% UniqueItemFields | html %]') == false){
  345                     alert(_("Duplicate values detected. Please correct the errors and resubmit.") );
  346                     return false;
  347                 };
  348 
  349                 // Remove last itemblock if it is not in items_list
  350                 var lastitemblock = $("#outeritemblock > div:last");
  351                 var tobedeleted = true;
  352                 var listitems = $("#items_list tr");
  353                 $(listitems).each(function(){
  354                     if($(this).attr('idblock') == $(lastitemblock).attr('id')){
  355                         tobedeleted = false;
  356                     }
  357                 });
  358                 if(tobedeleted){
  359                     $(lastitemblock).remove();
  360                 }
  361 
  362                 if(check_additem('[% UniqueItemFields | html %]') == false){
  363                     alert(_("Duplicate values detected. Please correct the errors and resubmit.") );
  364                     if(tobedeleted) {
  365                         $(lastitemblock).appendTo("#outeritemblock");
  366                     }
  367                     return false;
  368                 };
  369             [% END %]
  370 
  371             return true;
  372         }
  373 
  374         [% IF (AcqCreateItem == 'ordering') %]
  375             var items_columns = [null, null, 'barcode', 'homebranchname',
  376                 'holdingbranchname', 'notforloan', 'restricted', 'location',
  377                 'itemcallnumber', 'copynumber', 'stocknumber', 'collection',
  378                 'itemtype', 'materials', 'itemnotes'];
  379 
  380             function PopupEditPage(biblionumber, itemnumber) {
  381                 var url = "/cgi-bin/koha/cataloguing/additem.pl?op=edititem&biblionumber="
  382                     + biblionumber + "&itemnumber=" + itemnumber + "&popup=1#edititem";
  383                 var w = window.open(url);
  384                 var watchClose = setInterval(function() {
  385                     if (w.closed) {
  386                         clearTimeout(watchClose);
  387                         $.getJSON('/cgi-bin/koha/catalogue/getitem-ajax.pl',
  388                             {
  389                                 'itemnumber': itemnumber
  390                             },
  391                             function(item) {
  392                                 var tds = $("#item_"+itemnumber+" td");
  393                                 for(var i=2; i<tds.length; i++) {
  394                                     var column = items_columns[i];
  395                                     var text = item[column];
  396                                     if ( text == null ) text = '';
  397                                     $(tds[i]).text(text);
  398                                 }
  399                             }
  400                         );
  401                     }
  402                 }, 500);
  403             }
  404 
  405             function CalcQtyToReceive() {
  406                 var qty = $("input[name='items_to_receive']:checked").length;
  407                 $("#quantity").val(qty);
  408             }
  409 
  410             function CheckNItems(n) {
  411                 $("input[name='items_to_receive']").each(function() {
  412                     $(this).prop('checked', false);
  413                 });
  414                 $("input[name='items_to_receive']:lt("+n+")").each(function () {
  415                     $(this).prop('checked', true);
  416                 });
  417             }
  418         [% END %]
  419 
  420         $(document).ready(function() {
  421             [% IF (AcqCreateItemReceiving) %]
  422                 cloneItemBlock(0, '[% UniqueItemFields | html %]');
  423             [% ELSIF (AcqCreateItem == 'ordering') && not subscriptionid %]
  424                 $("input[name='items_to_receive']").change(function() {
  425                     CalcQtyToReceive();
  426                 });
  427                 CalcQtyToReceive();
  428                 $("#quantity").keyup(function() {
  429                     var qty = parseInt($("#quantity").val());
  430                     var qtyto = parseInt($("#quantity_to_receive").val());
  431                     if(qty > qtyto) {
  432                         $("#qtyrecerror").show();
  433                     } else {
  434                         $("#qtyrecerror").hide();
  435                     }
  436                     CheckNItems($(this).val());
  437                 });
  438             [% END %]
  439         });
  440     </script>
  441 [% END %]
  442 
  443 [% INCLUDE 'intranet-bottom.inc' %]