Koha/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt
Aleisha Amohia 2a1d85fc32
Bug 15348: Add estimated delivery date field to individual orders
This patch allows you to specify an estimated delivery date per order.
The specified estimated delivery date is also considered when searching
for late orders and exporting late orders. You can also edit the
estimated delivery date from the late orders page.

Test plan:
1. Update database, rebuild schema, restart services
2. Go to Acquisitions, search for a vendor, and create a new basket
3. Add an order to the basket. When filling in the accounting details,
notice the new 'estimated delivery date' field, but don't add a date.
Save the order.
4. Confirm no date shows in the estimated delivery date column in the
orders table.
5. Modify the order. Add a date in the estimated delivery date field and
save the order.
6. Confirm the date now shows in the orders table.
7. Close the basket.
8. Go to the Late Orders page.
9. Put estimated delivery date from and to parameters in the search
filters on the left. Ensure the from and to dates encapsulate the date
you entered in the estimated delivery date field for the order.
10. Click Filter and ensure the order shows.
11. Select the checkbox next to the order. Click the Export as CSV button.
12. Open the CSV and confirm the estimated delivery date that you
entered shows as expected in the file.
13. Click Edit under the estimated delivery date. Confirm the estimated
delivery date modal pops up with the correct order line number in the
modal header.
14. Remove the estimated delivery date and click Save.
15. Confirm that the estimated delivery date calculated by Koha now
shows in the late orders table.
16. Select the checkbox next to the order. Click the Export as CSV button.
17. Open the CSV and confirm the calculated estimated delivery date
shows in the CSV.
18. Confirm tests pass: t/db_dependent/Koha/Acquisition/Order.t

Sponsored-by: Bibliotheksservice-Zentrum Baden-Württemberg (BSZ)
Signed-off-by: Christian Stelzenmüller <christian.stelzenmueller@bsz-bw.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Christian Stelzenmüller <christian.stelzenmueller@bsz-bw.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-09-16 10:36:53 -03:00

