Jonathan Druart
62c9919515
A new bug has been highlighted since:
commit b830349f45
Bug 19453: Incorrect jQuery selector for fund drop down validation
Prior to bug 19453 the check on the existence of the fund did not work
as expected, no select with name='budget_code' existed and the error was
never raised.
Now it works but expect a fund to be selected for every record to
import.
This check must only be done if there is no default value selected.
Test plan:
- Create an order from a staged file
- Do not select any funds
=> You must get a warning
- Select a specific fund for some of the records
=> You must get a warning
- Select a default fund in the last tab
=> You must not get a warning and the records must be imported and
inserted with the correct fund
Signed-off-by: Sonia Bouis <sonia.bouis@univ-lyon3.fr>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
595 lines
38 KiB
Text
595 lines
38 KiB
Text
[% USE KohaDates %]
|
||
[% USE Branches %]
|
||
[% SET footerjs = 1 %]
|
||
[% INCLUDE 'doc-head-open.inc' %]
|
||
<title>Koha › Acquisitions › Order staged MARC records
|
||
[% IF ( batch_details ) %]
|
||
› Batch [% import_batch_id %]
|
||
[% ELSE %]
|
||
› Batch list
|
||
[% END %]
|
||
</title>
|
||
<link rel="stylesheet" type="text/css" href="[% interface %]/[% theme %]/css/datatables_[% KOHA_VERSION %].css" />
|
||
<style type="text/css">#dataPreview { width : 80%; } @media (max-width: 767px) { #dataPreview { margin: 0; width : auto; } }</style>
|
||
[% INCLUDE 'doc-head-close.inc' %]
|
||
</head>
|
||
|
||
<body id="acq_addorderiso2709" class="acq">
|
||
[% INCLUDE 'header.inc' %]
|
||
[% INCLUDE 'acquisitions-search.inc' %]
|
||
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a> › <a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid %]">[% booksellername %]</a> › <a href="/cgi-bin/koha/acqui/basket.pl?basketno=[% basketno %]">Basket [% basketno %]</a> › Add orders from iso2709 file</div>
|
||
<div id="doc3" class="yui-t2">
|
||
<div id="bd">
|
||
<div id="yui-main">
|
||
<div class="yui-b">
|
||
[% IF ( allmatch ) %]<div class="dialog alert">
|
||
<h4>No records imported</h4>
|
||
No record have been imported because they all match an existing record in your catalog.<br />You'll have to treat them individually.
|
||
</div>
|
||
[% END %]
|
||
|
||
[% IF ( batch_details ) %]
|
||
<h1>Add orders from [% comments %]
|
||
([% file_name %] staged on [% upload_timestamp | $KohaDates with_hours => 1 %])
|
||
</h1>
|
||
<form action="/cgi-bin/koha/acqui/addorderiso2709.pl" method="post" id="Aform">
|
||
<div id="tabs" class="toptabs">
|
||
<ul>
|
||
<li><a href="#records_to_import">Select to import</a></li>
|
||
<li><a href="#items_info" class="items_info">Item information</a></li>
|
||
<li><a href="#accounting_details">Default accounting details</a></li>
|
||
</ul>
|
||
|
||
<div id="records_to_import">
|
||
<div id="searchheader">
|
||
<div>
|
||
<span class="checkall"><a id="checkAll" href="#">Select all</a></span>
|
||
|
|
||
<span class="uncheckall"><a id="unCheckAll" href="#">Clear all</a></span>
|
||
|
|
||
<span>
|
||
<label for="matcher_id">Matching:</label>
|
||
<select name="matcher_id" id="matcher_id">
|
||
<option value="_TITLE_AUTHOR_">Title and author</option>
|
||
<option value="">Do not look for matching records</option>
|
||
[% FOREACH available_matcher IN available_matchers %]
|
||
[% IF ( available_matcher.code == current_matcher_code ) %]
|
||
<option value="[% available_matcher.matcher_id %]" selected="selected">
|
||
[% available_matcher.code %] ([% available_matcher.description %])
|
||
</option>
|
||
[% ELSE %]
|
||
<option value="[% available_matcher.matcher_id %]">
|
||
[% available_matcher.code %] ([% available_matcher.description %])
|
||
</option>
|
||
[% END %]
|
||
[% END %]
|
||
</select>
|
||
</span>
|
||
|
|
||
<span>
|
||
<label for="showallbudgets" style="float:none;width:auto;"> Show inactive funds:</label>
|
||
<input type="checkbox" id="showallbudgets" />
|
||
</span>
|
||
</div>
|
||
</div>
|
||
|
||
<input type="hidden" name="op" value="import_records"/>
|
||
<input type="hidden" name="basketno" value="[% basketno %]" />
|
||
<input type="hidden" name="booksellerid" value="[% booksellerid %]" />
|
||
<input type="hidden" name="import_batch_id" value="[%import_batch_id %]" />
|
||
<input type="hidden" name="ordernumber" value="[% ordernumber %]" />
|
||
|
||
[% FOREACH biblio IN biblio_list %]
|
||
<fieldset class="biblio unselected rows" style="float:none;">
|
||
<legend>
|
||
<label for="record_[% biblio.import_record_id %]" style="width:auto;">
|
||
<input type="checkbox" name="import_record_id" id="record_[% biblio.import_record_id %]" value="[% biblio.import_record_id %]" />
|
||
<span class="citation">[% biblio.citation %]</span>
|
||
</label>
|
||
<span class="links" style="font-weight: normal;">
|
||
( <a href="/cgi-bin/koha/catalogue/showmarc.pl?importid=[% biblio.import_record_id %]" class="previewData">MARC</a> | <a href="/cgi-bin/koha/catalogue/showmarc.pl?viewas=card&importid=[% biblio.import_record_id %]" class="previewData">Card</a> | <a href="/cgi-bin/koha/acqui/neworderempty.pl?booksellerid=[% booksellerid %]&basketno=[% basketno %]&breedingid=[% biblio.import_record_id %]&import_batch_id=[% biblio.import_batch_id %]&biblionumber=[% biblio.match_biblionumber %]">Add order</a> )
|
||
</span>
|
||
</legend>
|
||
<div style="float:left">
|
||
<ol>
|
||
<li class="status">
|
||
<span class="match">
|
||
[% IF ( biblio_lis.overlay_status == 'no_match' ) %]
|
||
No match
|
||
[% ELSIF ( biblio_lis.overlay_status == 'match_applied' ) %]
|
||
Match applied
|
||
[% ELSIF ( biblio_lis.overlay_status == 'auto_match' ) %]
|
||
Match found
|
||
[% ELSE %]
|
||
[% biblio_lis.overlay_status %]
|
||
[% END %]
|
||
[% IF ( biblio.match_biblionumber ) %]
|
||
Matches biblio [% biblio.match_biblionumber %] (score = [% biblio.match_score %]): <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblio.match_biblionumber %]">[% biblio.match_citation %]</a>
|
||
[% END %]
|
||
</span>
|
||
</li>
|
||
<li class="quantity">
|
||
<label for="quantity_record_[% biblio.import_record_id %]" class="required">Quantity: </label>
|
||
<input id="quantity_record_[% biblio.import_record_id %]" type="text" value="[% biblio.quantity.length ? biblio.quantity : 1 %]" name="quantity" />
|
||
</li>
|
||
<li class="price">
|
||
<label for="price_record_[% biblio.import_record_id %]">Price: </label>
|
||
<input id="price_record_[% biblio.import_record_id %]" type="text" value="[% biblio.price %]" name="price" />
|
||
</li>
|
||
<li class="discount">
|
||
<label for="discount_record_[% biblio.import_record_id %]">Discount: </label>
|
||
<input id="discount_record_[% biblio.import_record_id %]" type="text" value="[% biblio.discount %]" name="discount" size="6" /> %
|
||
(If empty, discount rate from vendor will be used)
|
||
</li>
|
||
<li class="budget">
|
||
<label for="fund_record_[% biblio.import_record_id %]">Fund: </label>
|
||
[% IF ( close ) %]
|
||
<input type="hidden" size="20" name="budget_id" value="[% budget_id %]" />[% Budget_name %]
|
||
[% ELSE %]
|
||
<select id="fund_record_[% biblio.import_record_id %]" size="1" name="budget_id">
|
||
<option value="">Select a fund</option>
|
||
[% FOREACH budget IN budget_loop %]
|
||
[% IF ( budget.b_id == biblio.budget_id ) %]
|
||
[% IF budget.b_active %]
|
||
<option value="[% budget.b_id %]" data-sort1-authcat="[% budget.b_sort1_authcat %]" data-sort2-authcat="[% budget.b_sort2_authcat %]" selected="selected">[% budget.b_txt %]</option>
|
||
[% ELSE %]
|
||
<option value="[% budget.b_id %]" data-sort1-authcat="[% budget.b_sort1_authcat %]" data-sort2-authcat="[% budget.b_sort2_authcat %]" selected="selected">[% budget.b_txt %] (inactive)</option>
|
||
[% END %]
|
||
[% ELSE %]
|
||
[% IF budget.b_active %]<option value="[% budget.b_id %]" data-sort1-authcat="[% budget.b_sort1_authcat %]" data-sort2-authcat="[% budget.b_sort2_authcat %]">[% budget.b_txt %]</option>
|
||
[% ELSE %]<option value="[% budget.b_id %]" class="b_inactive" data-sort1-authcat="[% budget.b_sort1_authcat %]" data-sort2-authcat="[% budget.b_sort2_authcat %]">[% budget.b_txt %] (inactive)</option>
|
||
[% END %]
|
||
[% END %]
|
||
[% END %]
|
||
</select>
|
||
[% END %]
|
||
</li>
|
||
<li class="sort1">
|
||
<label for="sort1_record_[% biblio.import_record_id %]">Statistic 1: </label>
|
||
<input id="sort1_record_[% biblio.import_record_id %]" type="text" id="sort1" size="20" name="sort1" value="[% biblio.sort1 %]" />
|
||
</li>
|
||
<li class="sort2">
|
||
<label for="sort2_record_[% biblio.import_record_id %]">Statistic 2: </label>
|
||
<input id="sort2_record_[% biblio.import_record_id %]" type="text" id="sort2" size="20" name="sort2" value="[% biblio.sort2 %]" />
|
||
</li>
|
||
</ol>
|
||
</div>
|
||
<div style="float:right">
|
||
[% IF biblio.item_error %]Item records could not be processed because the number of item fields was uneven.[% END %]
|
||
[% FOREACH item IN biblio.iteminfos %]
|
||
<fieldset>
|
||
<legend>Item Record [% item.item_id %]</legend>
|
||
<ol>
|
||
<li>
|
||
<label for="homebranch_item_[% item.item_id %]">homebranch</label><select id="homebranch_item_[% item.item_id %]" name="homebranch_[% item.biblio_count %]">
|
||
[% FOREACH l IN libraries %]
|
||
[% IF l.branchcode == item.homebranch %]
|
||
<option value="[% l.branchcode %]" selected="selected">[% l.branchname %]</option>
|
||
[% ELSE %]
|
||
<option value="[% l.branchcode %]">[% l.branchname %]</option>
|
||
[% END %]
|
||
[% END %]
|
||
</select>
|
||
</li>
|
||
|
||
<li><label for="holdingbranch_item_[% item.item_id %]">holdingbranch</label><select id="holdingbranch_item_[% item.item_id %]" name="holdingbranch_[% item.biblio_count %]">
|
||
[% FOREACH l IN libraries %]
|
||
[% IF l.branchcode == item.holdingbranch %]
|
||
<option value="[% l.branchcode %]" selected="selected">[% l.branchname %]</option>
|
||
[% ELSE %]
|
||
<option value="[% l.branchcode %]">[% l.branchname %]</option>
|
||
[% END %]
|
||
[% END %]
|
||
</select>
|
||
</li>
|
||
<li><label for="itype_item_[% item.item_id %]">itype</label><select id="itype_item_[% item.item_id %]" name="itype_[% item.biblio_count %]">
|
||
[% FOREACH itypeloo IN itypeloop %]
|
||
[% IF ( itypeloo.itemtype ) == ( item.itype ) %]
|
||
<option value="[% itypeloo.itemtype %]" selected="selected">[% itypeloo.description |html %]</option>
|
||
[% ELSE %]
|
||
<option value="[% itypeloo.itemtype %]">[% itypeloo.description |html %]</option>
|
||
[% END %]
|
||
[% END %]
|
||
</select>
|
||
</li>
|
||
|
||
<li><label for="nonpublic_note_item_[% item.item_id %]">nonpublic_note</label><input type="text" id="nonpublic_note_item_[% item.item_id %]" name="nonpublic_note_[% item.biblio_count %]" value="[% item.nonpublic_note %]"></li>
|
||
<li><label for="public_note_item_[% item.item_id %]">public_note</label><input type="text" id="public_note_item_[% item.item_id %]" name="public_note_[% item.biblio_count %]" value="[% item.public_note %]"></li>
|
||
<li><label for="loc_item_[% item.item_id %]">loc</label><select id="loc_item_[% item.item_id %]" name="loc_[% item.biblio_count %]">
|
||
<option value=""> </option>
|
||
[% FOREACH locationloo IN locationloop %]
|
||
[% IF ( locationloo.code ) == (item.loc) %]<option value="[% locationloo.code %]" selected="selected">[% locationloo.description %]</option>[% ELSE %]<option value="[% locationloo.code %]">[% locationloo.description %]</option>[% END %]
|
||
[% END %]
|
||
</select>
|
||
</li>
|
||
|
||
<li><label for="ccode_item_[% item.item_id %]">ccode</label><select id="ccode_item_[% item.item_id %]" name="ccode_[% item.biblio_count %]">
|
||
[% FOREACH ccodeloo IN ccodeloop %]
|
||
[% IF ( ccodeloo.code ) == (item.ccode) %]<option value="[% ccodeloo.code %]" selected="selected">[% ccodeloo.description %]</option>[% ELSE %]<option value="[% ccodeloo.code %]">[% ccodeloo.description %]</option>[% END %]
|
||
[% END %]
|
||
</select>
|
||
</li>
|
||
|
||
<li><label for="notforloan_item_[% item.item_id %]">notforloan</label><select id="notforloan_item_[% item.item_id %]" name="notforloan_[% item.biblio_count %]">
|
||
[% FOREACH n IN notforloanloop %]
|
||
[% IF n.code == item.notforloan %]
|
||
<option value="[% n.code %]" selected="selected">[% n.description %]</option>
|
||
[% ELSE %]
|
||
<option value="[% n.code %]">[% n.description %]</option>
|
||
[% END %]
|
||
[% END %]
|
||
</select>
|
||
</li>
|
||
<li><label for="uri_item_[% item.item_id %]">uri</label><input type="text" id="uri_item_[% item.item_id %]" name="uri_[% item.biblio_count %]" value="[% item.uri %]"></li>
|
||
<li><label for="copyno_item_[% item.item_id %]">copyno</label><input type="text" id="copyno_item_[% item.item_id %]" name="copyno_[% item.biblio_count %]" value="[% item.copyno %]"></li>
|
||
<li><label for="budget_code_item_[% item.item_id %]">budget_code</label><select id="budget_code_item_[% item.item_id %]" name="budget_code_[% item.biblio_count %]">
|
||
<option value="">Select a fund</option>
|
||
[% FOREACH budget_loo IN budget_loop %]
|
||
[% IF ( budget_loo.b_code ) == ( item.budget_code ) %]<option value="[% budget_loo.b_id %]" selected="selected">[% budget_loo.b_txt %]</option>
|
||
[% ELSE %]<option value="[% budget_loo.b_id %]">[% budget_loo.b_txt %]</option>
|
||
[% END %]
|
||
[% END %]
|
||
</select>
|
||
</li>
|
||
<li><label for="price_item_[% item.item_id %]">price</label><input type="text" id="price_item_[% item.item_id %]" name="itemprice_[% item.biblio_count %]" value="[% item.itemprice %]"></li>
|
||
<li><label for="replacementprice_item_[% item.item_id %]">replacement price</label><input type="text" id="replacementprice_item_[% item.item_id %]" name="replacementprice_[% item.biblio_count %]" value="[% item.replacementprice %]"></li>
|
||
<li><label for="callnumber_item_[% item.item_id %]">callnumber</label><input type="text" id="callnumber_item_[% item.item_id %]" name="itemcallnumber_[% item.biblio_count %]" value="[% item.itemcallnumber %]"></li>
|
||
</ol>
|
||
</fieldset>
|
||
[% END %]
|
||
</div>
|
||
</fieldset>
|
||
<div id="dataPreview" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="dataPreviewLabel" aria-hidden="true">
|
||
<div class="modal-dialog">
|
||
<div class="modal-content">
|
||
<div class="modal-header">
|
||
<button type="button" class="closebtn" data-dismiss="modal" aria-hidden="true">×</button>
|
||
<h3 id="dataPreviewLabel">MARC preview</h3>
|
||
</div>
|
||
<div class="modal-body">
|
||
<div id="loading"> <img src="[% interface %]/[% theme %]/img/spinner-small.gif" alt="" /> Loading </div>
|
||
</div>
|
||
<div class="modal-footer">
|
||
<button class="btn btn-default" data-dismiss="modal" aria-hidden="true">Close</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
[% END %]
|
||
</div>
|
||
<div id="items_info">
|
||
<h2>Item information</h2>
|
||
<p>Import all the checked items in the basket with the following parameters:</p>
|
||
|
||
[% IF ( items ) %]
|
||
<fieldset class="rows" style="float:none;">
|
||
<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 %]
|
||
[% FOREACH item IN items %]
|
||
<div id="outeritemblock">
|
||
<div id="itemblock">
|
||
<ol>
|
||
[% FOREACH iteminformatio IN item.iteminformation %]<li style="[% iteminformatio.hidden %];">
|
||
<div class="subfield_line" id="subfield[% iteminformatio.serialid %][% iteminformatio.countitems %][% iteminformatio.subfield %][% iteminformatio.random %]">
|
||
[% IF (iteminformatio.mandatory) %]
|
||
<label class="required">[% iteminformatio.subfield %] - [% iteminformatio.marc_lib %]</label>
|
||
[% ELSE %]
|
||
<label>[% iteminformatio.subfield %] - [% iteminformatio.marc_lib %]</label>
|
||
[% END %]
|
||
|
||
[% IF ( iteminformatio.marc_value.type == 'select' ) %]
|
||
<select name="field_value" size="1">
|
||
[% FOREACH value IN iteminformatio.marc_value.values %]
|
||
[% IF ( value == iteminformatio.marc_value.default ) %]
|
||
<option value="[% value %]" selected="selected">[% iteminformatio.marc_value.labels.$value %]</option>
|
||
[% ELSE %]
|
||
<option value="[% value %]">[% iteminformatio.marc_value.labels.$value %]</option>
|
||
[% END %]
|
||
[% END %]
|
||
</select>
|
||
[% ELSE %]
|
||
[% iteminformatio.marc_value %]
|
||
[% END %]
|
||
<input type="hidden" name="itemid" value="1" />
|
||
<input type="hidden" name="kohafield" value="[% iteminformatio.kohafield %]" />
|
||
<input type="hidden" name="tag" value="[% iteminformatio.tag %]" />
|
||
<input type="hidden" name="subfield" value="[% iteminformatio.subfield %]" />
|
||
<input type="hidden" name="mandatory" value="[% iteminformatio.mandatory %]" />
|
||
[% IF ( iteminformatio.mandatory ) %] <span class="required">Required</span>[% END %]
|
||
</div></li>
|
||
[% END %]
|
||
</ol>
|
||
</div><!-- /iteminformation -->
|
||
</div>
|
||
[% END %] <!-- /items -->
|
||
</fieldset>
|
||
[% END %] <!-- items -->
|
||
</div>
|
||
<div id="accounting_details">
|
||
<p>Import all the checked items in the basket with the following accounting details (used only if no information is filled for the item):</p>
|
||
<fieldset class="rows" style="float:none;">
|
||
<legend>Accounting details</legend>
|
||
<ol>
|
||
<li>
|
||
<!-- origquantityrec only here for javascript compatibility (additem.js needs it, useless here, usefull when receiveing an order -->
|
||
<input id="origquantityrec" readonly="readonly" type="hidden" name="origquantityrec" value="1" />
|
||
</li>
|
||
<li>
|
||
[% IF ( close ) %]
|
||
<span class="label">Fund: </span>
|
||
<input type="hidden" size="20" name="budget_id" id="budget_id" value="[% budget_id %]" />[% Budget_name %]
|
||
[% ELSE %]
|
||
<li>
|
||
<label for="all_currency">Currency:</label>
|
||
<select name="all_currency" id="all_currency">
|
||
[% FOREACH currency IN currencies %]
|
||
[% IF currency.currency == bookseller.listprice %]
|
||
<option value="[% currency.currency %]" selected="selected">[% currency.currency %]</option>
|
||
[% ELSIF not currency.archived %]
|
||
<option value="[% currency.currency %]">[% currency.currency %]</option>
|
||
[% END %]
|
||
[% END %]
|
||
</select>
|
||
</li>
|
||
<li>
|
||
<label for="all_budget_id">Fund: </label>
|
||
<select id="all_budget_id" size="1" name="all_budget_id">
|
||
<option value="">Select a fund</option>
|
||
[% FOREACH budget_loo IN budget_loop %]
|
||
[% IF ( budget_loo.b_active ) %]<option value="[% budget_loo.b_id %]" data-sort1-authcat="[% budget_loo.b_sort1_authcat %]" data-sort2-authcat="[% budget_loo.b_sort2_authcat %]">[% budget_loo.b_txt %]</option>
|
||
[% ELSE %]<option value="[% budget_loo.b_id %]" class="b_inactive" data-sort1-authcat="[% budget_loo.b_sort1_authcat %]" data-sort2-authcat="[% budget_loo.b_sort2_authcat %]">[% budget_loo.b_txt %] (inactive)</option>
|
||
[% END %]
|
||
[% END %]
|
||
</select>
|
||
<label for="all_showallbudgets" style="float:none;width:auto;"> Show inactive:</label>
|
||
<input type="checkbox" id="all_showallbudgets" />
|
||
</li>
|
||
[% END %]
|
||
</li>
|
||
<li>
|
||
<label for="all_order_internalnote">Internal note: </label>
|
||
<textarea id="all_order_internalnote" cols="30" rows="3" name="all_order_internalnote"></textarea>
|
||
</li>
|
||
<li>
|
||
<label for="all_order_vendornote">Vendor note: </label>
|
||
<textarea id="all_order_vendornote" cols="30" rows="3" name="all_order_vendornote"></textarea>
|
||
</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="all_sort1">Statistic 1: </label>
|
||
<input type="text" id="all_sort1" size="20" name="all_sort1" value="" />
|
||
</li>
|
||
<li>
|
||
<label for="all_sort2">Statistic 2: </label>
|
||
<input type="text" id="all_sort2" size="20" name="all_sort2" value="" />
|
||
</li>
|
||
</ol>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
|
||
<fieldset class="action">
|
||
<input type="submit" value="Save" /><a class="cancel" href="/cgi-bin/koha/acqui/basket.pl?basketno=[% basketno %]">Cancel</a>
|
||
</fieldset>
|
||
</form>
|
||
[% ELSE %]
|
||
<div>
|
||
<h1>Choose the file to add to the basket</h1>
|
||
<table id="files">
|
||
<thead>
|
||
<tr>
|
||
<th>File name</th>
|
||
<th>Comments</th>
|
||
<th>Status</th>
|
||
<th class="title-string">Staged</th>
|
||
<th># Bibs</th>
|
||
<th class="NoSort"> </th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
[% FOREACH batch_lis IN batch_list %]
|
||
<tr>
|
||
<td>[% batch_lis.file_name %]</td>
|
||
<td>[% batch_lis.comments %]</td>
|
||
<td>
|
||
[% IF ( batch_lis.import_status == 'cleaned' ) %]
|
||
Cleaned
|
||
[% ELSIF ( batch_lis.import_status == 'imported' ) %]
|
||
Imported
|
||
[% ELSIF ( batch_lis.import_status == 'importing' ) %]
|
||
Importing
|
||
[% ELSIF ( batch_lis.import_status == 'reverted' ) %]
|
||
Reverted
|
||
[% ELSIF ( batch_lis.import_status == 'reverting' ) %]
|
||
Reverting
|
||
[% ELSIF ( batch_lis.import_status == 'staged' ) %]
|
||
Staged
|
||
[% ELSE %]
|
||
[% batch_lis.import_status %]
|
||
[% END %]
|
||
</td>
|
||
<td><span title="[% batch_lis.staged_date %]">[% batch_lis.staged_date | $KohaDates with_hours => 1 %]</span></td>
|
||
<td>[% batch_lis.num_records %]</td>
|
||
<td><a href="[% batch_lis.scriptname %]?import_batch_id=[% batch_lis.import_batch_id %]&basketno=[% basketno %]&booksellerid=[% booksellerid %]">Add orders</a></td>
|
||
</tr>
|
||
[% END %]
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
[% END %]
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
[% MACRO jsinclude BLOCK %]
|
||
<script type="text/javascript" src="[% interface %]/[% theme %]/js/acquisitions-menu_[% KOHA_VERSION %].js"></script>
|
||
[% INCLUDE 'datatables.inc' %]
|
||
<script type="text/javascript" src="[% interface %]/lib/jquery/plugins/jquery.checkboxes.min_[% KOHA_VERSION %].js"></script>
|
||
<script type="text/javascript" src="[% interface %]/[% theme %]/js/acq_[% KOHA_VERSION %].js"></script>
|
||
<script type="text/JavaScript">
|
||
$(document).ready(function() {
|
||
$("#files").dataTable($.extend(true, {}, dataTablesDefaults, {
|
||
"aoColumnDefs": [
|
||
{ "bSortable": false, "bSearchable": false, 'aTargets': [ 'NoSort' ] },
|
||
{ "sType": "anti-the", "aTargets" : [ "anti-the" ] },
|
||
{ "sType": "title-string", "aTargets" : [ "title-string" ] }
|
||
],
|
||
"sPaginationType": "four_button",
|
||
"aaSorting": []
|
||
} ) );
|
||
|
||
// keep copy of the inactive budgets
|
||
disabledBudgetsCopy = $("select[name='all_budget_id']").html();
|
||
$("select[name='all_budget_id'] .b_inactive").remove();
|
||
$("select[name='budget_id'] .b_inactive").remove();
|
||
|
||
$("#showallbudgets").click(function() {
|
||
if ($(this).is(":checked")) {
|
||
$("select[name='budget_id']").html(disabledBudgetsCopy)
|
||
}
|
||
else {
|
||
$("select[name='budget_id'] .b_inactive").remove();
|
||
}
|
||
});
|
||
|
||
$("#all_showallbudgets").click(function() {
|
||
if ($(this).is(":checked")) {
|
||
$("select[name='all_budget_id']").html(disabledBudgetsCopy);
|
||
}
|
||
else {
|
||
$("select[name='all_budget_id'] .b_inactive").remove();
|
||
}
|
||
});
|
||
|
||
$("select[name='budget_id']").change(function(){
|
||
var sort1_authcat = $(this).find("option:selected").attr('data-sort1-authcat');
|
||
var sort2_authcat = $(this).find("option:selected").attr('data-sort2-authcat');
|
||
var destination_sort1 = $(this).parents('fieldset').find('li.sort1').find('input[name="sort1"]');
|
||
var sort1 = $(destination_sort1).val() || "";
|
||
if ( destination_sort1.length < 1 ) {
|
||
destination_sort1 = $(this).parents('fieldset').find('li.sort1 > select[name="sort1"]');
|
||
}
|
||
var destination_sort2 = $(this).parents('fieldset').find('li.sort2').find('input[name="sort2"]');
|
||
var sort2 = $(destination_sort2).val() || "";
|
||
if ( destination_sort2.length < 1 ) {
|
||
destination_sort2 = $(this).parents('fieldset').find('li.sort2').find('select[name="sort2"]');
|
||
}
|
||
getAuthValueDropbox( 'sort1', sort1_authcat, destination_sort1, sort1 );
|
||
|
||
getAuthValueDropbox( 'sort2', sort2_authcat, destination_sort2, sort2 );
|
||
} );
|
||
|
||
$("select[name='budget_id']").change();
|
||
|
||
$("select[name='all_budget_id']").change(function(){
|
||
var sort1_authcat = $(this).find("option:selected").attr('data-sort1-authcat');
|
||
var sort2_authcat = $(this).find("option:selected").attr('data-sort2-authcat');
|
||
var destination_sort1 = $(this).parent().siblings('li').find('input[name="all_sort1"]');
|
||
if ( destination_sort1.length < 1 ) {
|
||
destination_sort1 = $(this).parent().siblings('li').find('select[name="all_sort1"]');
|
||
}
|
||
var destination_sort2 = $(this).parent().siblings('li').find('input[name="all_sort2"]');
|
||
if ( destination_sort2.length < 1 ) {
|
||
destination_sort2 = $(this).parent().siblings('li').find('select[name="all_sort2"]');
|
||
}
|
||
getAuthValueDropbox( 'sort1', sort1_authcat, destination_sort1 );
|
||
getAuthValueDropbox( 'sort2', sort2_authcat, destination_sort2 );
|
||
$(this).parent().siblings('li').find('select[name="sort1"]').attr('name', 'all_sort1');
|
||
$(this).parent().siblings('li').find('input[name="sort1"]').attr('name', 'all_sort1');
|
||
$(this).parent().siblings('li').find('select[name="sort2"]').attr('name', 'all_sort2');
|
||
$(this).parent().siblings('li').find('input[name="sort2"]').attr('name', 'all_sort2');
|
||
} );
|
||
|
||
$("select[name='all_budget_id']").change();
|
||
|
||
$("#records_to_import fieldset.rows div").hide();
|
||
$('input:checkbox[name="import_record_id"]').change(function(){
|
||
var container = $(this).parents("fieldset");
|
||
if ( $(this).is(':checked') ) {
|
||
$(container).addClass("selected");
|
||
$(container).removeClass("unselected");
|
||
$(container).find("div").toggle(true);
|
||
} else {
|
||
$(container).addClass("unselected");
|
||
$(container).removeClass("selected");
|
||
$(container).find("div").toggle(false);
|
||
}
|
||
} );
|
||
|
||
$("input:checkbox").prop("checked", false);
|
||
$("div.biblio.unselected select").prop('disabled', false);
|
||
$("div.biblio.unselected input").prop('disabled', false);
|
||
|
||
$("#checkAll").click(function(){
|
||
$("#Aform").checkCheckboxes();
|
||
$("input:checkbox[name='import_record_id']").change();
|
||
return false;
|
||
});
|
||
$("#unCheckAll").click(function(){
|
||
$("#Aform").unCheckCheckboxes();
|
||
$("input:checkbox[name='import_record_id']").change();
|
||
return false;
|
||
});
|
||
|
||
$("#Aform").on("submit", function(){
|
||
if ( $("input:checkbox[name='import_record_id']:checked").length < 1 ) {
|
||
alert(_("There is no record selected"));
|
||
return false;
|
||
}
|
||
|
||
var error = 0;
|
||
$("input:checkbox[name='import_record_id']:checked").parents('fieldset').find('input[name="quantity"]').each(function(){
|
||
if ( $(this).val().length < 1 || isNaN( $(this).val() ) ) {
|
||
error++;
|
||
}
|
||
});
|
||
if ( error > 0 ) {
|
||
alert(error + " " + _("quantity values are not filled in or are not numbers"));
|
||
return false;
|
||
|
||
}
|
||
|
||
if (! $("#all_budget_id").val() ) {
|
||
// If there is no default fund
|
||
var error = 0;
|
||
$("select[name='budget_id']").each(function() {
|
||
if (!$(this).val()) {
|
||
error++;
|
||
}
|
||
});
|
||
if ( error > 0 ) {
|
||
alert(_("Some budgets are not defined in item records"));
|
||
return false;
|
||
}
|
||
}
|
||
|
||
return disableUnchecked($(this));
|
||
});
|
||
$('#tabs').tabs();
|
||
$(".previewData").on("click", function(e){
|
||
e.preventDefault();
|
||
var ltitle = $(this).text();
|
||
var page = $(this).attr("href");
|
||
$("#dataPreviewLabel").text(ltitle);
|
||
$("#dataPreview .modal-body").load(page + " div");
|
||
$('#dataPreview').modal({show:true});
|
||
});
|
||
$("#dataPreview").on("hidden", function(){
|
||
$("#dataPreviewLabel").html("");
|
||
$("#dataPreview .modal-body").html("<div id=\"loading\"><img src=\"[% interface %]/[% theme %]/img/spinner-small.gif\" alt=\"\" /> "+_("Loading")+"</div>");
|
||
});
|
||
});
|
||
|
||
function disableUnchecked(form){
|
||
$("fieldset.biblio.unselected").each(function(){
|
||
$(this).remove();
|
||
});
|
||
return 1;
|
||
}
|
||
</script>
|
||
[% END %]
|
||
|
||
[% INCLUDE 'intranet-bottom.inc' %]
|