Koha/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/basket.tt
Jesse Weaver 84f8301229 Bug 15774: Add additional fields to order baskets
This also moves the admin page for additional fields for all tables to a
single common screen, and factors out display/input parsing logic.

Test plan:
  1. Create an additional field for a subscription (under Serials -> Add
     subscription fields).
  2. Apply patch.
  3. Visit Additional fields under administration, and verify that
     the field created above still shows under the list for the
     subscription table.
  4. Create at least four fields for aqbasket for each combination of
     searchable/not-searchable and with/without an authorized value.
  5. Create an order basket, and verify that all fields are visible and
     correctly save.
  6. Edit the basket, verifying that changes to these additional fields
     are saved.
  7. Add an order to the basket (contents are irrelevant).
  8. Go to advanced search within acquisitions.
  9. Verify that only the searchable fields show in the form, and that
     their contents may be searched.

Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
2019-03-07 20:37:05 +00:00

980 lines
55 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.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[% USE raw %]
[% USE Asset %]
[% BLOCK csv_export %]
<div class="btn-group">
<a id="exportbutton" class="btn btn-default btn-sm" href="[% script_name | url %]?op=export&amp;basketno=[% basketno | uri %]&amp;booksellerid=[% booksellerid | uri %]"><i class="fa fa-download"></i> Export as CSV</a>
<a class="btn btn-default btn-sm dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></a>
<ul class="dropdown-menu" id="export-csv-menu">
<li><a href="#">Default</a></li>
[% IF csv_profiles %]
[% FOR csv IN csv_profiles %]
<li><a href="#" data-value="[% csv.export_format_id | html %]">[% csv.profile | html %]</a></li>
[% END %]
[% END %]
</ul>
</div>
[% END %]
[% USE KohaDates %]
[% USE Branches %]
[% USE Price %]
[% USE AuthorisedValues %]
[% USE ColumnsSettings %]
[% SET footerjs = 1 %]
[% INCLUDE 'doc-head-open.inc' %]
<title>Koha &rsaquo; Acquisitions &rsaquo; [% UNLESS ( basketno ) %]New [% END %]Basket [% basketname | html %] ([% basketno | html %]) for [% booksellername | html %]</title>
[% INCLUDE 'doc-head-close.inc' %]
<style>
.sortmsg {font-size: 80%;}
</style>
</head>
<body id="acq_basket" class="acq">
[% INCLUDE 'header.inc' %]
[% INCLUDE 'acquisitions-search.inc' %]
<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 | uri %]">[% booksellername | html %]</a> &rsaquo;
[% UNLESS ( basketno ) %][% IF ( delete_confirmed ) %]Deleted [% ELSE %]New [% END %][% END %]Basket [% basketname | html %] [% IF ( basketno ) %]([% basketno | html %])[% END %] for [% booksellername | html %]
</div>
<div class="main container-fluid">
<div class="row">
<div class="col-sm-10 col-sm-push-2">
<main>
[% IF (cannot_manage_basket) %]
<div class="dialog alert">You are not authorised to manage this basket.</div>
[% ELSE %]
[% IF !confirm_close && !edi_confirm %]
[% UNLESS ( selectbasketg ) %]
[% UNLESS ( closedate ) %]
[% UNLESS ( delete_confirmed ) %]
<div id="toolbar" class="btn-toolbar">
[% IF active %]
<div class="btn-group"><a href="#addtoBasket" role="button" class="btn btn-default btn-sm" data-toggle="modal"><i class="fa fa-plus"></i> Add to basket</a></div>
[% END %]
<div class="btn-group"><a href="basketheader.pl?booksellerid=[% booksellerid | uri %]&amp;basketno=[% basketno | uri %]&amp;op=add_form" class="btn btn-default btn-sm" id="basketheadbutton"><i class="fa fa-pencil"></i> Edit basket</a></div>
[%# FIXME This action should not be available for everyone %]
<div class="btn-group"><a href="#deleteBasketModal" role="button" class="btn btn-default btn-sm" data-toggle="modal" id="delbasketbutton"><i class="fa fa-trash"></i> Delete this basket</a></div>
[% IF ( unclosable ) %]
[% ELSIF ( uncertainprices ) %]
<div class="btn-group"><a href="/cgi-bin/koha/acqui/uncertainprice.pl?booksellerid=[% booksellerid | uri %]&amp;owner=1" class="btn btn-default btn-sm" id="uncertpricesbutton"><i class="fa fa-usd"></i> Uncertain prices</a></div>
<div title="Can not close baskets that have items with uncertain prices in them." class="btn-group">
<a href="" class="btn btn-default btn-sm disabled" id="closebutton"><i class="fa fa-times-circle"></i> Close this basket</a>
</div>
[% ELSE %]
<div class="btn-group">
<a href="/cgi-bin/koha/acqui/basket.pl?op=close&amp;basketno=[% basketno | uri %]&amp;booksellerid=[% booksellerid | uri %]" class="btn btn-default btn-sm" id="closebutton"><i class="fa fa-times-circle"></i> Close this basket</a>
</div>
[% END %]
[% PROCESS csv_export %]
[% IF ediaccount %]
<div class="btn-group"><a href="/cgi-bin/koha/acqui/edi_ean.pl?op=ediorder&amp;basketno=[% basketno | uri %]&amp;booksellerid=[% booksellerid | uri %]" class="btn btn-default btn-sm" id="ediorderbutton"><i class="fa fa-download"></i> Create EDIFACT order</a></div>
[% END %]
[% IF ( active && books_loop ) %]
<div class="btn-group">
<form action="/cgi-bin/koha/acqui/basket.pl" method="post">
<input type="hidden" name="op" value="email" />
<input type="hidden" name="basketno" value="[% basketno | html %]" />
<button type="submit" class="btn btn-default btn-sm" id="emailvendorbutton"><i class="fa fa-envelope"></i> E-mail order</button>
</form>
</div>
[% END %]
</div>
[% END %]
<!-- Modal for confirm deletion box-->
<div class="modal" id="deleteBasketModal" tabindex="-1" role="dialog" aria-labelledby="delbasketModalLabel" 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>Confirm deletion</h3>
</div>
[% UNLESS book_foot_loop %]
<div class="modal-body">
<p>Are you sure you want to delete this basket?</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" data-dismiss="modal">Cancel</button>
<form action="/cgi-bin/koha/acqui/basket.pl" method="get">
<input type="hidden" name="op" value="delete_confirm" />
<input type="hidden" name="basketno" value="[% basketno | html %]" />
<input type="hidden" name="booksellerid" value="[% booksellerid | html %]" />
<input type="hidden" name="delbiblio" value="0" />
<button type="submit" class="btn btn-default btn-default">Delete basket</button>
</form>
</div>
[% ELSE %]
<div class="modal-body">
<p>Are you sure you want to delete this basket?</p>
<p>Warning:</p>
<p>All orders of this basket will be cancelled and used funds will be refunded.</p>
<p>If items have been created when ordering or receiving, they will be deleted.</p>
<p>You can choose to delete bibliographic records if possible (bibliographic records that have other items or that are used in a subscription or another order will not be deleted).</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" data-dismiss="modal">Cancel</button>
<form action="/cgi-bin/koha/acqui/basket.pl" method="get">
<input type="hidden" name="op" value="delete_confirm" />
<input type="hidden" name="basketno" value="[% basketno | html %]" />
<input type="hidden" name="booksellerid" value="[% booksellerid | html %]" />
<input type="hidden" name="delbiblio" value="0" />
<button type="submit" class="btn btn-default btn-default">Delete basket and orders</button>
</form>
<form action="/cgi-bin/koha/acqui/basket.pl" method="get">
<input type="hidden" name="op" value="delete_confirm" />
<input type="hidden" name="basketno" value="[% basketno | html %]" />
<input type="hidden" name="booksellerid" value="[% booksellerid | html %]" />
<input type="hidden" name="delbiblio" value="1" />
<button type="submit" class="btn btn-default btn-default">Delete basket, orders, and records</button>
</form>
</div>
[% END %]
</div>
</div>
</div>
<!-- End of Modal-->
[% ELSE %]
[% UNLESS ( grouped ) %]
<div id="toolbar" class="btn-toolbar">
<div class="btn-group"><a href="#" class="btn btn-default btn-sm" id="reopenbutton"><i class="fa fa-refresh"></i> Reopen this basket</a></div>
[% PROCESS csv_export %]
</div>
[% END %]
[% END %]
[% END %]
[% IF ( NO_BOOKSELLER ) %]
<h2>Vendor not found</h2>
[% ELSE %]
[% IF ( delete_confirmed ) %]
<div class="dialog message">
<h3>Basket deleted</h3>
</div>
[% IF (cannotdelbiblios) %]
<div class="dialog alert">
<p><strong>Warning:</strong></p>
<p><strong>The following records could not be deleted:</strong></p>
<ul>
[% FOREACH cannotdelbiblio IN cannotdelbiblios %]
<li><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% cannotdelbiblio.biblionumber | uri %]">[% cannotdelbiblio.title | html %]</a> by [% cannotdelbiblio.author | html %]:
<ul>
[% IF (cannotdelbiblio.itemcount) %]<li>[% cannotdelbiblio.itemcount | html %] item(s) attached.</li>[% END %]
[% IF (cannotdelbiblio.subscriptions) %]<li>[% cannotdelbiblio.subscriptions | html %] subscription(s) attached.</li>[% END %]
[% IF (cannotdelbiblio.countbiblio) %]<li>[% cannotdelbiblio.countbiblio | html %] order(s) attached.</li>[% END %]
[% IF (cannotdelbiblio.othererror) %]<li>Unknown error.</li>[% END %]
</ul>
</li>
[% END %]
</ul>
</div>
<a href="booksellers.pl">Click here to go back to booksellers page</a>
[% ELSE %]
<a href="/cgi-bin/koha/acqui/booksellers.pl?booksellerid=[% booksellerid | uri %]" class="btn btn-default btn-sm">Show baskets for vendor [% booksellername | html %]</a> <a href="/cgi-bin/koha/acqui/booksellers.pl" class="btn btn-default btn-sm">Show all active baskets</a>
[% END %]
[% ELSE %]
[% FOR m IN messages %]
<div class="dialog [% m.type | html %]">
[% SWITCH m.code %]
[% CASE 'no_email' %]
This vendor has no contact selected for sending orders to or is missing an e-mail address.
[% CASE 'no_basketno' %]
No basket given.
[% CASE 'no_letter' %]
There is no notice template with code ACQORDER defined.
[% CASE 'email_sent' %]
Order e-mail was sent to the vendor.
[% CASE %]
ERROR! - [% m.code | html %]
[% END %]
</div>
[% END %]
<h1>[% UNLESS ( basketno ) %]New [% END %]Basket [% basketname | html %] ([% basketno | html %]) for <a href="supplier.pl?booksellerid=[% booksellerid | uri %]">[% booksellername | html %]</a></h1>
[% IF ( basketno ) %]
<div id="acqui_basket_summary" class="row">
<div class="rows">
<div class="col-sm-6">
<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 name:</span> <a href="../admin/aqcontract.pl?op=add_form&amp;contractnumber=[% basketcontractno | uri %]&amp;booksellerid=[% booksellerid | uri %]">[% basketcontractname | html %]</a></li>
[% END %]
[% IF deliveryplace %]<li><span class="label">Delivery place:</span> [% Branches.GetName( deliveryplace ) | html %]</li>[% END %]
[% IF billingplace %]<li><span class="label">Billing place:</span> [% Branches.GetName( billingplace ) | html %]</li>[% END %]
[% IF ( authorisedbyname ) %]<li><span class="label">Created by:</span> [% authorisedbyname | html %]</li>[% END %]
<li id="managedby">
<form action="/cgi-bin/koha/acqui/basket.pl" method="post">
<span class="label">Managed by:</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 href="#" data-borrowernumber="[% user.borrowernumber | html %]" class="del_user"><i class="fa fa-trash"></i> Delete user</a>
</li>
[% END %]
<li>
<a href="#" id="add_user"><i class="fa fa-plus"></i> Add user</a>
</li>
<li id="add_user_submit" style="display:none;">
<button type="submit" class="btn btn-default btn-xs">Save changes</button>
</li>
</ul>
</div>
<input type="hidden" id="basketno" name="basketno" value="[% basketno | html %]" />
<input type="hidden" id="users_ids" name="users_ids" value="[% users_ids | html %]" />
<input type="hidden" id="op" name="op" value="mod_users" />
</form>
</li>
<li id="branch">
<span class="label">Managing library:</span>
[% IF basketbranchcode %]
[% Branches.GetName( basketbranchcode ) | html %]
<a href="#" id="set_managing_library"><i class="fa fa-pencil"></i> Change library</a>
[% ELSE %]
No library
<a href="#" id="set_managing_library"><i class="fa fa-pencil"></i> Set library</a>
[% END %]
</li>
[% IF branches_loop.size %]
<li id="managing_library_entry" style="display:none;">
<span class="label">&nbsp;</span>
<div style="float:left">
<form action="/cgi-bin/koha/acqui/basket.pl" method="post">
<select id="select_managing_library" name="branch">
<option value="">(no library)</option>
[% FOREACH branch IN branches_loop %]
[% IF ( basketbranchcode == branch.branchcode ) %]
<option selected="selected" value="[% branch.branchcode | html %]"> [% branch.branchname | html %]</option>
[% ELSE %]
<option value="[% branch.branchcode | html %]"> [% branch.branchname | html %]</option>
[% END %]
[% END %]
</select>
<a id="library_entry_cancel" href="#" class="cancel">Cancel</a>
<input type="hidden" id="basketno" name="basketno" value="[% basketno | html %]" />
<input type="hidden" id="op" name="op" value="mod_branch" />
</form>
</div>
</li>
[% END %]
[% INCLUDE 'additional-fields-display.inc' available=available_additional_fields values=additional_field_values %]
</ol>
</div> <!-- /.col-sm-6 -->
<div class="col-sm-6">
<ol>
[% IF ( creationdate ) %]
<li><span class="label">Opened on:</span> [% creationdate | $KohaDates %]</li>
[% END %]
[% IF ( closedate ) %]
<li><span class="label">Closed on:</span> [% closedate | $KohaDates %]</li>
[% END %]
[% IF ( estimateddeliverydate ) %]
<li><span class="label">Estimated delivery date:</span> [% estimateddeliverydate | $KohaDates %]</li>
[% END %]
<li><span class="label">Orders are standing:</span> [% IF is_standing %]Yes[% ELSE %]No[% END %]</li>
[% IF basket.create_items %]
<li>
<span class="label">Create items when:</span>
[% SWITCH basket.create_items %]
[% CASE 'receiving' %]Receiving items
[% CASE 'cataloguing' %]Cataloguing items
[% CASE %]Placing orders
[% END %]
</li>
[% END %]
</ol>
[% IF ( closedate ) %]
<ol>
<li>
<span class="label">Basket group:</span>
[% IF basketgroup.id and not basketgroup.name %]
[% SET basketgroup.name = "Basket group no. " _ basketgroup.id %]
[% END %]
[% IF basketgroup.closed %]
[% IF ( CAN_user_acquisition_group_manage ) %]
<a href="basketgroup.pl?op=add&booksellerid=[% booksellerid | uri %]&basketgroupid=[% basketgroup.id | uri %]" title="basketgroup">[% basketgroup.name | html %] (closed)</a>
[% ELSE %]
[% basketgroup.name | html %] (closed)
[% END %]
[% ELSIF ( ! CAN_user_acquisition_group_manage ) %]
[%- IF basketgroup.id -%]
[% basketgroup.name | html %]
[%- ELSE -%]
No group
[%- END -%]
[% ELSE %]
[% IF ( CAN_user_acquisition_group_manage ) %]
[% IF ( basketgroup.id ) %]
[% basketgroup.name | html %]
<a href="#" id="set_basket_group"><i class="fa fa-pencil"></i> Change basket group</a>
[% ELSE %]
No group
<a href="#" id="set_basket_group"><i class="fa fa-pencil"></i> Set basket group</a>
[% END %]
[% END %]
[% END %]
</li>
[% IF ( CAN_user_acquisition_group_manage ) %]
<li id="basket_grouping" style="display:none;">
<span class="label">&nbsp;</span>
<div style="float:left">
<form action="/cgi-bin/koha/acqui/basketgroup.pl" method="post">
<select id="basketgroupid" name="basketgroupid">
<option value="">No group</option>
[% FOREACH bg IN basketgroups %]
[% IF ( bg.default ) %]
<option value="[% bg.id | html %]" selected="selected">[% bg.name | html %]</option>
[% ELSE %]
[% UNLESS bg.closed %]
<option value="[% bg.id | html %]">[% bg.name | html %]</option>
[% ELSE %]
<option value="[% bg.id | html %]" disabled="disabled">[% bg.name | html %] (closed)</option>
[% END %]
[% END %]
[% END %]
<option value="new">Add new group</option>
</select>
<a href="#" id="basket_group_cancel" class="cancel">Cancel</a>
<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 %]" />
</form>
</div>
</li>
[% END # /IF ( CAN_user_acquisition_group_manage ) %]
[% IF basketgroup.deliveryplace %]
<li>
<span class="label">Basket group delivery placename:</span> [% Branches.GetName( basketgroup.deliveryplace ) | html %]
</li>
[% END %]
[% IF basketgroup.billingplace %]
<li>
<span class="label">Basket group billing place:</span> [% Branches.GetName( basketgroup.billingplace ) | html %]
</li>
[% END %]
</ol>
[% END # /IF closeddate %]
</div> <!-- /.rows -->
</div> <!-- /.col-sm-6 -->
</div> <!-- /#acqui_basket_summary.row -->
[% END %]
[% IF ( duplinbatch ) %]<div class="dialog alert">
<h4>Duplicate warning</h4>
<p>Some records have not been automatically added because they match an existing record in your catalog:<a href="/cgi-bin/koha/acqui/addorderiso2709.pl?import_batch_id=[% duplinbatch | uri %]&amp;basketno=[% basketno | uri %]&amp;booksellerid=[% booksellerid | uri %]" title="Open in new window" target="_blank" class="popup" style="margin-left:10px">Display them</a></p>
</div>[% END %]
<div id="acqui_basket_content">
[% IF ( books_loop ) %]
<h2>Orders</h2>
<table id="orders">
<thead>
<tr>
<th>No.</th>
<th>Order</th>
<th>RRP tax exc.</th>
<th>ecost tax exc.</th>
<th>RRP tax inc.</th>
<th>ecost tax inc.</th>
<th>Replacement price</th>
<th>Qty.</th>
<th>Total tax exc. ([% currency | html %])</th>
<th>Total tax inc. ([% currency | html %])</th>
<th>GST %</th>
<th>GST</th>
<th>Fund</th>
<th>Supplier report</th>
[% IF ( active ) %]
[% UNLESS ( closedate ) %]
<th class="NoSort">Modify</th>
<th class="NoSort">Cancel order</th>
[% END %]
[% END %]
</tr>
</thead>
<tfoot>
[% FOREACH foot_loo IN book_foot_loop %]
<tr>
<th></th>
<th>Total (GST [% foot_loo.tax_rate * 100 | html %])</th>
<th>&nbsp;</th>
<th>&nbsp;</th>
<th>&nbsp;</th>
<th>&nbsp;</th>
<th>&nbsp;</th>
<th>[% foot_loo.quantity | html %]</th>
<th>[% foot_loo.total_tax_excluded | $Price %]</th>
<th>[% foot_loo.total_tax_included | $Price %]</th>
<th>&nbsp;</th>
<th>[% foot_loo.tax_value | $Price %]</th>
<th>&nbsp;</th>
<th>&nbsp;</th>
[% IF ( active ) %]
[% UNLESS ( closedate ) %]
<th>&nbsp;</th>
<th>&nbsp;</th>
[% END %]
[% END %]
</tr>
[% END %]
<tr>
<th></th>
<th>Total ([% currency | html %])</th>
<th>&nbsp;</th>
<th>&nbsp;</th>
<th>&nbsp;</th>
<th>&nbsp;</th>
<th>&nbsp;</th>
<th>[% total_quantity | html %]</th>
<th>[% total_tax_excluded | $Price %]</th>
<th>[% total_tax_included | $Price %]</th>
<th>&nbsp;</th>
<th>[% total_tax_value | $Price %]</th>
<th>&nbsp;</th>
<th>&nbsp;</th>
[% IF ( active ) %]
[% UNLESS ( closedate ) %]
<th>&nbsp;</th>
<th>&nbsp;</th>
[% END %]
[% END %]
</tr>
</tfoot>
<tbody>
[% FOREACH books_loo IN books_loop %]
[% IF ( books_loo.order_received ) %]
<tr class="disabled">
[% ELSE %]
<tr>
[% END %]
<td>
[% books_loo.ordernumber | html %]
</td>
<td>
<p>
[% IF ( books_loo.order_received ) %] (rcvd)[% END %]
[% IF books_loo.title %]
<a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% books_loo.biblionumber | uri %]">[% books_loo.title | html %]</a>[% IF books_loo.author %] by [% books_loo.author | html %][% END %]
[% ELSE %]
<em>Deleted bibliographic record, can't find title</em><br />
[% END %]
<br />
[% IF ( books_loo.isbn ) %] - [% books_loo.isbn | html %][% END %]
[% IF ( books_loo.issn ) %] - [% books_loo.issn | html %][% END %]
[% IF ( books_loo.publishercode ) %], [% books_loo.publishercode | html %][% END %]
[% IF ( books_loo.publicationyear ) %], [% books_loo.publicationyear | html %]
[% ELSIF ( books_loo.copyrightdate ) %] [% books_loo.copyrightdate | html %][% END %]
[% IF ( books_loo.editionstatement ) %], [% books_loo.editionstatement | html %][% END %]
[% IF ( books_loo.suggestionid ) %]
<br/>
Suggested by: [% books_loo.surnamesuggestedby | html %][% IF ( books_loo.firstnamesuggestedby ) %], [% books_loo.firstnamesuggestedby | html %] [% END %]
(<a href="/cgi-bin/koha/suggestion/suggestion.pl?suggestionid=[% books_loo.suggestionid | uri %]&amp;op=show">suggestion #[% books_loo.suggestionid | html %]</a>)
[% END %]
</p>
[% IF ( books_loo.order_internalnote ) %]
<p class="ordernote"><strong>Internal note: </strong><span id="internal-note-[% books_loo.ordernumber | html %]">[% books_loo.order_internalnote | html %]</span> <a class="edit_note" data-ordernumber="[% books_loo.ordernumber | html %]" data-note_type="internal" href="/cgi-bin/koha/acqui/modordernotes.pl?ordernumber=[% books_loo.ordernumber | html %]&type=internal" title="Edit internal note"><i class="fa fa-pencil"></i> Edit internal note</a></p>
[% ELSE %]
<a class="edit_note" data-ordernumber="[% books_loo.ordernumber | html %]" data-note_type="internal" href="/cgi-bin/koha/acqui/modordernotes.pl?ordernumber=[% books_loo.ordernumber | html %]&type=internal" title="Add internal note"><i class="fa fa-plus"></i> Add internal note</a>
[% END %]
[% IF ( books_loo.order_vendornote ) %]
<p class="ordernote"><strong>Vendor note: </strong> <span id="vendor-note-[% books_loo.ordernumber | html %]">[% books_loo.order_vendornote | html %]</span> <a class="edit_note" data-ordernumber="[% books_loo.ordernumber | html %]" data-note_type="vendor" href="/cgi-bin/koha/acqui/modordernotes.pl?ordernumber=[% books_loo.ordernumber | html %]&type=vendor" title="Edit vendor note"><i class="fa fa-pencil"></i> Edit vendor note</a></p>
[% ELSE %]
<a class="edit_note" data-ordernumber="[% books_loo.ordernumber | html %]" data-note_type="vendor" href="/cgi-bin/koha/acqui/modordernotes.pl?ordernumber=[% books_loo.ordernumber | html %]&type=vendor" title="Add vendor note"><i class="fa fa-plus"></i> Add vendor note</a>
[% END %]
[% IF (books_loo.transferred_from) %]
[% basket = books_loo.transferred_from.basket %]
[% bookseller = books_loo.transferred_from.bookseller %]
[% timestamp = books_loo.transferred_from.timestamp %]
<p>Transferred from basket:
<a href="/cgi-bin/koha/acqui/basket.pl?basketno=[% basket.basketno | uri %]"> [% basket.basketname | html %]</a>
(<a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% bookseller.id | uri %]">[% bookseller.name | html %]</a>)
on <span title="[% timestamp | $KohaDates with_hours = 1 %]">
[% timestamp | $KohaDates %]
</span>
</p>
[% END %]
</td>
[% SET zero_regex = "^0{1,}\.?0{1,}[^1-9]" %] [%# 0 or 0.0 or 0.00 or 00 or 00.0 or 00.00 or 0.000 ... %]
[%# FIXME: use of a regexp is not ideal; bugs 9410 and 10929 suggest better way of handling this %]
<td class="number [% IF books_loo.rrp_tax_excluded.search(zero_regex) %]error[% END %]">[% books_loo.rrp_tax_excluded | $Price %]</td>
<td class="number [% IF books_loo.ecost_tax_excluded.search(zero_regex) %]error[% END %]">[% books_loo.ecost_tax_excluded | $Price %]</td>
<td class="number [% IF books_loo.rrp_tax_included.search(zero_regex) %]error[% END %]">[% books_loo.rrp_tax_included | $Price %]</td>
<td class="number [% IF books_loo.ecost_tax_included.search(zero_regex) %]error[% END %]">[% books_loo.ecost_tax_included | $Price %]</td>
<td class="number [% IF books_loo.replacementprice.search(zero_regex) %]error[% END %]">[% books_loo.replacementprice | $Price %]</td>
<td class="number [% IF books_loo.quantity.search(zero_regex) %]error[% END %]">[% books_loo.quantity | html %]</td>
<td class="number [% IF books_loo.total_tax_excluded.search(zero_regex) %]error[% END %]">[% books_loo.total_tax_excluded | $Price %]</td>
<td class="number [% IF books_loo.total_tax_included.search(zero_regex) %]error[% END %]">[% books_loo.total_tax_included | $Price %]</td>
<td class="number">[% books_loo.tax_rate * 100 | html %]</td>
<td class="number [% IF books_loo.tax_value.search(zero_regex) %]error[% END %]">[% books_loo.tax_value | $Price %]</td>
<td>[% books_loo.budget_name | html %]</td>
<td>[% books_loo.suppliers_report | html %]</td>
[% IF ( active ) %]
[% UNLESS ( closedate ) %]
<td>
<a href="neworderempty.pl?ordernumber=[% books_loo.ordernumber | uri %]&amp;booksellerid=[% booksellerid | uri %]&amp;basketno=[% basketno | uri %]">Modify</a>
[% UNLESS (books_loo.order_received) %]
<br />
<a href="#" class="transfer_order" data-ordernumber="[% books_loo.ordernumber | html %]">Transfer</a>
[% END %]
</td>
<td>
[% IF ( books_loo.left_holds_on_order ) %]
<span class="button" title="Can't cancel order, ([% books_loo.holds_on_order | html %]) holds are linked with this order. Cancel holds first">Can't cancel order</span><br>
[% ELSE %]
<a href="/cgi-bin/koha/acqui/cancelorder.pl?ordernumber=[% books_loo.ordernumber | uri %]&biblionumber=[% books_loo.biblionumber | uri %]&basketno=[% basketno | uri %]&referrer=/cgi-bin/koha/acqui/basket.pl%3Fbasketno=[% basketno | uri %]" class="button">Cancel order</a><br>
[% END %]
[% IF ( books_loo.can_del_bib ) %]
<a href="/cgi-bin/koha/acqui/cancelorder.pl?ordernumber=[% books_loo.ordernumber | uri %]&biblionumber=[% books_loo.biblionumber | uri %]&basketno=[% basketno | uri %]&del_biblio=1&referrer=/cgi-bin/koha/acqui/basket.pl%3Fbasketno=[% basketno | uri %]" class="button">Cancel order and delete catalog record</a><br>
[% ELSE %]
<span class="button" title="Can't delete catalog record, see constraints below">Can't cancel order and delete catalog record</span><br>
[% END %]
[% IF ( books_loo.left_item ) %]
<b title="Can't delete catalog record, because of [% books_loo.items | html %] existing hold(s)" >[% books_loo.items | html %] item(s) left</b><br>
[% END %]
[% IF ( books_loo.left_biblio ) %]
<b title="Can't delete catalog record, delete other orders linked to it first">[% books_loo.biblios | html %] order(s) left</b><br>
[% END %]
[% IF ( books_loo.left_subscription ) %]
<b title="Can't delete catalog record, delete subscriptions first">[% books_loo.subscriptions | html %] subscription(s) left</b><br>
[% END %]
[% IF ( books_loo.left_holds ) %]
<b title="Can't delete catalog record or order, cancel holds first">[% books_loo.holds | html %] hold(s) left</b>
[% END %]
</td>
[% END %]
[% END %]
</tr>
[% END %]
</tbody>
</table>
[% END %]
[% IF ( listincgst ) %]<small class="highlight">** Vendor's listings already include tax.</small>
[% END %]
</div> <!-- /#acqui_basket_content -->
[% IF (cancelledorders_loop) %]
<div id="cancelledorders">
<h2>Cancelled orders</h2>
<table id="cancelledorderst">
<thead>
<tr>
<th>No.</th>
<th>Order</th>
<th class="tax_excluded">RRP tax exc.</th>
<th class="tax_excluded">ecost tax exc.</th>
<th class="tax_included">RRP tax inc.</th>
<th class="tax_included">ecost tax inc.</th>
<th class="replacementprice">Replacement price</th>
<th>Qty.</th>
<th class="tax_excluded">Total tax exc. ([% currency | html %])</th>
<th class="tax_included">Total tax inc. ([% currency | html %])</th>
<th>GST %</th>
<th>GST</th>
<th>Fund</th>
</tr>
</thead>
<tbody>
[% FOREACH order IN cancelledorders_loop %]
<tr style="color:grey">
<td>
[% order.ordernumber | html %]
</td>
<td>
<p>
[% IF ( order.order_received ) %] (rcvd)[% END %]
[% IF (order.title) %]
[% order.title | html %][% IF order.author %] by [% order.author | html %][% END %]
[% ELSE %]
<em>Deleted bibliographic record, can't find title</em>
[% END %]
<br />
[% IF ( order.order_internalnote ) %] [% order.order_internalnote | html %][% END %]
[% IF ( order.isbn ) %] - [% order.isbn | html %][% END %]
[% IF ( order.issn ) %] - [% order.issn | html %][% END %]
[% IF ( order.publishercode ) %], [% order.publishercode | html %][% END %]
[% IF ( order.publicationyear ) %], [% order.publicationyear | html %]
[% ELSIF ( order.copyrightdate ) %] [% order.copyrightdate | html %][% END %]
[% IF ( books_loo.editionstatement ) %], [% books_loo.editionstatement | html %][% END %]
[% IF ( order.cancellationreason ) %]
<br />
Cancellation reason: [% AuthorisedValues.GetByCode( 'ORDER_CANCELLATION_REASON', order.cancellationreason ) | html %]
[% END %]
</p>
[% IF order.transferred_to %]
[% basket = order.transferred_to.basket %]
[% bookseller = order.transferred_to.bookseller %]
[% timestamp = order.transferred_to.timestamp %]
<p>Transferred to basket:
<a href="/cgi-bin/koha/acqui/basket.pl?basketno=[% basket.basketno | uri %]"> [% basket.basketname | html %]</a>
(<a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% bookseller.id | uri %]">[% bookseller.name | html %]</a>)
on <span title="[% timestamp | $KohaDates with_hours = 1 %]">
[% timestamp | $KohaDates %]
</span>
</p>
[% END %]
</td>
<td class="number">[% order.rrp_tax_excluded | $Price %]</td>
<td class="number">[% order.ecost_tax_excluded | $Price %]</td>
<td class="number">[% order.rrp_tax_included | $Price %]</td>
<td class="number">[% order.ecost_tax_included | $Price %]</td>
<td class="number">[% order.replacementprice | $Price %]</td>
<td class="number">[% order.quantity | html %]</td>
<td class="number">[% order.total_tax_excluded | $Price %]</td>
<td class="number">[% order.total_tax_included | $Price %]</td>
<td class="number">[% order.tax_rate * 100 | html %]</td>
<td class="number">[% order.tax_value | $Price %]</td>
<td>[% order.budget_name | html %]
</tr>
[% END %]
</tbody>
</table>
</div> <!-- /#cancelledorders -->
[% END %]
<br />
[% UNLESS ( closedate ) %]
<!-- Modal -->
<div id="addtoBasket" class="modal" tabindex="-1" role="dialog" aria-labelledby="addtoBasketLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-body">
[% IF active %]
[% INCLUDE 'acquisitions-add-to-basket.inc' %]
[% END %]
</div>
<div class="modal-footer">
<a href="#" class="cancel" data-dismiss="modal" aria-hidden="true">Cancel</a>
</div>
</div>
</div>
</div>
[% END %]
[% END %]
[% END %] [% ELSE %] <!-- if we want just to select a basketgroup for a closed basket -->
[% END %]
[% IF ( confirm_close ) %]
<div id="closebasket_needsconfirmation" class="dialog alert">
<form action="/cgi-bin/koha/acqui/basket.pl">
<h1>Are you sure you want to close basket [% basketname | html %]?</h1>
[% IF ( CAN_user_acquisition_group_manage ) %]
<p>
<label for="createbasketgroup">Attach this basket to a new basket group with the same name</label>
<input type="checkbox" id="createbasketgroup" name="createbasketgroup"/>
</p>
[% END %]
<input type="hidden" id="basketno" value="[% basketno | html %]" name="basketno" />
<input type="hidden" value="close" name="op" />
<input type="hidden" name="booksellerid" value="[% booksellerid | html %]" />
<input type="hidden" name="confirm" value="1" />
<input type="hidden" name="basketgroupname" value="[% basketgroupname | html %]" />
<button type="submit" class="approve" accesskey="y"><i class="fa fa-fw fa-check"></i> Yes, close (Y)</button>
</form>
<form action="/cgi-bin/koha/acqui/basket.pl" method="get">
<input type="hidden" name="basketno" value="[% basketno | html %]" />
<button type="submit" class="deny" accesskey="n"><i class="fa fa-fw fa-remove"></i> No, don't close (N)</button>
</form>
</div>
[% END %]
[% IF edi_confirm %]
<div id="closebasket_needsconfirmation" class="dialog alert">
<form action="/cgi-bin/koha/acqui/basket.pl">
<h1>Are you sure you want to generate an EDIFACT order and close basket [% basketname | html %]?</h1>
[% IF CAN_user_acquisition_group_manage %]
<p>
<label for="createbasketgroup">Attach this basket to a new basket group with the same name</label>
<input type="checkbox" id="createbasketgroup" name="createbasketgroup"/>
</p>
[% END %]
<input type="hidden" id="basketno" value="[% basketno | html %]" name="basketno" />
<input type="hidden" value="ediorder" name="op" />
<input type="hidden" name="ean" value="[% ean | html %]" />
<input type="hidden" name="booksellerid" value="[% booksellerid | html %]" />
<input type="hidden" name="confirm" value="1" />
<input type="hidden" name="basketgroupname" value="[% basketgroupname | html %]" />
<button type="submit" class="approve" accesskey="Y"><i class="fa fa-fw fa-check"></i> Yes, close (Y)</button>
</form>
<form action="/cgi-bin/koha/acqui/basket.pl" method="get">
<input type="hidden" name="basketno" value="[% basketno | html %]" />
<button type="submit" class="deny" accesskey="N"><i class="fa fa-fw fa-remove"></i> No, don't close (N)</button>
</form>
</div>
[% END %]
[% END %][%# IF (cannot_manage_basket) %]
</main>
</div> <!-- /.col-sm-10.col-sm-push-2 -->
<div class="col-sm-2 col-sm-pull-10">
<aside>
[% INCLUDE 'vendor-menu.inc' %]
[% INCLUDE 'acquisitions-menu.inc' %]
</aside>
</div> <!-- /.col-sm-2.col-sm-pull-10 -->
</div> <!-- /.row -->
<!-- Modal for editing vendor and internal notes -->
<div class="modal" id="noteEditor" tabindex="-1" role="dialog" aria-labelledby="noteEditorLabel">
<div class="modal-dialog" role="document">
<form id="modify_order_notes" action="/cgi-bin/koha/acqui/modordernotes.pl" method="post">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="closebtn" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title" id="noteEditorLabel">Order note</h4>
</div>
<div class="modal-body">
<textarea id="ordernotes" name="ordernotes" rows="3" cols="30" class="focus">[% ordernotes | html %]</textarea>
<input type="hidden" id="ordernumber" name="ordernumber" value="" />
<input type="hidden" name="op" value="save" />
<input type="hidden" id="type" name="type" value="" />
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-default">Save</button>
<button type="button" class="btn btn-link cancel" data-dismiss="modal">Cancel</button>
</div>
</div>
</form>
</div>
</div>
[% MACRO jsinclude BLOCK %]
[% Asset.js("js/acquisitions-menu.js") | $raw %]
[% INCLUDE 'datatables.inc' %]
[% INCLUDE 'columns_settings.inc' %]
[% Asset.js("lib/hc-sticky.js") | $raw %]
<script>
function updateColumnsVisibility(visible) {
if ( visible ) {
$("table .tax_excluded, .tax_included").show();
} else {
[% IF ( listincgst ) %]
$("table .tax_excluded").hide();
[% ELSE %]
$("table .tax_included").hide();
[% END %]
}
}
var Sticky;
$(document).ready(function() {
if ( $('#toolbar').length ) {
Sticky = $("#toolbar");
Sticky.hcSticky({
stickTo: "main",
stickyClass: "floating"
});
}
[% UNLESS ( closedate ) %]
$('#addtoBasket').on('show', function () {
$(this).find(".modal-body").html($(".acqui_basket_add")[0].outerHTML);
});
[% END %]
$("body").on("click", ".del_user", function(e){
e.preventDefault();
del_user( $(this).data("borrowernumber") );
});
$("#add_user").on("click",function(e){
e.preventDefault();
UserSearchPopup();
});
$(".transfer_order").on("click",function(e){
e.preventDefault();
transfer_order_popup( $(this).data("ordernumber"));
});
$(".edit_note").on("click", function(e) {
e.preventDefault();
var ordernumber = $(this).data("ordernumber");
var note_type = $(this).data("note_type");
var modalTitle = $(this).attr("title") + " (order number " + ordernumber + ")";
var note_text = $( "#" + note_type + "-note-" + ordernumber ).html();
$("#noteEditor .modal-title").text(modalTitle);
$("#ordernumber").val( ordernumber );
$("#ordernotes").html( note_text );
$("#type").val( note_type );
$("#noteEditor").modal("show");
$("#ordernotes").focus();
});
$("#noteEditor").on('hidden.bs.modal', function (e) {
$("#noteEditorLabel").html("");
$("#noteEditor .modal-title").text("");
$("#ordernotes").html( "" );
$("#ordernumber").val("");
$("#type").val("");
});
$("#set_managing_library").on("click", function(e){
e.preventDefault();
$(this).hide();
$("#managing_library_entry").show();
});
$("#library_entry_cancel").on("click", function(e){
e.preventDefault();
$("#managing_library_entry").hide();
$("#set_managing_library").show();
});
$("#set_basket_group").on("click", function(e){
e.preventDefault();
$(this).hide();
$("#basket_grouping").show();
});
$("#basket_group_cancel").on("click", function(e){
e.preventDefault();
$("#basket_grouping").hide();
$("#set_basket_group").show();
});
});
</script>
[% UNLESS ( closedate ) %]
<script>
function transfer_order_popup(ordernumber) {
var url = "/cgi-bin/koha/acqui/transferorder.pl?"
+ "ordernumber=" + ordernumber
window.open(url, 'TransferOrder','width=600,height=400,toolbar=false,scrollbars=yes');
}
function confirm_ediorder() {
var is_confirmed = confirm(_("Are you sure you want to close this basket and generate an EDIFACT order?"));
if (is_confirmed) {
window.location = "/cgi-bin/koha/acqui/basket.pl?op=edi_confirm&basketno=[% basketno | html %]";
}
}
</script>
[% ELSE %]
<script>
$(document).ready(function(){
$("#basketgroupid").change(function(){
if($(this).val() == "new"){
location.href="/cgi-bin/koha/acqui/basketgroup.pl?op=add&booksellerid=[% booksellerid | html %]";
} else {
$(this).parent().submit();
}
});
});
</script>
[% UNLESS ( grouped ) %]
<script>
function confirm_reopen() {
var skip = [% IF ( skip_confirm_reopen ) %] 1 [% ELSE %] 0 [% END %];
var is_confirmed = skip || confirm(_("Are you sure you want to reopen this basket?"));
if (is_confirmed) {
window.location = "/cgi-bin/koha/acqui/basket.pl?op=reopen&basketno=[% basketno | html %]";
}
}
</script>
[% END %]
[% END %]
<script>
var columns_settings = [% ColumnsSettings.GetColumns( 'acqui', 'basket', 'orders', 'json' ) | $raw %];
$(document).ready(function() {
KohaTable("orders", {
[% IF ( active ) %]
"aoColumnDefs": [
{ "bSortable": false, "bSearchable": false, 'aTargets': [ 'NoSort' ] },
{ "sType": "anti-the", "aTargets": [ "anti-the" ] }
],
[% END %]
"sPaginationType": "four_button",
"autoWidth": false,
"exportColumns": [0,1,2,3,4,5,6,7,8,9,10,11,12,13]
}, columns_settings);
var cancelledorderst = $("#cancelledorderst").dataTable($.extend(true, {}, dataTablesDefaults, {
"sPaginationType": "four_button"
} ) );
$("#reopenbutton").on("click",function(e){
e.preventDefault();
confirm_reopen();
});
// Generates a dynamic link for exporting the selections data as CSV
$("#exportbutton, #export-csv-menu a").click(function() {
// Building the url from currently checked boxes
var url = '/cgi-bin/koha/acqui/basket.pl';
url += $('#exportbutton').attr('href');
if($(this).attr("data-value")) {
url += '&amp;csv_profile=' + $(this).attr("data-value");
}
// And redirecting to the CSV page
location.href = url;
return false;
});
$("#select_managing_library").on("change", function(){
$(this).parent().submit();
});
});
function UserSearchPopup(f) {
window.open(
"/cgi-bin/koha/acqui/add_user_search.pl",
'UserSearchPopup',
'width=840, height=500, 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 href="#" data-borrowernumber="'+borrowernumber+'" class="del_user"><i class="fa fa-trash"></i> '
+ _("Delete user") + '</a></li>';
$("#users_names").prepend(li);
$("#add_user_submit").show();
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(':'));
$("#add_user_submit").show();
}
</script>
[% END %]
[% INCLUDE 'intranet-bottom.inc' %]