769 lines
35 KiB
Text
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[% USE raw %]
[% USE Asset %]
[% USE Koha %]
[% USE KohaDates %]
[% USE Price %]
[% USE ItemTypes %]
[% SET footerjs = 1 %]
[% INCLUDE 'doc-head-open.inc' %]
<title>[% IF ( ordernumber ) %]Modify order details (line #[% ordernumber | html %])[% ELSE %]New order[% END %] &rsaquo; Basket [% basketno | html %] &rsaquo; Acquisitions &rsaquo; Koha</title>
[% INCLUDE 'doc-head-close.inc' %]
</head>
<body id="acq_neworderempty" class="acq">
[% INCLUDE 'header.inc' %]
[% INCLUDE 'acquisitions-search.inc' %]
<nav id="breadcrumbs" aria-label="Breadcrumb" class="breadcrumb">
<ol>
<li>
<a href="/cgi-bin/koha/mainpage.pl">Home</a>
</li>
<li>
<a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a>
</li>
<li>
<a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid | uri %]">[% name | html %]</a>
</li>
<li>
<a href="/cgi-bin/koha/acqui/basket.pl?basketno=[% basketno | uri %]">Basket [% basketno | html %]</a>
</li>
[% IF ( ordernumber ) %]
<li>
<a href="#" aria-current="page">
Modify order details (line #[% ordernumber | html %])
</a>
</li>
[% ELSE %]
<li>
<a href="#" aria-current="page">
New order
</a>
</li>
[% END %]
</ol>
</nav>
[% INCLUDE 'blocking_errors.inc' %]
<div class="main container-fluid">
<div class="row">
<div class="col-sm-10 col-sm-push-2">
<main>
<h1>
[% IF ( ordernumber ) %]
Modify order line
[% ELSE %]
New order
[% END %]
</h1>
<div class="dialog alert order_error" style="display:none"></div>
[% IF ( basketno ) %]
<div id="acqui_basket_summary">
<fieldset class="rows">
<legend>Basket details</legend>
<ol>
[% IF ( basketnote ) %]<li><span class="label">Internal note:</span> [% basketnote | html %]</li>[% END %]
[% IF ( basketbooksellernote ) %]<li><span class="label">Vendor note:</span> [% basketbooksellernote | html %]</li>[% END %]
[% IF ( basketcontractno ) %]
<li><span class="label">Contract number: </span>[% basketcontractno | html %]</li>
<li><span class="label">Contract name:</span> <a href="/cgi-bin/koha/admin/aqcontract.pl?op=add_form&amp;contractnumber=[% basketcontractno | uri %]">[% basketcontractname | html %]</a></li>
[% END %]
[% IF ( authorisedbyname ) %]<li><span class="label">Managed by:</span> [% authorisedbyname | html %]</li>[% END %]
[% IF ( creationdate ) %]<li><span class="label">Open on:</span> [% creationdate | $KohaDates %]</li>[% END %]
[% IF ( closedate ) %]
<form action="/cgi-bin/koha/acqui/basketgroup.pl" method="post">
<li><span class="label">Closed on:</span> [% closedate | $KohaDates %]</li>
[% IF ( basketgroups ) %]
<li>Basketgroup: <select id="basketgroupid" name="basketgroupid">
[% FOREACH basketgroup IN basketgroups %]
[% IF ( basketgroup.default ) %]
<option value="[% basketgroup.id | html %]" selected="selected">[% basketgroup.name | html %]</option>
[% ELSE %]
<option value="[% basketgroup.id | html %]">[% basketgroup.name | html %]</option>
[% END %]
[% END %]
</select>
<input type="hidden" id="basketno" value="[% basketno | html %]" name="basketno" />
<input type="hidden" value="mod_basket" name="op" />
<input type="hidden" name="booksellerid" value="[% booksellerid | html %]" />
</li>
<fieldset class="action"><input type="submit" value="Change basketgroup" /></fieldset>
[% END %]
</form>
[% END %]
</ol>
</fieldset>
</div>
[% END %]
<form action="/cgi-bin/koha/acqui/addorder.pl" method="post" class="validated noEnterSubmit" id="Aform" onsubmit="return Check(this);" >
<fieldset class="rows">
<legend>Patrons</legend>
<ol>
<li>
<span class="label">To notify on receiving:</span>
<div style="float:left">
<ul id="users_names" style="padding-left:0">
[% FOREACH user IN users %]
<li id="user_[% user.borrowernumber | html %]">
[% user.firstname | html %] [% user.surname | html %]
[<a onclick="del_user([% user.borrowernumber | html %]);" style="cursor:pointer">Delete user</a>]
</li>
[% END %]
</ul>
<input type="hidden" id="users_ids" name="users_ids" value="[% users_ids | html %]" />
<input type="hidden" id="op" name="op" value="mod_users" />
<input type="button" id="add_user" onclick="UserSearchPopup();" value="Add user" />
</div>
</li>
</ol>
</fieldset>
<fieldset class="rows">
<legend>
Catalog details
[% IF ( biblionumber ) %]
<span><a href="/cgi-bin/koha/cataloguing/addbiblio.pl?biblionumber=[% biblionumber | uri %]"> Edit record</a></span>
[% END %]
</legend>
[% UNLESS ( existing ) %]
<input type="hidden" name="existing" value="no" />
[% END %]
<input type="hidden" name="ordernumber" value="[% ordernumber | html %]" />
<input type="hidden" name="basketno" value="[% basketno | html %]" />
<input type="hidden" name="booksellerid" value="[% booksellerid | html %]" />
<input type="hidden" name="biblionumber" value="[% biblionumber | html %]" />
<input type="hidden" name="listinc" id="listinc" value="[% listincgst | html %]" />
<input type="hidden" name="invoiceincgst" id="invoiceincgst" value="[% invoiceincgst | html %]" />
<input type="hidden" name="suggestionid" value="[% suggestionid | html %]" />
<input type="hidden" name="import_batch_id" value="[% import_batch_id | html %]" />
[% FOREACH c IN currencies %]
<input type="hidden" id="currency_rate_[% c.currency | html %]" name="[% c.currency | html %]" value="[% c.rate | html %]" />
[% END %]
[% IF NOT Koha.Preference('UseACQFrameworkForBiblioRecords') OR NoACQframework %]
<ol><li>
[% IF ( biblionumber ) %]
<span class="label">Title</span>
<input type="hidden" name="title" value="[% title | html %]" /> <span class="title">[% title | html %]</span>
[% ELSE %]
<label for="entertitle">Title: </label>
<input type="text" id="entertitle" size="50" name="title" value="[% title | html %]" class="focus" required="required" />
<span class="required">Required</span>
[% END %]
</li>
<li>
[% IF ( biblionumber ) %]
<span class="label">Author: </span>
<input type="hidden" name="author" id="author" value="[% author | html %]" />[% author | html %]
[% ELSE %]
<label for="author">Author: </label>
<input type="text" size="50" name="author" id="author" value="[% author | html %]" />
[% END %]
</li>
<li>
[% IF ( biblionumber ) %]
<span class="label">Publisher: </span>
<input type="hidden" name="publishercode" id="publishercode" value="[% publishercode | html %]" />[% publishercode | html %]
[% ELSE %]
<label for="publishercode"> Publisher: </label>
<input type="text" size="50" name="publishercode" id="publishercode" value="[% publishercode | html %]" />
[% END %]
</li>
<li>
[% IF ( biblionumber ) %]
<span class="label">Edition: </span>
<input type="hidden" name="editionstatement" id="editionstatement" value="[% editionstatement | html %]" />[% editionstatement | html %]
[% ELSE %]
<label for="editionstatement">Edition: </label>
<input type="text" size="20" name="editionstatement" id="editionstatement" value="[% editionstatement | html %]" />
[% END %]
</li>
<li>
[% IF ( biblionumber ) %]
<span class="label">Publication year: </span>
<input type="hidden" name="publicationyear" id="publicationyear" value="[% publicationyear | html %]" />[% publicationyear | html %]
[% ELSE %]
<label for="publicationyear">Publication year: </label>
<input type="text" size="10" name="publicationyear" id="publicationyear" value="[% publicationyear | html %]" />
[% END %]
</li>
<li>
[% IF ( biblionumber ) %]
<span class="label">ISBN: </span>
<input type="hidden" name="isbn" id="ISBN" value="[% isbn | html %]" />[% isbn | html %]
[% ELSE %]
<label for="ISBN">ISBN: </label>
<input type="text" size="50" name="isbn" id="ISBN" value="[% isbn | html %]" />
[% END %]
</li>
[% IF (UNIMARC) %]
<li>
[% IF ( biblionumber ) %]
<span class="label">EAN: </span>
<input type="hidden" name="ean" id="EAN" value="[% ean | html %]" />[% ean | html %]
[% ELSE %]
<label for="EAN">EAN: </label>
<input type="text" size="20" name="ean" id="EAN" value="[% ean | html %]" />
[% END %]
</li>
[% END %]
<li>
[% IF ( biblionumber ) %]
<span class="label">Series: </span>
<input type="hidden" name="series" id="series" value="[% seriestitle | html %]" />[% seriestitle | html %]
[% ELSE %]
<label for="series">Series: </label>
<input type="text" size="50" name="series" id="series" value="[% seriestitle | html %]" />
[% END %]
</li>
[% UNLESS ( biblionumber ) %]
[% IF ( itemtypeloop ) %]
<li>
<span class="label">Item type:</span>
<select name="itemtype" style="width:12em;">
[% FOREACH itemtype IN itemtypeloop %]
<option value="[% itemtype.itemtype | html %]">[% itemtype.description | html %]</option>
[% END %]
</select>
</li>
[% END %]
[% END %]
</ol>
[% ELSE %]
<input type="hidden" name="use_ACQ_framework" value="1" />
[% IF biblionumber %]
<ol>
[% FOREACH field IN catalog_details %]
<li>
<div class="subfield_line">
<label>[% field.lib | html %] ([% field.tag | html %][% field.subfield | html %])</label>
[% field.value | html %]
</div>
</li>
[% END %]
</ol>
[% ELSE %]
<ol>
[% FOREACH field IN catalog_details %]
<li>
<div class="subfield_line">
[% PROCESS display_subfield field=field %]
</div>
</li>
[% END %]
</ol>
[% END %]
[% END %]
</fieldset>
[% IF ( suggestionid ) %]
<fieldset class="rows">
<legend>Suggestion</legend>
<ol>
<li>
<span class="label">Suggested by: </span>
[% 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>)
</li>
</ol>
</fieldset>
[% END %]
[% UNLESS subscriptionid || basket.is_standing %][% # it is a suggestion, we have not items %]
[% IF (AcqCreateItemOrdering) %]
<div id="items_list" style="display:none">
<p><strong>Items list</strong></p>
<div style="width:100%;overflow:auto;">
<table>
<thead>
<tr>
<th class="noExport">Actions</th>
<th>Barcode</th>
<th>Home library</th>
<th>Holding library</th>
<th>Not for loan</th>
<th>Restricted</th>
<th>Location</th>
<th>Call number</th>
<th>Copy number</th>
<th>Inventory number</th>
<th>Collection</th>
<th>Item type</th>
<th>Materials</th>
<th>Notes</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
<fieldset class="rows" id="itemfieldset">
<legend>Item</legend>
[% IF ( NoACQframework ) %]
<div class="dialog message">No ACQ framework, using default. You should create a framework with code ACQ, the items framework would be used</div>
[% END %]
[% UNLESS Koha.Preference('autoBarcode') == 'OFF' %]
<div class="dialog message">The autoBarcode system preference is set to [% Koha.Preference('autoBarcode') | html %] and items with blank barcodes will have barcodes generated upon save to database</div>
[% END %]
<div id="outeritemblock"></div>
</fieldset>
[% END %][%# | html UNLESS subscriptionid %]
[% END %][%# IF (AcqCreateItemOrdering) %]
<fieldset class="rows">
<legend>Accounting details</legend>
<ol>
<li>
<label class="required" for="quantity">Quantity: </label>
[% IF subscriptionid %]
<input type="text" size="20" id="quantity" name="quantity" value="1" onchange="updateCosts();" />
[% ELSIF AcqCreateItemOrdering %]
[% IF basket.is_standing %]
<input type="text" readonly="readonly" size="20" id="quantity" name="quantity" value="1" />
[% ELSE %]
<input type="text" readonly="readonly" size="20" id="quantity" name="quantity" value="0" />
[% END %]
[% ELSE %]
[% IF basket.is_standing %]
<input type="text" readonly="readonly" size="20" id="quantity" name="quantity" value="1" />
[% ELSE %]
<input type="text" size="20" id="quantity" name="quantity" value="[% quantityrec | html %]" onchange="updateCosts();" />
[% END %]
[% END %]
<span class="required">Required</span>
<!-- origquantityrec only here for javascript compatibility (additem.js needs it, useless here, useful when receiveing an order -->
<input id="origquantityrec" readonly="readonly" type="hidden" name="origquantityrec" value="1" />
[% IF subscription %]
<br/>
<div class="hint">
<span>Frequency:</span> [% subscription.frequency.description | html %] |
[% IF subscription.numberlength %]<span>Number of issues: [% subscription.numberlength | html %]</span>[% END %]
[% IF subscription.weeklength %]<span>Number of weeks: [% subscription.weeklength | html %]</span>[% END %]
[% IF subscription.monthlength %]<span>Number of months: [% subscription.monthlength | html %]</span>[% END %]
</div>
[% END %]
</li>
<li>
<label class="required" for="budget_id">Fund: </label>
[% active_count = 0 %]
[% IF !ordernumber %]
[% FOREACH budget_loo IN budget_loop %]
[% active_count= active_count + budget_loo.b_active %]
[% END %]
[% END %]
<select class="select2" id="budget_id" name="budget_id">
<option value="">Select a fund</option>
[% FOREACH budget_loo IN budget_loop %]
[% level_indent_cnt = 0 %]
[% level_indent = "" %]
[% WHILE level_indent_cnt < budget_loo.b_level %]
[% level_indent = level_indent _ " -- " %]
[% level_indent_cnt = level_indent_cnt +1 %]
[% END %]
[% IF ( budget_loo.b_sel ) %]
[% active_count = 0 #select no other fund %]
<option value="[% budget_loo.b_id | html %]" selected="selected" data-sort1-authcat="[% budget_loo.b_sort1_authcat | html %]" data-sort2-authcat="[% budget_loo.b_sort2_authcat | html %]"
>
[% ELSIF active_count==1 && budget_loo.b_active %]
<option value="[% budget_loo.b_id | html %]" selected="selected" data-sort1-authcat="[% budget_loo.b_sort1_authcat | html %]" data-sort2-authcat="[% budget_loo.b_sort2_authcat | html %]"
>
[% ELSE %]
[% bdgclass=budget_loo.b_active? "": "b_inactive" | html %]
<option value="[% budget_loo.b_id | html %]" class="[% bdgclass | html %]" data-sort1-authcat="[% budget_loo.b_sort1_authcat | html %]" data-sort2-authcat="[% budget_loo.b_sort2_authcat | html %]"
>
[% END %]
[% level_indent | html %][% budget_loo.b_txt | html %][% IF !budget_loo.b_active %] (inactive)[% END %]
</option>
[% END %]
</select>
<span class="required">Required</span>
<label for="showallbudgets" style="float:none;">&nbsp;Show inactive:</label>
<input type="checkbox" id="showallbudgets" />
</li>
<li>
<label for="currency">Currency:</label>
<select name="currency" id="currency" onchange="updateCosts();">
[% FOREACH c IN currencies %]
[% IF ordernumber and c.currency == currency or not ordernumber and c.currency == vendor_currency %]
<option value="[% c.currency | html %]" selected="selected">[% c.currency | html %]</option>
[% ELSIF not c.archived %]
<option value="[% c.currency | html %]">[% c.currency | html %]</option>
[% END %]
[% END %]
</select>
</li>
<li>
<label for="listprice">Vendor price: </label>
<input type="text" size="20" name="listprice" id="listprice" value="[% listprice | html %]" onchange="updateCosts()" /> [% IF (listincgst == 1) %](tax inclusive)[% ELSE %](tax exclusive)[% END %]
</li>
<li>
<label for="uncertainprice">Uncertain price: </label>
[% IF ( uncertainprice ) %]
<input type="checkbox" name="uncertainprice" id="uncertainprice" value="1" checked="checked" />
[% ELSE %]
<input type="checkbox" name="uncertainprice" id="uncertainprice" value="1" />
[% END %]
</li>
[% IF ( gst_values ) %]
<li>
<label for="tax_rate">Tax rate: </label>
<select name="tax_rate" id="tax_rate" onchange="updateCosts();">
[% SET gst_found = 0 %]
[% FOREACH gst IN gst_values %]
[% IF ( gst.option == tax_rate ) %]
<option value="[% gst.option | html %]" selected="selected">[% gst.option * 100 | html %]%</option>
[% SET gst_found = 1 %]
[% ELSE %]
<option value="[% gst.option | html %]">[% gst.option * 100 | html %]%</option>
[% END %]
[% END %]
[% IF !gst_found %]
<option value="[% tax_rate | html %]" selected="selected">[% tax_rate * 100 | html %]%</option>
[% END %]
</select>
[% IF !gst_found %]<span class="required">Tax rate not defined in system preference TaxRates!</span>[% END %]
[% ELSE %]
<input type="hidden" name="tax_rate" value="0" />
</li>
[% END %]
<li>
<label for="discount">Discount: </label>
[% IF ( ordernumber ) %]
<input type="text" size="6" name="discount" id="discount" value="[% orderdiscount | html %]" onchange="updateCosts();" />%
[% ELSE %]
<input type="text" size="6" name="discount" id="discount" value="[% discount | html %]" onchange="updateCosts();" />%
[% END %]
</li>
<li>
<label for="rrp">Retail price: </label>
<input type="text" size="20" name="rrp" id="rrp" value="[% rrp | html %]" /> (adjusted for [% cur_active | html %], [% IF (listincgst == 1) %]tax inclusive[% ELSE %]tax exclusive[% END %])
</li>
<li>
<label for="replacementprice">Replacement cost: </label>
<input type="text" size="20" name="replacementprice" id="replacementprice" value="[% replacementprice | html | $Price on_editing => 1 %]" />
</li>
<li>
<label for="ecost">Budgeted cost: </label>
<input type="text" size="20" name="ecost" id="ecost" value="[% ecost | html %]" readonly="readonly" /> [% IF (listincgst == 1) %](tax inclusive)[% ELSE %](tax exclusive)[% END %]
</li>
<li>
<label for="total">Total: </label>
<input type="text" id="total" size="20" name="total" value="[% total | html %]" readonly="readonly" /> (budgeted cost * quantity)
</li>
<li class="ordering_unitprice">
<label for="unitprice">Actual cost: </label>
<input type="text" id="unitprice" size="20" name="unitprice" value="[% unitprice | html %]" />
[% IF (invoiceincgst == 1) %](tax inc.)[% ELSE %](tax exc.)[% END %]
</li>
<li>
<label for="order_internalnote">Internal note: </label>
<textarea id="order_internalnote" cols="30" rows="3" name="order_internalnote" >[% IF ( order_internalnote ) %][% order_internalnote | html %][% END %]</textarea>
</li>
<li>
<label for="order_vendornote">Vendor note: </label>
<textarea id="order_vendornote" cols="30" rows="3" name="order_vendornote" >[% IF ( order_vendornote ) %][% order_vendornote | html %][% END %]</textarea>
</li>
<li>
<label for="estimated_delivery_date">Estimated delivery date: </label>
<input type="text" id="estimated_delivery_date" size="10" name="estimated_delivery_date" class="datepicker" value="[% estimated_delivery_date | html %]"/>
<div class="hint">[% INCLUDE 'date-format.inc' %]</div>
</li>
<li><div class="hint">The 2 following fields are available for your own usage. They can be useful for statistical purposes</div>
<label for="sort1">Statistic 1: </label>
<input id="sort1" type="text" id="sort1" size="20" name="sort1" value="[% sort1 | html %]" />
<li>
<label for="sort2">Statistic 2: </label>
<input id="sort2" type="text" id="sort2" size="20" name="sort2" value="[% sort2 | html %]" />
</li>
</ol>
</fieldset>
<fieldset class="action">
<input type="hidden" name="subscriptionid" value="[% subscriptionid | html %]" />
<input type="submit" value="Save" />
[% IF (suggestionid) %]
<a class="cancel" href="/cgi-bin/koha/acqui/newordersuggestion.pl?booksellerid=[% booksellerid | html %]&amp;basketno=[% basketno | html %]">Cancel</a>
[% ELSE %]
[% IF subscriptionid %]
<a class="cancel" href="/cgi-bin/koha/acqui/newordersubscription.pl?booksellerid=[% booksellerid | html %]&amp;basketno=[% basketno | html %]">Cancel</a>
[% ELSE %]
<a class="cancel" href="/cgi-bin/koha/acqui/basket.pl?basketno=[% basketno | html %]">Cancel</a>
[% END %]
[% END %]
</fieldset>
</form>
<div id="procModal" data-backdrop="static" class="modal fade" aria-labelledby="procModal" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-body">
<h3>Processing multiple items</h3>
</div>
</div>
</div>
</div>
<div id="multiCountModal" class="modal fade" aria-labelledby="multiCountModal" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<h3>Invalid number of copies</h3>
<p>Please enter a <strong>number</strong>, greater than or equal to 1</p>
</div>
</div>
</div>
</main>
</div> <!-- /.col-sm-10.col-sm-push-2 -->
<div class="col-sm-2 col-sm-pull-10">
<aside>
[% INCLUDE 'acquisitions-menu.inc' %]
</aside>
</div> <!-- /.col-sm-2.col-sm-pull-10 -->
</div> <!-- /.row -->
[% MACRO jsinclude BLOCK %]
[% Asset.js("js/acquisitions-menu.js") | $raw %]
[% Asset.js("js/acq.js") | $raw %]
[% Asset.js("js/additem.js") | $raw %]
[% Asset.js("js/cataloging.js") | $raw %]
[% INCLUDE 'calendar.inc' %]
[% INCLUDE 'select2.inc' %]
<script>
actTotal = "";
function Check(ff) {
[% IF (AcqCreateItemOrdering) %]
// Remove last itemblock if it is not in items_list
var lastitemblock = $("#outeritemblock > div:last");
var tobedeleted = true;
var listitems = $("#items_list tr");
$(listitems).each(function(){
if($(this).attr('idblock') == $(lastitemblock).attr('id')){
tobedeleted = false;
}
});
if(tobedeleted){
$(lastitemblock).remove();
}
[% END %]
var ok=0;
var _alertString= _("Form not submitted because of the following problem(s)")+"\n";
_alertString +="-------------------------------------------------------------------\n\n";
if(isNull(ff.budget_id,1)){
ok=1;
_alertString += "\n- "+ _("You must select a fund");
}
if (!(isNum(ff.quantity,0)) || ff.quantity.value == 0){
ok=1;
_alertString += "\n- " + _("Quantity must be greater than '0'");
}
if (!(isNum(ff.listprice,0))){
ok=1;
_alertString += "\n- " + _("Vendor price must be a number");
}
if (!(isNum(ff.total,0))){
ok=1;
_alertString += "\n- " + _("Total must be a number");
}
if (totalExceedsBudget(ff.budget_id.value, ff.total.value ) ) {
ok=1;
_alertString += "\n- " + _("Order total (%s) exceeds budget available (%s)").format(ff.total.value, actTotal);
}
if ( ff.field_value ) {
var empty_item_mandatory = CheckMandatorySubfields(ff);
if (empty_item_mandatory > 0) {
ok = 1;
_alertString +=
"\n- " + _("%s item mandatory fields empty").format(empty_item_mandatory);
}
}
if (ok) {
alert(_alertString);
[% IF (AcqCreateItemOrdering) %]
if(tobedeleted) {
$(lastitemblock).appendTo('#outeritemblock');
}
[% END %]
return false;
}
[% IF (AcqCreateItemOrdering) %]
if(check_additem('[% UniqueItemFields | html %]') == false) {
alert(_("Duplicate values detected. Please correct the errors and resubmit.") );
if(tobedeleted) {
$(lastitemblock).appendTo('#outeritemblock');
}
return false;
}
[% END %]
}
$(document).ready(function(){
[% IF AcqCreateItemOrdering and not basket.is_standing %]
cloneItemBlock(0, '[% UniqueItemFields | html %]');
[% END %]
[% IF ( suggestionid ) %]updateCosts();[% END %]
$("#quantity").change(function() {
updateCosts();
});
//We apply the fonction only for modify option
[% IF ( quantityrec and not subscriptionid ) %]
[% IF ( acqcreate ) %]
$('#quantity').blur(function(){
// if user decreases the quantity
if($(this).val() < [% quantityrec | html %]){
alert(_("You have deleted item(s) in the order, don't forget to delete it(them) in the catalog"));
return true;
} else {
// if user increases the quantity
alert(_("You can't add a new item, please create a new order line"));
// and we replace the original value
$(this).val([% quantityrec | html %])
updateCosts(); // blur is invoked after change which updated values
return false;
}
});
[% END %]
[% END %]
//keep a copy of all budgets before removing the inactives
disabledBudgetsCopy = $('#budget_id').html();
$('#budget_id .b_inactive').remove();
$('#showallbudgets').click(function() {
if ($(this).is(":checked")) {
$('#budget_id').html(disabledBudgetsCopy); //Puts back all the funds
}
else {
$('#budget_id .b_inactive').remove();
}
});
$("#budget_id").change(function(){
var destination_sort1 = $(this).parents('fieldset.rows').find('input[name="sort1"]');
var sort1_authcat = $(this).find("option:selected").attr('data-sort1-authcat');
var sort1 = $(destination_sort1).val() || "";
if ( destination_sort1.length < 1 ) {
destination_sort1 = $(this).parents('fieldset.rows').find('select[name="sort1"]');
}
var destination_sort2 = $(this).parents('fieldset.rows').find('input[name="sort2"]');
var sort2_authcat = $(this).find("option:selected").attr('data-sort2-authcat');
var sort2 = $(destination_sort2).val() || "";
if ( destination_sort2.length < 1 ) {
destination_sort2 = $(this).parents('fieldset.rows').find('select[name="sort2"]');
}
getAuthValueDropbox( 'sort1', sort1_authcat, destination_sort1, sort1 );
getAuthValueDropbox( 'sort2', sort2_authcat, destination_sort2, sort2 );
});
$("#budget_id").change();
$("#estimated_delivery_date").datepicker();
});
function UserSearchPopup(f) {
window.open(
"/cgi-bin/koha/members/search.pl?columns=cardnumber,name,category,branch,action&selection_type=add",
'UserSearchPopup',
'width=1024, height=768, scrollbars=yes, toolbar=no,'
);
}
function add_user(borrowernumber, borrowername) {
var ids = $("#users_ids").val();
if(ids.length > 0) {
ids = ids.split(':');
} else {
ids = new Array;
}
if (ids.indexOf(borrowernumber.toString()) < 0) {
ids.push(borrowernumber);
$("#users_ids").val(ids.join(':'));
var li = '<li id="user_'+borrowernumber+'">'+borrowername
+ ' [<a style="cursor:pointer" onclick="del_user('+borrowernumber+');">'
+ _("Delete user") + '</a>]</li>';
$("#users_names").append(li);
return 0;
}
return -1;
}
function del_user(borrowernumber) {
$("#user_"+borrowernumber).remove();
var ids = $("#users_ids").val().split(':');
ids.splice(ids.indexOf(borrowernumber.toString()), 1);
$("#users_ids").val(ids.join(':'));
}
</script>
[% END %]
[% INCLUDE 'intranet-bottom.inc' %]
[% BLOCK display_subfield %]
<label>[% field.lib | html %] ([% field.tag | html %][% field.subfield | html %])</label>
[% IF field.authorised_value %]
[% SWITCH field.authorised_value %]
[% CASE 'branches' %]
[% IF field.mandatory %]
<select name="bib_field_value" required="required">
[% ELSE %]
<select name="bib_field_value">
[% END %]
<option value=""></option>
[% PROCESS options_for_libraries libraries => Branches.all( selected => "FIXME" ) %]
</select>
[% CASE 'itemtypes' %]
[% IF field.mandatory %]
<select name="bib_field_value" required="required">
[% ELSE %]
<select name="bib_field_value">
[% END %]
<option value=""></option>
[% PROCESS options_for_item_types itemtypes => ItemTypes.Get(), selected_itemtype => "FIXME" %]
</select>
[% CASE 'cn_source' %]
[% CASE %]
[% PROCESS 'av-build-dropbox.inc' name="bib_field_value", category=field.authorised_value, default="FIXME" %]
[% END %]
[% ELSE %]
[% IF field.mandatory %]
<input type="text" name="bib_field_value" value="[% field.value | html %]" required="required" size="50" />
[% ELSE %]
<input type="text" name="bib_field_value" value="[% field.value | html %]" size="50" />
[% END %]
[% END %]
<input type="hidden" name="bib_kohafield" value="[% field.kohafield | html %]" />
<input type="hidden" name="bib_tag" value="[% field.tag | html %]" />
<input type="hidden" name="bib_subfield" value="[% field.subfield | html %]" />
[% IF field.mandatory %] <span class="required">Required</span>[% END %]
[% END %]