Koha/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/invoices.tt
Jared Camins-Esakov d02e2789e5 Bug 10390: Add ability to delete empty invoices
There is currently no way to delete unused invoices (for example,
invoices created by mistake), and there really should be, since errors
and absent-mindedness can result in numerous empty invoices over the
course of years.

To test:
1) Apply patch.
2) Create three invoices in the Acquisitions module. For one of them,
   receive at least one item. For the other two, do not receive any
   items.
3) View one of the invoices that does not have any items on it.
4) Try to delete it. This should succeed.
5) View the invoice that has an item. There should not be any option
   to delete it.
6) Do an invoice search that brings up the other invoice with no items
   on it. Try to delete it from the results page. This should succeed.
7) Run the unit test:
   > prove t/Acquisition/Invoice.t
8) Sign off.

Signed-off-by: Srdjan <srdjan@catalyst.net.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
All tests and QA script pass. I also did another test:

I cancelled all receipts from an existing invoice and then could
successfully delete it in the last step.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2013-07-05 16:51:18 +00:00

238 lines
10 KiB
Text

[% USE KohaDates %]
[% INCLUDE 'doc-head-open.inc' %]
<title>Koha &rsaquo; Acquisitions &rsaquo; Invoices</title>
<link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" />
[% INCLUDE 'doc-head-close.inc' %]
<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.dataTables.min.js"></script>
[% INCLUDE 'datatables-strings.inc' %]
<script type="text/javascript" src="[% themelang %]/js/datatables.js"></script>
[% INCLUDE 'calendar.inc' %]
<script type="text/javascript">
//<![CDATA[
$(document).ready(function() {
[% IF (dateformat == 'metric') %]
dt_add_type_uk_date();
[% END %]
$("#resultst").dataTable($.extend(true, {}, dataTablesDefaults, {
bInfo: false,
bPaginate: false,
bFilter: false,
sDom: "t",
aoColumnDefs: [
{ "bSortable": false, "aTargets": [6] }
]
}));
});
//]]>
</script>
</head>
<body>
[% 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; Invoices</div>
<div id="doc3" class="yui-t2">
<div id="bd">
<div id="yui-main">
<div class="yui-b">
<h1>Invoices</h1>
[% IF ( do_search ) %]
[% IF invoices %]
<table id="resultst">
<thead>
<tr>
<th>Invoice no.</th>
<th>Vendor</th>
<th>Billing date</th>
<th>Received biblios</th>
<th>Received items</th>
<th>Status</th>
<th>&nbsp;</th>
</tr>
</thead>
<tbody>
[% FOREACH invoice IN invoices %]
<tr>
<td><a href="/cgi-bin/koha/acqui/invoice.pl?invoiceid=[% invoice.invoiceid %]">[% invoice.invoicenumber %]</a></td>
<td><a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% invoice.booksellerid %]">[% invoice.suppliername %]</a></td>
<td>
[% IF invoice.billingdate %]
[% invoice.billingdate | $KohaDates %]
[% END %]
</td>
<td>[% invoice.receivedbiblios %]</td>
<td>[% invoice.receiveditems %]</td>
<td>
[% IF invoice.closedate %]
Closed on [% invoice.closedate | $KohaDates %]
[% ELSE %]
Open
[% END %]
</td>
<td>
<a href="/cgi-bin/koha/acqui/invoice.pl?invoiceid=[% invoice.invoiceid %]">Details</a> /
[% IF invoice.closedate %]
<a href="invoice.pl?op=reopen&amp;invoiceid=[% invoice.invoiceid %]&amp;referer=/cgi-bin/koha/acqui/invoices.pl%3Fop=do_search%26invoicenumber=[% invoicenumber %]%26supplier=[% booksellerid %]%26billingdatefrom=[% billingdatefrom %]%26billingdateto=[% billingdateto %]%26isbneanissn=[% isbneanissn %]%26title=[% title %]%26author=[% author %]%26publisher=[% publisher %]%26publicationyear=[% publicationyear %]%26branch=[% branch %]">Reopen</a>
[% ELSE %]
<a href="invoice.pl?op=close&amp;invoiceid=[% invoice.invoiceid %]&amp;referer=/cgi-bin/koha/acqui/invoices.pl%3Fop=do_search%26invoicenumber=[% invoicenumber %]%26supplier=[% booksellerid %]%26billingdatefrom=[% billingdatefrom %]%26billingdateto=[% billingdateto %]%26isbneanissn=[% isbneanissn %]%26title=[% title %]%26author=[% author %]%26publisher=[% publisher %]%26publicationyear=[% publicationyear %]%26branch=[% branch %]">Close</a>
[% END %]
[% UNLESS invoice.receivedbiblios || invoice.receiveditems %]
/ <a href="invoice.pl?op=delete&amp;invoiceid=[% invoice.invoiceid %]&amp;referer=/cgi-bin/koha/acqui/invoices.pl%3Fop=do_search%26invoicenumber=[% invoicenumber %]%26supplier=[% booksellerid %]%26billingdatefrom=[% billingdatefrom %]%26billingdateto=[% billingdateto %]%26isbneanissn=[% isbneanissn %]%26title=[% title %]%26author=[% author %]%26publisher=[% publisher %]%26publicationyear=[% publicationyear %]%26branch=[% branch %]">Delete</a>
[% END %]
</td>
</tr>
[% END %]
</tbody>
</table>
[% ELSE %]
<p>Sorry, but there is no results for your search.</p>
<p>Search was:
<ul>
[% IF ( invoicenumber ) %]
<li>Invoice no.: [% invoicenumber %]</li>
[% END %]
[% IF booksellerid %]
<li>Vendor: [% suppliername %]</li>
[% END %]
[% IF ( billingdatefrom ) %]
<li>Billing date:
[% IF ( billingdateto ) %]
From [% billingdatefrom %]
To [% billingdateto %]
[% ELSE %]
All since [% billingdatefrom %]
[% END %]
</li>
[% ELSE %]
[% IF ( billingdateto ) %]
<li>Billing date:
All until [% billingdateto %]
</li>
[% END %]
[% END %]
[% IF ( isbneanissn ) %]
<li>ISBN/EAN/ISSN: [% isbneanissn %]</li>
[% END %]
[% IF ( title ) %]
<li>Title: [% title %]</li>
[% END %]
[% IF ( author ) %]
<li>Author: [% author %]</li>
[% END %]
[% IF ( publisher ) %]
<li>Publisher: [% publisher %]</li>
[% END %]
[% IF ( publicationyear ) %]
<li>Publication year: [% publicationyear %]</li>
[% END %]
[% IF ( branch ) %]
<li>Library: [% branchname %]</li>
[% END %]
</ul>
</p>
[% END %]<!-- invoices -->
[% ELSE %]
<p>Use the search form on the left to find invoices.</p>
[% END %]<!-- do_search -->
</div>
</div>
<div class="yui-b">
<form action="" method="get">
<fieldset class="brief">
<h3>Search filters</h3>
<ol>
<li>
<label for="invoicenumber">Invoice no:</label>
<input type="text" id="invoicenumber" name="invoicenumber" value="[% invoicenumber %]" />
</li>
<li>
<label for="supplier">Vendor:</label>
<select id="supplier" name="supplierid">
<option value="">All</option>
[% FOREACH supplier IN suppliers_loop %]
[% IF ( supplier.selected ) %]
<option selected="selected" value="[% supplier.booksellerid %]">[% supplier.suppliername %]</option>
[% ELSE %]
<option value="[% supplier.booksellerid %]">[% supplier.suppliername %]</option>
[% END %]
[% END %]
</select>
</li>
<li>
<fieldset class="brief">
<legend>Shipment date</legend>
<ol>
<li>
<label for="shipmentdatefrom">From:</label>
<input type="text" id="shipmentdatefrom" name="shipmentdatefrom" size="10" value="[% shipmentdatefrom %]" class="datepicker" />
</li>
<li>
<label for="shipmentdateto">To:</label>
<input type="text" id="shipmentdateto" name="shipmentdateto" size="10" value="[% shipmentdateto %]" class="datepicker" />
</li>
</ol>
</fieldset>
</li>
<li>
<fieldset class="brief">
<legend>Billing date</legend>
<ol>
<li>
<label for="billingdatefrom">From:</label>
<input type="text" id="billingdatefrom" name="billingdatefrom" size="10" value="[% billingdatefrom %]" class="datepicker" />
</li>
<li>
<label for="billingdateto">To:</label>
<input type="text" id="billingdateto" name="billingdateto" size="10" value="[% billingdateto %]" class="datepicker" />
</li>
</ol>
</fieldset>
</li>
<li>
<label for="isbneanissn">ISBN / EAN / ISSN:</label>
<input type="text" id="isbneanissn" name="isbneanissn" value="[% isbneanissn %]" />
</li>
<li>
<label for="title">Title:</label>
<input type="text" id="title" name="title" value="[% title %]" />
</li>
<li>
<label for="author">Author:</label>
<input type="text" id="author" name="author" value="[% author %]" />
</li>
<li>
<label for="publisher">Publisher:</label>
<input type="text" id="publisher" name="publisher" value="[% publisher %]" />
</li>
<li>
<label for="publicationyear">Publication year:</label>
<input type="text" id="publicationyear" name="publicationyear" value="[% publicationyear %]" />
</li>
<li>
<label for="branch">Library:</label>
<select id="branch" name="branch">
<option value="">All</option>
[% FOREACH branch IN branches_loop %]
[% IF ( branch.selected ) %]
<option selected="selected" value="[% branch.branchcode %]">[% branch.branchname %]</option>
[% ELSE %]
<option value="[% branch.branchcode %]">[% branch.branchname %]</option>
[% END %]
[% END %]
</select>
</li>
</ol>
<fieldset class="action">
<input type="submit" value="Search" />
</fieldset>
</fieldset>
<input type="hidden" name="op" id="op" value="do_search" />
</form>
[% INCLUDE 'acquisitions-menu.inc' %]
</div>
</div>
[% INCLUDE 'intranet-bottom.inc' %]