Owen Leonard
81c90ba3bf
This patch adds a new menu for vendor-related pages in which vendor related "views" can be linked to: baskets, basket groups, contracts, invoices, uncertain prices. The acquisitions toolbar is pared down to vendor-related actions: New basket, contract, or vendor; edit vendor, delete vendor, receive shipment. Other small improvements have been made to other pages: corrections to breadcrumbs and title tags, adding useful links betweeen pages. Vendor menu and toolbar are added to booksellers.pl when there is only one "search result" (i.e. a vendor id is passed). - Menu appears when booksellerid variable is present - Redundant heading removed - Additional variables added to enable proper display of the toolbar - Revision corrects broken links pointed out by QA. - Revision adds check of existing baskets and subscriptions as a condition on display of the vendor delete button. TODO: Add coverage of Basket groups page. To test, navigate Acquisitions pages and test as many links and buttons as you can, confirming that nothing is broken on vendor pages, invoice pages, contract pages, uncertain price pages, etc. Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com> All tests pass - I like this very much! Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de> All tests and QA script pass. Tests done: 1) New toolbar - vendor search - no results = button to create new vendor shows - 1 result = additional new options show - more than one result = button to create new vendor shows 2) Vendor views - acq toolbar consistent with 1 result in vendor search - new tabs on the left - checked all links have the needed parameters and work correctly 3) New toolbar - different pages - Toolbar is formatted consistently - Delete vendor shows only up when it should - no baskets or subscriptions - Links work correctly Works nicely, great groundwork for further improvements. TODO Add new toolbar to (new) invoices page. Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
292 lines
16 KiB
Text
292 lines
16 KiB
Text
[% USE KohaDates %]
|
|
[% INCLUDE 'doc-head-open.inc' %]
|
|
<title>Koha › Vendor [% bookselname %]</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>
|
|
|
|
<script type="text/javascript">
|
|
//<![CDATA[
|
|
function confirm_deletion() {
|
|
if (confirm(_("Confirm deletion of this vendor ?"))) {
|
|
window.location="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid %]&op=delete";
|
|
}
|
|
}
|
|
function check(f) {
|
|
if (f.company.value == "") {
|
|
alert(_("You must specify a name for this vendor."));
|
|
return false;
|
|
}
|
|
f.submit();
|
|
}
|
|
|
|
$(document).ready(function() {
|
|
[% IF (dateformat == 'metric') %]
|
|
dt_add_type_uk_date();
|
|
[% END %]
|
|
var contractst = $("#contractst").dataTable($.extend(true, {}, dataTablesDefaults, {
|
|
"aoColumnDefs": [
|
|
{ "aTargets": [ -1, -2 ], "bSortable": false, "bSearchable": false },
|
|
[% IF (dateformat == 'metric') %]
|
|
{ "aTargets": [ 2, 3 ], "sType": "uk_date" },
|
|
[% END %]
|
|
],
|
|
'bPaginate': false,
|
|
'bFilter': false,
|
|
'bInfo': false,
|
|
} ) );
|
|
});
|
|
//]]>
|
|
</script>
|
|
</head>
|
|
<body id="acq_supplier" 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> › [% IF ( enter ) %][% IF ( booksellerid ) %] <a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid %]">[% name %]</a> › Update: [% name %][% ELSE %]Add vendor[% END %] [% ELSE %][% name %][% END %]</div>
|
|
|
|
<div id="doc3" class="yui-t2">
|
|
|
|
<div id="bd">
|
|
<div id="yui-main">
|
|
<div class="yui-b">
|
|
[% IF ( enter ) %]
|
|
[% IF ( booksellerid ) %]
|
|
<h1>Update: [% name %]</h1>
|
|
[% ELSE %]
|
|
<h1>Add vendor</h1>
|
|
[% END %]
|
|
[% END %]
|
|
[% UNLESS ( enter ) %][% INCLUDE 'acquisitions-toolbar.inc' %][% END %]
|
|
[% IF ( enter ) %]
|
|
<form action="updatesupplier.pl" name="updatesupplier" method="post">
|
|
<div class="yui-g">
|
|
<input type="hidden" name="booksellerid" value="[% booksellerid %]" />
|
|
<fieldset class="rows">
|
|
<legend>Company details</legend>
|
|
<ol><li><label for="company" class="required">Name * </label>
|
|
<input type="text" size="40" id="company" name="company" value="[% name %]" /></li>
|
|
<li><label for="company_postal">Postal address</label>
|
|
<textarea id="company_postal" name="company_postal" cols="40" rows="3">[% postal %]</textarea></li>
|
|
<li><label for="physical">Physical address</label>
|
|
<textarea id="physical" name="physical" cols="40" rows="3">[% address1 %][% address2 %][% address3 %][% address4 %]</textarea></li>
|
|
<li><label for="company_phone">Phone</label>
|
|
<input type="text" size="20" id="company_phone" name="company_phone" value="[% phone %]" /></li>
|
|
<li><label for="company_fax">Fax</label>
|
|
<input type="text" size="20" id="company_fax" name="company_fax" value="[% fax %]" /></li>
|
|
<li><label for="website">Website</label>
|
|
<input type="text" size="40" id="website" name="website" value="[% url %]" /></li>
|
|
<li><label for="accountnumber">Account number</label>
|
|
<input type="text" size="40" id="accountnumber" name="accountnumber" value="[% accountnumber %]" /></li></ol>
|
|
</fieldset>
|
|
<fieldset class="rows">
|
|
<legend>Contact details</legend>
|
|
<ol> <li><label for="company_contact_name">Contact name</label>
|
|
<input type="text" size="40" id="company_contact_name" name="company_contact_name" value="[% contact %]" /></li>
|
|
<li><label for="company_contact_position">Position</label>
|
|
<input type="text" size="40" id="company_contact_position" name="company_contact_position" value="[% contpos %]" /></li>
|
|
<li><label for="contact_phone">Phone</label>
|
|
<input type="text" size="20" id="contact_phone" name="contact_phone" value="[% contphone %]" /> </li>
|
|
<li><label for="contact_phone_2">Alternative phone</label>
|
|
<input type="text" size="20" id="contact_phone_2" name="contact_phone_2" value="[% contaltphone %]" /></li>
|
|
<li><label for="contact_fax">Fax</label>
|
|
<input type="text" size="20" id="contact_fax" name="contact_fax" value="[% contfax %]" /></li>
|
|
<li><label for="company_email">Email</label>
|
|
<input type="text" size="40" id="company_email" name="company_email" value="[% contemail %]" /></li>
|
|
<li><label for="contact_notes">Notes</label>
|
|
<textarea id="contact_notes" name="contact_notes" cols="40" rows="4">[% contnotes %]</textarea></li></ol>
|
|
</fieldset>
|
|
</div>
|
|
<div class="yui-g">
|
|
<fieldset class="rows">
|
|
<legend>Ordering information</legend>
|
|
<ol class="radio"><li><label for="activestatus" class="radio">Vendor is:</label>
|
|
[% IF ( active ) %]
|
|
<label for="activestatus">Active</label> <input type="radio" id="activestatus" name="status" value="1" checked="checked" />
|
|
<label for="inactivestatus">Inactive</label> <input type="radio" id="inactivestatus" name="status" value="0" />
|
|
[% ELSE %]
|
|
<label for="activestatus">Active</label> <input type="radio" id="activestatus" name="status" value="1" />
|
|
<label for="inactivestatus">Inactive</label> <input type="radio" id="inactivestatus" name="status" value="0" checked="checked" />
|
|
[% END %]</li>
|
|
</ol>
|
|
<ol>
|
|
<li><label for="list_currency">List prices are</label>
|
|
<select name="list_currency" id="list_currency">
|
|
[% FOREACH loop_currenc IN loop_currency %]
|
|
[% IF ( loop_currenc.listprice ) %]<option value="[% loop_currenc.currency %]" selected="1">[% loop_currenc.currency %]</option>
|
|
[% ELSE %]<option value="[% loop_currenc.currency %]">[% loop_currenc.currency %]</option>[% END %]
|
|
[% END %]
|
|
</select>
|
|
</li>
|
|
<li><label for="invoice_currency">Invoice prices are</label>
|
|
<select name="invoice_currency" id="invoice_currency">
|
|
[% FOREACH loop_currenc IN loop_currency %]
|
|
[% IF ( loop_currenc.invoiceprice ) %]<option value="[% loop_currenc.currency %]" selected="1">[% loop_currenc.currency %]</option>
|
|
[% ELSE %]<option value="[% loop_currenc.currency %]">[% loop_currenc.currency %]</option>[% END %]
|
|
[% END %]
|
|
</select>
|
|
</li>
|
|
</ol>
|
|
<ol class="radio">
|
|
<li><label for="gstyes" class="radio">Tax number registered:</label>
|
|
[% IF ( gstreg ) %]
|
|
<label for="gstyes">Yes</label> <input type="radio" name="gst" id="gstyes" value="1" checked="checked" />
|
|
<label for="gstno">No</label> <input type="radio" name="gst" id="gstno" value="0" />
|
|
[% ELSE %]
|
|
<label for="gstyes">Yes</label> <input type="radio" name="gst" id="gstyes" value="1" />
|
|
<label for="gstno">No</label> <input type="radio" name="gst" id="gstno" value="0" checked="checked" />
|
|
[% END %]</li>
|
|
|
|
<li><label for="list_gstyes" class="radio">List prices:</label>
|
|
[% IF ( listincgst ) %]
|
|
<label for="list_gstyes">Include tax</label> <input type="radio" id="list_gstyes" name="list_gst" value="1" checked="checked" />
|
|
<label for="list_gstno">Don't include tax</label> <input type="radio" id="list_gstno" name="list_gst" value="0" />
|
|
[% ELSE %]
|
|
<label for="list_gstyes">Include tax</label> <input type="radio" id="list_gstyes" name="list_gst" value="1" />
|
|
<label for="list_gstno">Don't include tax</label> <input type="radio" id="list_gstno" name="list_gst" value="0" checked="checked" />
|
|
[% END %]</li>
|
|
|
|
<li><label for="invoice_gstyes" class="radio">Invoice prices:</label>
|
|
[% IF ( invoiceincgst ) %]
|
|
<label for="invoice_gstyes">Include tax</label> <input type="radio" id="invoice_gstyes" name="invoice_gst" value="1" checked="checked" />
|
|
<label for="invoice_gstno">Don't include tax</label> <input type="radio" id="invoice_gstno" name="invoice_gst" value="0" />
|
|
[% ELSE %]
|
|
<label for="invoice_gstyes">Include tax</label> <input type="radio" id="invoice_gstyes" name="invoice_gst" value="1" />
|
|
<label for="invoice_gstno">Don't include tax</label> <input type="radio" id="invoice_gstno" name="invoice_gst" value="0" checked="checked" />
|
|
[% END %]</li>
|
|
</ol>
|
|
[% IF gst_values %]
|
|
<ol>
|
|
<li>
|
|
<label for="gst">Tax rate</label>
|
|
<select name="gstrate" id="gstrate">
|
|
[% FOREACH gst IN gst_values %]
|
|
[% IF ( gstrate == gst.option ) %]
|
|
<option value="[% gst.option %]" selected="selected">[% gst.option * 100 | format ("%.1f") %] %</option>
|
|
[% ELSE %]
|
|
<option value="[% gst.option %]">[% gst.option * 100 | format ("%.1f") %] %</option>
|
|
[% END %]
|
|
[% END %]
|
|
</select>
|
|
</li>
|
|
</ol>
|
|
[% ELSE %]
|
|
<input type="hidden" name="gstrate" value="0" />
|
|
[% END %]
|
|
<ol>
|
|
<li><label for="discount">Discount</label>
|
|
<input type="text" size="6" id="discount" name="discount" value="[% discount | format ("%.1f") %]" />%</li>
|
|
<li>
|
|
<label for="deliverytime">Delivery time</label>
|
|
<input type="text" size="2" id="deliverytime" name="deliverytime" value="[% deliverytime %]" /> days
|
|
</li>
|
|
<li><label for="notes">Notes</label>
|
|
<textarea cols="40" rows="4" id="notes" name="notes" >[% notes %]</textarea></li></ol>
|
|
</fieldset>
|
|
<fieldset class="action"><input type="button" value="Save" onclick="check(this.form);" /> [% IF ( booksellerid ) %]
|
|
<a class="cancel" href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid %]">[% ELSE %]<a class="cancel" href="/cgi-bin/koha/acqui/acqui-home.pl">
|
|
[% END %]Cancel</a></fieldset>
|
|
</div>
|
|
</form>
|
|
[% ELSE %]
|
|
<h1>[% name %]</h1>
|
|
<div class="yui-g">
|
|
<div id="supplier-company-details" class="yui-u first">
|
|
<h2>Vendor details</h2>
|
|
<p><span class="label">Company name: </span>[% name %]</p>
|
|
<p><span class="label">Postal address: </span>[% postal %]</p>
|
|
<p><span class="label">Physical address: </span>[% address1 %][% address2 %][% address3 %][% address4 %]</p>
|
|
<p><span class="label">Phone: </span>[% phone %]</p>
|
|
<p><span class="label">Fax: </span>[% fax %]</p>
|
|
[% IF ( url ) %]
|
|
<p><span class="label">Website: </span><a href="[% url %]">[% url %]</a></p>
|
|
[% END %]
|
|
[% IF ( accountnumber ) %]
|
|
<p><span class="label">Account number: </span>[% accountnumber %]</p>
|
|
[% END %]
|
|
</div>
|
|
<div id="supplier-contact-details" class="yui-u">
|
|
<h2>Contact details</h2>
|
|
<p><span class="label">Contact name: </span>[% contact %]</p>
|
|
<p><span class="label">Position: </span>[% contpos %]</p>
|
|
<p><span class="label">Phone: </span>[% contphone %]</p>
|
|
<p><span class="label">Alternative phone: </span>[% contaltphone %]</p>
|
|
<p><span class="label">Fax: </span>[% contfax %]</p>
|
|
[% IF ( contemail ) %]
|
|
<p><span class="label">Email: </span><a href="mailto:[% contemail %]">[% contemail %]</a></p>
|
|
[% END %]
|
|
[% IF ( contnotes ) %]
|
|
<p><span class="label">Notes: </span>[% contnotes %]</p>
|
|
[% END %]
|
|
</div>
|
|
</div>
|
|
<div id="supplier-ordering-information" class="yui-g">
|
|
<h3>Ordering information</h3>
|
|
<p><strong>Vendor is: </strong>
|
|
[% IF ( active ) %]
|
|
Active
|
|
[% ELSE %]
|
|
Inactive
|
|
[% END %]</p>
|
|
<p><strong>List prices are: </strong>[% listprice %]</p>
|
|
<p><strong>Invoice prices are: </strong>[% invoiceprice %]</p>
|
|
[% IF ( gstrate ) %]<p><strong>Tax number registered: </strong>
|
|
[% IF ( gstreg ) %]Yes[% ELSE %]No[% END %]</p>
|
|
<p><strong>List item price includes tax: </strong>
|
|
[% IF ( listincgst ) %]Yes[% ELSE %]No[% END %]</p>
|
|
<p><strong>Invoice item price includes tax: </strong>
|
|
[% IF ( invoiceincgst ) %]Yes[% ELSE %]No[% END %]</p>[% END %]
|
|
<p><strong>Discount: </strong>
|
|
[% discount | format("%.1f") %] %</p>
|
|
<p><strong>Tax rate: </strong>
|
|
[% 0 + gstrate * 100 | format("%.1f") %] %</p>
|
|
[% IF deliverytime.defined %]
|
|
<p><strong>Delivery time: </strong>
|
|
[% deliverytime %] days</p>
|
|
[% END %]
|
|
[% IF ( notes ) %]<p><strong>Notes: </strong>
|
|
[% notes %]</p>[% END %]
|
|
</div>
|
|
[% IF ( contracts ) %]
|
|
<div id="supplier-contracts" class="yui-g">
|
|
<h2>Contract(s)</h2>
|
|
<table id="contractst">
|
|
<thead>
|
|
<tr>
|
|
<th scope="col">Name</th>
|
|
<th scope="col">Description</th>
|
|
<th scope="col">Start date</th>
|
|
<th scope="col">End date</th>
|
|
<th scope="col"> </th>
|
|
<th scope="col"> </th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
[% FOREACH contract IN contracts %]
|
|
[% IF ( loop.even ) %]<tr class="highlight">[% ELSE %]<tr>[% END %]
|
|
<td>
|
|
<a href="/cgi-bin/koha/admin/aqcontract.pl?op=add_form&contractnumber=[% contract.contractnumber %]&booksellerid=[% contract.booksellerid %]">[% contract.contractname %]</a>
|
|
</td>
|
|
<td>[% contract.contractdescription %]</td>
|
|
<td>[% contract.contractstartdate | $KohaDates %]</td>
|
|
<td>[% contract.contractenddate | $KohaDates %]</td>
|
|
<td><a href="/cgi-bin/koha/admin/aqcontract.pl?op=add_form&contractnumber=[% contract.contractnumber %]&booksellerid=[% contract.booksellerid %]">Edit</a></td>
|
|
<td><a href="/cgi-bin/koha/admin/aqcontract.pl?op=delete_confirm&contractnumber=[% contract.contractnumber %]&booksellerid=[% contract.booksellerid %]">Delete</a></td>
|
|
</tr>
|
|
[% END %]
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
[% END %]
|
|
|
|
[% END %]
|
|
|
|
</div>
|
|
</div>
|
|
<div class="yui-b">
|
|
[% INCLUDE 'vendor-menu.inc' %]
|
|
</div>
|
|
</div>
|
|
[% INCLUDE 'intranet-bottom.inc' %]
|