Koha/koha-tmpl/intranet-tmpl/prog/en/modules/admin/additional-fields.tt
Julian Maurice 63f88a5742
Bug 31254: Add additional fields for accountlines
Test plan:
1. Go to Admin » Additional fields
   There are two new categories: "Account lines (credit)" and
   "Account lines (debit)"
2. Create fields for both categories, with and without an authorized
   value category
3. Go to a user's accounting page
4. Create a manual invoice. Verify that all "debit" fields are there,
   put a value in them and save
5. Create a manual credit. Verify that all "credit" fields are there,
   put a value in them and save
6. Make a payment. Verify that all "credit" fields are there, put a
   value in them and save
7. Go to the transactions tab, click on the "Details" button for the
   lines you just created and verify that the additional fields are
   there

Signed-off-by: Emmanuel Bétemps <e.betemps@gmail.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-09-21 18:58:28 -03:00

267 lines
11 KiB
Text
Executable file

[% USE AuthorisedValues %]
[% USE raw %]
[% SET footerjs = 1 %]
[% INCLUDE 'doc-head-open.inc' %]
<title>
[% SWITCH op %]
[% CASE 'add_form' %][% IF field %]Modify additional field '[% field.name | html %]'[% ELSE %]Add additional field[% END %]
[% CASE %]Manage additional fields
[% END %] &rsaquo; Administration &rsaquo; Koha
</title>
[% INCLUDE 'doc-head-close.inc' %]
</head>
[% marcfield_tables = ['subscription'] %]
[% searchable_tables = ['subscription', 'aqbasket'] %]
[% show_marcfield = marcfield_tables.grep('^' _ tablename _ '$').size ? 1 : 0 %]
[% show_searchable = searchable_tables.grep('^' _ tablename _ '$').size ? 1 : 0 %]
<body id="ser_add_fields" class="ser">
[% INCLUDE 'header.inc' %]
[% INCLUDE 'cat-search.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/admin/admin-home.pl">Administration</a>
</li>
[% SWITCH op %]
[% CASE 'add_form' %]
<li>
<a href="/cgi-bin/koha/admin/additional-fields.pl">Manage additional fields</a>
</li>
[% IF field %]
<li>
<a href="#" aria-current="page">
Modify field '[% field.name | html %]'
</a>
</li>
[% ELSE %]
<li>
<a href="#" aria-current="page">
Add field
</a>
</li>
[% END %]
[% CASE 'list' %]
<li>
<a href="/cgi-bin/koha/admin/additional-fields.pl">Manage additional fields</a>
</li>
<li>
<a href="#" aria-current="page">
Modify fields for '[% tablename | html %]'
</a>
</li>
[% CASE %]
<li>
<a href="#" aria-current="page">
Manage additional fields
</a>
</li>
[% END %]
</ol>
</nav>
<div class="main container-fluid">
<div class="row">
<div class="col-sm-10 col-sm-push-2">
<main>
[% IF op == 'list' %]
<div id="toolbar" class="btn-toolbar">
<a class="btn btn-default" id="newfields" href="?op=add_form&amp;tablename=[% tablename | uri %]"><i class="fa fa-plus"></i> Create field</a>
</div>
[% END %]
[% IF messages %]
[% FOR message IN messages %]
[% IF message.code == 'insert' %]
[% IF message.number > 0 %]
<div class="dialog message">The field has been inserted</div>
[% ELSE %]
<div class="dialog alert">The field could not be inserted. Perhaps the name already exists?</div>
[% END %]
[% ELSIF message.code == 'update' %]
[% IF message.number > 0 %]
<div class="dialog message">The field has been updated</div>
[% ELSE %]
<div class="dialog alert">The field could not be updated. Perhaps the name already exists?</div>
[% END %]
[% ELSIF message.code == 'delete' %]
[% IF message.number > 0 %]
<div class="dialog message">The field has been deleted</div>
[% ELSE %]
<div class="dialog alert">The field could not be deleted. Check the log for errors.</div>
[% END %]
[% END %]
[% END %]
[% END %]
[% IF op == 'list_tables' %]
[% IF CAN_user_acquisitions_order_manage || CAN_user_serials_edit_subscription || CAN_user_updatecharges_remaining_permissions %]
<h1>Additional fields</h1>
<p>Select a table:</p>
[% BLOCK table_option %]
<li><a href="?tablename=[% value | uri %]">[% content | $raw %] (<span class="ex">[% value | html %]</span>)</a></li>
[% END %]
<ul>
[% IF CAN_user_acquisition_order_manage %]
[% WRAPPER table_option value="aqbasket" %]<span>Order baskets</span>[% END %]
[% END %]
[% IF CAN_user_serials_edit_subscription %]
[% WRAPPER table_option value="subscription" %]<span>Subscriptions</span>[% END %]
[% END %]
[% IF CAN_user_updatecharges_remaining_permissions %]
[% WRAPPER table_option value="accountlines:credit" %]Account lines (credit)[% END %]
[% WRAPPER table_option value="accountlines:debit" %]Account lines (debit)[% END %]
[% END %]
</ul>
[% ELSE %]
Additional permissions are required for editing additional fields
[% END %]
[% ELSIF op == 'list' %]
<h1>Additional fields for '[% tablename | html %]'</h1>
[% IF fields %]
<table id="fieldst">
<thead>
<tr>
<th>Name</th>
<th>Authorized value category</th>
[% IF show_marcfield %]
<th>MARC field</th>
[% END %]
[% IF show_searchable %]
<th>Searchable</th>
[% END %]
<th class="noExport">Actions</th>
</tr>
</thead>
<tbody>
[% FOR field IN fields %]
<tr>
<td>[% field.name | html %]</td>
<td>[% field.authorised_value_category | html %]</td>
[% IF show_marcfield %]
<td>[% field.marcfield | html %]</td>
[% END %]
[% IF show_searchable %]
<td>
[% IF field.searchable %]Yes[% ELSE %]No[% END %]
</td>
[% END %]
<td class="actions">
<a class="btn btn-default btn-xs" href="?op=add_form&amp;field_id=[% field.id | html %]"><i class="fa fa-pencil"></i> Edit</a>
<a class="confirmdelete btn btn-default btn-xs" href="?op=delete&amp;field_id=[% field.id | uri %]&amp;tablename=[% tablename | uri %]"><i class="fa fa-trash"></i> Delete</a>
</td>
</tr>
[% END %]
</tbody>
</table>
[% ELSE %]
[% IF tablename %]There are no additional fields defined for this table.[% END %]
[% END %]
[% ELSIF op == 'add_form' %]
[% IF field %]
<h1>Modify field</h1>
[% ELSE %]
<h1>Add field</h1>
[% END %]
<form action="" name="add_form" id="add_field" method="post">
<fieldset class="rows">
<ol>
<li>
<label for="name" class="required">Name: </label>
<input type="text" name="name" id="name" value="[% field.name | html %]" class="required" required="required" />
<span class="required">Required</span>
</li>
<li>
<label for="av">Authorized value category: </label>
<select id="av" name="authorised_value_category">
<option value="">None</option>
[% PROCESS options_for_authorised_value_categories authorised_value_categories = AuthorisedValues.GetCategories({selected => field.authorised_value_category}) %]
</select>
</li>
[% IF show_marcfield %]
<li>
<label for="marcfield">MARC field: </label>
<input type="text" name="marcfield" id="marcfield" value="[% field.marcfield | html %]" />
</li>
[% END %]
[% IF show_searchable %]
<li>
<label for="searchable">Searchable: </label>
[% IF field.searchable %]
<input type="checkbox" name="searchable" id="searchable" checked="checked" />
[% ELSE %]
<input type="checkbox" name="searchable" id="searchable" />
[% END %]
</li>
[% END %]
</ol>
</fieldset>
<fieldset class="action">
[% IF field %]
<input type="hidden" name="field_id" value="[% field.id | html %]" />
[% END %]
<input type="hidden" name="tablename" value="[% tablename | html %]" />
<input type="hidden" name="op" value="add" />
<input type="submit" value="Save" />
<a href="?tablename=[% tablename | uri %]" class="cancel">Cancel</a>
</fieldset>
</form>
[% END %]
</main>
</div> <!-- /.col-sm-10.col-sm-push-2 -->
<div class="col-sm-2 col-sm-pull-10">
<aside>
[% INCLUDE 'admin-menu.inc' %]
</aside>
</div> <!-- /.col-sm-2.col-sm-pull-10 -->
</div> <!-- /.row -->
[% MACRO jsinclude BLOCK %]
[% INCLUDE "datatables.inc" %]
<script>
$(document).ready(function(){
$('#selecttable').find(":submit").hide();
$('#selecttable select').change(function() {
$('#selecttable').submit();
});
$("#fieldst").dataTable($.extend(true, {}, dataTablesDefaults, {
'bAutoWidth': false,
'sDom': 't<"bottom pager"ilpf>',
'sPaginationType': 'full',
'aLengthMenu': [[10, 20, 50, 100, -1], [10, 20, 50, 100, "All"]],
'iDisplayLength': 20,
'aaSorting': [[ 0, "asc" ]],
}));
$(".confirmdelete").click(function(){
return confirm(_("Are you sure you want to delete this field?"));
});
$("#add_field").on('submit', function() {
if ( $("#marcfield").length && $("select[name='authorised_value_category']").length ) {
if ( $("#marcfield").val().length > 0
&& $("select[name='authorised_value_category']" ).val().length > 0 ) {
alert(_("You cannot select an authorised value category and a MARC field") );
return false;
}
}
return true;
});
});
</script>
[% END %]
[% INCLUDE 'intranet-bottom.inc' %]