Koha/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/basketgroup.tt
Katrin Fischer a2314dc0ce
Bug 31056: Restore closeandprint function on basketgroups page
Bug 13614 removed the basketgroup.js asset from the basket group
page. This file includes the closeandprint function used for
closing and printing the PDF from the open basket groups tab.
The patch restores just this function directly in the file where
it's needed as this is the only spot and it's only a few lines.
The rest of basketgroup.js appears unused.

To test:
* Create a basket with one or more oder lines
* Close the basket and check the checkbox to add it to a
  basket group
* Reopen the basket group from the basket groups page
* Verify the close and print only leads to a JS error and
  nothing happens
* Apply patch
* Repeat and verify you can now 'Close and print' from the
  open basket group tab
* Verify all other buttons work as expected as well

Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>

JD Amended patch: fix indentation and spacing

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-02-27 11:40:27 -03:00

445 lines
30 KiB
Text

[% USE raw %]
[% USE Asset %]
[% USE Branches %]
[% USE Price %]
[% INCLUDE 'doc-head-open.inc' %]
<title>Basket grouping for [% booksellername | html %] &rsaquo; Koha</title>
[% INCLUDE 'doc-head-close.inc' %]
[% INCLUDE 'datatables.inc' %]
<script>
var MSG_CONFIRM_CLOSE_BASKETGROUP = _("Are you sure you want to close this basketgroup?");
var MSG_CLOSE_EMPTY_BASKET = _("Why close an empty basket?");
var MSG_SAVE_BEFORE_PRINTING = _("You need to save the page before printing");
var MSG_REOPEN_BASKETGROUP = _("reopen basketgroup");
var MSG_FILE_DOWNLOAD_ERROR = _("Error downloading the file");
function submitForm(form) {
if (form.close.checked == true) {
var input = document.createElement("input");
input.setAttribute("type", "hidden");
input.setAttribute("name", "closed");
input.setAttribute("value", "1");
form.appendChild(input);
}
}
function closeandprint(bg){
if(document.location = '/cgi-bin/koha/acqui/basketgroup.pl?op=closeandprint&amp;basketgroupid=' + bg ){
setTimeout("window.location.reload();", 3000);
} else {
alert(MSG_FILE_DOWNLOAD_ERROR);
}
}
$(document).ready(function() {
[% IF ( listclosed) %]
$("#basket_groups a[href='#closed']").tab("show");
[% ELSE %]
$("#basket_groups a[href='#opened']").tab("show");
[% END %]
[% UNLESS ( grouping ) %]
$("table").dataTable($.extend(true, {}, dataTablesDefaults, {
"aoColumnDefs": [
{ "aTargets": [ -1 ], "bSortable": false, "bSearchable": false },
],
"bAutoWidth": false,
"sPaginationType": "full"
} ));
[% ELSE %]
grouped = $("#grouped").DataTable($.extend(true, {}, dataTablesDefaults, {
"dom": 't',
"columnDefs": [
{ 'sortable': false, 'targets': [ 'NoSort' ] }
],
'autoWidth': false,
"language": {
"emptyTable": _("There are no baskets in this group")
}
} ));
ungrouped = $("#ungrouped").DataTable($.extend(true, {}, dataTablesDefaults, {
"dom": 't',
"columnDefs": [
{ 'sortable': false, 'targets': [ 'NoSort' ] }
],
'autoWidth': false,
"language": {
"emptyTable": _("There are no ungrouped baskets")
}
} ));
[% END %]
$("#basketgroupcolumns").on("click", ".addtogroup", function(){
const row = $("#" + $(this).data("basketid") );
if( row ){
$(this).removeClass("addtogroup").addClass("removefromgroup").html("<i class=\"fa fa-trash\" aria-hidden=\"true\"></i> " + _("Remove") );
row.removeClass("ungrouped").addClass("grouped");
ungrouped.row( row ).remove().draw();
grouped.row.add( row ).draw();
}
});
$("#basketgroupcolumns").on("click", ".removefromgroup", function(){
const row = $("#" + $(this).data("basketid") );
if( row ){
$(this).removeClass("removefromgroup").addClass("addtogroup").html("<i class=\"fa fa-plus\" aria-hidden=\"true\"></i> " + _("Add to group") );
$(this).removeClass("").addClass("");
row.removeClass("grouped").addClass("ungrouped");
grouped.row( row ).remove().draw();
ungrouped.row.add( row ).draw();
}
});
});
</script>
</head>
<body id="acq_basketgroup" class="acq">
[% WRAPPER 'header.inc' %]
[% INCLUDE 'acquisitions-search.inc' %]
[% END %]
[% WRAPPER 'sub-header.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>
[% IF ( grouping ) %]
<li>
<a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid | uri %]">[% booksellername | html %]</a>
</li>
<li>
<a href="/cgi-bin/koha/acqui/basketgroup.pl?booksellerid=[% booksellerid | uri %]">Basket grouping</a>
</li>
<li>
<a href="#" aria-current="page">
Add basket group for [% booksellername | html %]
</a>
</li>
[% ELSE %]
<li>
<a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid | uri %]">[% booksellername | html %]</a>
</li>
<li>
<a href="#" aria-current="page">
Basket grouping
</a>
</li>
[% END %]
</ol>
</nav>
[% END %]
<div class="main container-fluid">
<div class="row">
<div class="col-sm-10 col-sm-push-2">
<main>
[% IF ( grouping ) %]
[% IF (closedbg) %]
<div id="toolbar" class="btn-toolbar">
<div class="btn-group"><a href="[% script_name | url %]?op=reopen&amp;basketgroupid=[% basketgroupid | uri %]&amp;booksellerid=[% booksellerid | uri %]&amp;mode=singlebg" class="btn btn-default" id="reopenbutton"><i class="fa fa-download"></i> Reopen basket group</a></div>
<div class="btn-group"><a href="[% script_name | url %]?op=export&amp;basketgroupid=[% basketgroupid | uri %]&amp;booksellerid=[% booksellerid | uri %]" class="btn btn-default" id="exportbutton"><i class="fa fa-download"></i> Export basket group as CSV</a></div>
<div class="btn-group"><a href="[% script_name | url %]?op=print&amp;basketgroupid=[% basketgroupid | uri %]&amp;booksellerid=[% booksellerid | uri %]" class="btn btn-default" id="printbutton"><i class="fa fa-download"></i> Print basket group in PDF</a></div>
[% IF (ediaccount) %]
<div class="btn-group"><a href="[% script_name | url %]?op=ediprint&amp;basketgroupid=[% basketgroupid | uri %]&amp;booksellerid=[% booksellerid | uri %]" class="btn btn-default" id="printbutton"><i class="fa fa-download"></i> Generate EDIFACT order</a></div>
[% END %]
</div>
[% END %]
[% IF (name && closedbg) %]
<h1>Basket group [% name | html %] ([% basketgroupid | html %]) for <a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid | uri %]">[% booksellername | html %]</a></h1>
[% ELSIF (name) %]
<h1>Edit basket group [% name | html %] ([% basketgroupid | html %]) for <a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid | uri %]">[% booksellername | html %]</a></h1>
[% ELSE %]
<h1>Add basket group for <a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid | uri %]">[% booksellername | html %]</a></h1>
[% END %]
<div id="basketgroupcolumns" class="row">
[% UNLESS (closedbg) %]
<div class="col-xs-6 col-xs-push-6">
<div id="groups">
<div class="workarea_alt" >
<h3>Ungrouped baskets</h3>
<div class="page-section">
<table id="ungrouped" class="basketgroup_baskets">
<thead>
<tr>
<th>Basket</th>
<th>Total</th>
<th class="NoSort"></th>
</tr>
</thead>
<tbody>
[% IF ( baskets ) %]
[% FOREACH basket IN baskets %]
<tr class="ungrouped" id="b-[% basket.basketno | html %]">
<td>
<a href="basket.pl?basketno=[% basket.basketno | uri %]">
[% IF ( basket.basketname ) %]
[% basket.basketname | html %]
[% ELSE %]
<span>No name, basketnumber: [% basket.basketno | html %]</span>
[% END %]
</a>
</td>
<td data-sort="[% basket.total | html %]">
[% basket.total | $Price %]
<input type="hidden" class="basket" name="basket" value="[% basket.basketno | html %]" />
</td>
<td>
<a class="addtogroup btn btn-default btn-xs" data-basketid="b-[% basket.basketno | html %]">
<i class="fa fa-plus" aria-hidden="true"></i> Add to group
</a>
</td>
</tr>
[% END %]
[% END %]
</tbody>
</table>
</div><!--/.page-section -->
</div><!-- /#groups -->
</div><!-- /.col-xs-6 -->
</div>
[% END %]
[% IF ( closedbg ) %]
<div class="col-xs-12">
[% ELSE %]
<div class="col-xs-6 col-xs-pull-6">
[% END %]
<form action="/cgi-bin/koha/acqui/basketgroup.pl" method="post" id="groupingform" onsubmit="return submitForm(this)">
<fieldset id="various" class="brief">
<ol>
[% UNLESS (closedbg) %]
<li>
<label for="basketgroupname">Basket group name:</label>
<input type="text" name="basketgroupname" id="basketgroupname" value="[% name | html %]" class="focus" />
</li>
[% ELSE %]
<input type="hidden" name="basketgroupname" id="basketgroupname" value="[% name | html %]" />
[% END %]
<li>
[% UNLESS (closedbg) %]
<label for="billingplace">Billing place:</label>
<select name="billingplace" id="billingplace">
<option value="">--</option>
[% PROCESS options_for_libraries libraries => Branches.all( selected => billingplace ) %]
</select>
[% ELSE %]
<span class="label">Billing place:</span>
<input name="billingplace" id="billingplace" type ="hidden" value="[% billingplace | html %]" />[% Branches.GetName( billingplace ) | html %]
[% END %]
</li>
[% UNLESS (closedbg) %]
<li>
<label for="deliveryplace">Delivery place:</label>
<select name="deliveryplace" id="deliveryplace">
<option value="">--</option>
[% PROCESS options_for_libraries libraries => Branches.all( selected => deliveryplace ) %]
</select>
</li>
</ol>
<p>or</p>
<ol>
<li>
<label for="freedeliveryplace">Delivery place:</label>
<textarea cols="26" rows="3" name="freedeliveryplace" id="freedeliveryplace">[% freedeliveryplace | html %]</textarea>
</li>
[% ELSE %]
<li>
<span class="label">Delivery place:</span>
[% IF (freedeliveryplace) %]
<input name="freedeliveryplace" id="freedeliveryplace" type ="hidden" value="[% freedeliveryplace | html %]" />[% freedeliveryplace | html %]
<input name="deliveryplace" id="deliveryplace" type ="hidden" value="" />
[% ELSE %]
<input name="deliveryplace" id="deliveryplace" type ="hidden" value="[% deliveryplace | html %]" />[% Branches.GetName( deliveryplace ) | html %]
<input name="freedeliveryplace" id="freedeliveryplace" type ="hidden" value="" />
[% END %]
</li>
[% END %]
<li>
[% UNLESS (closedbg) %]
<label for="deliverycomment">Delivery comment:</label>
<textarea cols="26" rows="3" name="deliverycomment" id="deliverycomment">[% deliverycomment | html %]</textarea>
[% ELSE %]
<span class="label">Delivery comment:</span>[% deliverycomment | html %]
<input name="deliverycomment" id="deliverycomment" type="hidden" value = "[% deliverycomment | html %]" />
[% END %]
</li>
</ol>
<h3>Baskets in this group:</h3>
<table id="grouped" class="basketgroup_baskets">
<thead>
<tr>
<th>Basket</th>
<th>Total</th>
<th class="NoSort"></th>
</tr>
</thead>
<tbody>
[% FOREACH selectedbasket IN selectedbaskets %]
<tr id="b-[% selectedbasket.basketno | html %]">
<td>
<a href="basket.pl?basketno=[% selectedbasket.basketno | uri %]">
[% IF ( selectedbasket.basketname ) %]
[% selectedbasket.basketname | html %]
[% ELSE %]
<span>No name, basketnumber: [% selectedbasket.basketno | html %]</span>
[% END %]
</a>
</td>
<td data-sort="[% selectedbasket.total | html %]">
[% selectedbasket.total | $Price %]
<input type="hidden" class="basket" name="basket" value="[% selectedbasket.basketno | html %]" />
</td>
<td>
[% IF ( closedbg ) %]
[% ELSE %]
<a class="removefromgroup btn btn-default btn-xs" data-basketid="b-[% selectedbasket.basketno | html %]" id="addtogroup[% selectedbasket.basketno | html %]">
<i class="fa fa-trash" aria-hidden="true"></i> Remove
</a>
[% END %]
</td>
</tr>
[% END %]
</tbody>
</table>
[% UNLESS (closedbg) %]
<ol>
<li><label for="closedbg">Close basket group</label><input type="checkbox" id="closedbg" name="closedbg" /></li>
</ol>
[% ELSE %]
<input type="hidden" id="closedbg" name="closedbg" value ="1"/>
[% END %]
</fieldset>
[% UNLESS (closedbg) %]
<fieldset class="action"><input type="hidden" name="booksellerid" value="[% booksellerid | html %]" />
[% IF ( basketgroupid ) %]
<input type="hidden" name="basketgroupid" value="[% basketgroupid | html %]" />
[% END %]
<input type="hidden" name="op" value="attachbasket" />
<input type="submit" class="btn btn-primary" value="Save" /> <a href="/cgi-bin/koha/acqui/basketgroup.pl?booksellerid=[% booksellerid | uri %]" class="cancel">Cancel</a>
</fieldset>
[% END %]
</form>
</div>
</div>
[% ELSE %]
<div id="toolbar" class="btn-toolbar">
<div class="btn-group"><a href="/cgi-bin/koha/acqui/basketgroup.pl?op=add&amp;booksellerid=[% booksellerid | uri %]" class="btn btn-default" id="newbasketgroup"><i class="fa fa-plus"></i> New basket group</a></div>
</div>
<h1>Basket grouping for <a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid | uri %]">[% booksellername | html %]</a></h1>
[% IF (NoEDIMessage) %]<div><strong>No EDIFACT configuration for [% booksellername | html %]</strong></div>[% END %]
[% WRAPPER tabs id= "basket_groups" %]
[% WRAPPER tabs_nav %]
[% WRAPPER tab_item tabname= "opened" bt_active= 1 %] Open [% END %]
[% WRAPPER tab_item tabname= "closed" %] Closed [% END %]
[% END %]
[% WRAPPER tab_panels %]
[% WRAPPER tab_panel tabname="opened" bt_active= 1 %]
<table id="basket_group_opened">
<thead>
<tr>
<th>Name</th>
<th>Number</th>
<th>Billing place</th>
<th>Delivery place</th>
<th>Number of baskets</th>
<th>Action</th>
</tr>
</thead>
<tbody>
[% FOREACH basketgroup IN basketgroups %]
[% UNLESS ( basketgroup.closed ) %]
<tr>
<td>[% IF ( basketgroup.name ) %]
[% basketgroup.name | html %]
[% ELSE %]
<span>Basket group no. [% basketgroup.id | html %]</span>
[% END %]
</td>
<td>[% basketgroup.id | html %]</td>
<td>[% Branches.GetName( basketgroup.billingplace ) | html %]</td>
<td>[% IF (basketgroup.freedeliveryplace) %]Free delivery place[% ELSE %][% Branches.GetName( basketgroup.deliveryplace ) | html %][% END %]</td>
<td>[% basketgroup.basketsqty | html %]</td>
<td>
<input type="button" onclick="closeandprint('[% basketgroup.id | html %]');" value="Close and export as PDF" />
<form action="/cgi-bin/koha/acqui/basketgroup.pl" method="get"><input type="hidden" name="op" value="add" /><input type="hidden" name="booksellerid" value="[% basketgroup.booksellerid | html %]" /><input type="hidden" name="basketgroupid" value="[% basketgroup.id | html %]" /><input type="submit" class="btn btn-primary" value="Edit" /></form>
[% UNLESS basketgroup.basketsqty %]
<form action="/cgi-bin/koha/acqui/basketgroup.pl" method="get"><input type="hidden" name="op" value="delete" /><input type="hidden" name="booksellerid" value="[% basketgroup.booksellerid | html %]" /><input type="hidden" name="basketgroupid" value="[% basketgroup.id | html %]" /><input type="submit" class="btn btn-primary" value="Delete" /></form>
[% END %]
</td>
</tr>
[% END %]
[% END %]
</tbody>
</table>
[% END #/opened %]
[% WRAPPER tab_panel tabname="closed" %]
<table id="basket_group_closed">
<thead>
<tr>
<th>Name</th>
<th>Number</th>
<th>Billing place</th>
<th>Delivery place</th>
<th>Number of baskets</th>
<th>Action</th>
</tr>
</thead>
<tbody>
[% FOREACH basketgroup IN basketgroups %]
[% IF ( basketgroup.closed ) %]
<tr>
<td>
[% IF ( basketgroup.name ) %]
[% basketgroup.name | html %]
[% ELSE %]
<span>Basket group no. [% basketgroup.id | html %]</span>
[% END %]
</td>
<td>[% basketgroup.id | html %]</td>
<td>[% Branches.GetName( basketgroup.billingplace ) | html %]</td>
<td>[% IF (basketgroup.freedeliveryplace) %]Free delivery place[% ELSE %][% Branches.GetName( basketgroup.deliveryplace ) | html %][% END %]</td>
<td>[% basketgroup.basketsqty | html %]</td>
<td>
<form action="/cgi-bin/koha/acqui/basketgroup.pl" method="get"><input type="hidden" name="op" value="add" /><input type="hidden" name="booksellerid" value="[% basketgroup.booksellerid | html %]" /><input type="hidden" name="basketgroupid" value="[% basketgroup.id | html %]" /><input type="submit" class="btn btn-primary" value="View" /></form>
<form action="/cgi-bin/koha/acqui/basketgroup.pl" method="get"><input type="hidden" name="op" value="reopen" /><input type="hidden" name="booksellerid" value="[% basketgroup.booksellerid | html %]" /><input type="hidden" name="basketgroupid" value="[% basketgroup.id | html %]" /><input type="submit" class="btn btn-primary" value="Reopen" /></form>
<form action="/cgi-bin/koha/acqui/basketgroup.pl" method="get"><input type="hidden" name="op" value="print" /><input type="hidden" name="basketgroupid" value="[% basketgroup.id | html %]" /><input type="submit" class="btn btn-primary" value="Export as PDF" /></form>
<form action="/cgi-bin/koha/acqui/basketgroup.pl" method="get"><input type="hidden" name="op" value="export" /><input type="hidden" name="basketgroupid" value="[% basketgroup.id | html %]" /><input type="submit" class="btn btn-primary" value="Export as CSV" /></form>
[% IF (ediaccount) %]
<form action="/cgi-bin/koha/acqui/basketgroup.pl" method="get"><input type="hidden" name="op" value="ediprint" /><input type="hidden" name="basketgroupid" value="[% basketgroup.id | html %]" /><input type="submit" class="btn btn-primary" value="Generate EDIFACT order" /></form>
[% ELSE %]
<div>No EDIFACT configuration for [% booksellername | html %]</div>
[% END %]
</td>
</tr>
[% END %]
[% END %]
</tbody>
</table>
[% END #/closed %]
[% END # /WRAPPER tab_panels %]
[% END # /#basket_groups %]
[% END %]
</main>
</div> <!-- /.col-sm-10.col-sm-push-2 -->
<div class="col-sm-2 col-sm-pull-10">
<aside>
[% IF ( booksellerid ) %]
[% INCLUDE 'vendor-menu.inc' %]
[% END %]
[% INCLUDE 'acquisitions-menu.inc' %]
</aside>
</div>
</div> <!-- /.row -->
[% INCLUDE 'intranet-bottom.inc' %]