Martin Renvoize
6ce4d25bd3
This patch moves the new classes under ::Patron::Restriction:: and enhances the Unit tests for those classes. NOTE: We should drop keyed_on_code as part of bug 31095 Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
232 lines
8.7 KiB
Text
232 lines
8.7 KiB
Text
[% USE raw %]
|
|
[% USE Asset %]
|
|
[% USE Koha %]
|
|
[% PROCESS 'patron_restrictions.inc' %]
|
|
[% SET footerjs = 1 %]
|
|
[% INCLUDE 'doc-head-open.inc' %]
|
|
<title>[% IF op == 'add_form' %][% IF ( restriction ) %]Modify restriction '[% PROCESS restriction_type_description %]'[% ELSE %]New restriction[% END %][% END %]
|
|
[% IF op == 'delete_confirm' %]Confirm deletion of restriction '[% PROCESS restriction_type_description %]'[% END %] › Patron restrictions › Administration › Koha
|
|
</title>
|
|
[% INCLUDE 'doc-head-close.inc' %]
|
|
</head>
|
|
|
|
<body id="admin_restrictions" class="admin">
|
|
[% INCLUDE 'header.inc' %]
|
|
[% INCLUDE 'patrons-admin-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>
|
|
|
|
[% IF op == 'list' %]
|
|
<li>
|
|
<a href="#" aria-current="page">
|
|
Patron restrictions
|
|
</a>
|
|
</li>
|
|
[% END %]
|
|
|
|
[% IF op == 'add_form' %]
|
|
<li>
|
|
<a href="/cgi-bin/koha/admin/restrictions.pl">Patron restrictions</a>
|
|
</li>
|
|
[% IF restriction %]
|
|
<li>
|
|
<a href="#" aria-current="page">
|
|
Modify restriction '[% PROCESS restriction_type_description %]'
|
|
</a>
|
|
</li>
|
|
[% ELSE %]
|
|
<li>
|
|
<a href="#" aria-current="page">
|
|
New restriction
|
|
</a>
|
|
</li>
|
|
[% END %]
|
|
[% END %]
|
|
|
|
[% IF op == 'delete_confirm' %]
|
|
<li>
|
|
<a href="/cgi-bin/koha/admin/restrictions.pl">Patron restrictions</a>
|
|
</li>
|
|
<li>
|
|
<a href="#" aria-current="page">
|
|
Delete restriction?
|
|
</a>
|
|
</li>
|
|
[% END %]
|
|
</ol>
|
|
</nav>
|
|
|
|
<div class="main container-fluid">
|
|
<div class="row">
|
|
<div class="col-sm-10 col-sm-push-2">
|
|
<main>
|
|
|
|
[% FOR m IN messages %]
|
|
<div class="dialog [% m.type | html %]">
|
|
[% SWITCH m.code %]
|
|
[% CASE 'add_success' %]
|
|
Type added
|
|
[% CASE 'update_success' %]
|
|
Type updated
|
|
[% CASE 'duplicate_display_text' %]
|
|
Another restriction already has this label
|
|
[% CASE 'duplicate_code' %]
|
|
Another restriction already has this code
|
|
[% CASE 'delete_success' %]
|
|
Type deleted
|
|
[% CASE 'delete_default' %]
|
|
Cannot delete the default type
|
|
[% CASE 'delete_system' %]
|
|
Cannot delete a system type
|
|
[% CASE %]
|
|
[% m.code | html %]
|
|
[% END %]
|
|
</div>
|
|
[% END %]
|
|
|
|
[% IF op == 'add_form' %]
|
|
<form id="restriction_form" action="/cgi-bin/koha/admin/restrictions.pl" method="post">
|
|
<input type="hidden" name="op" value="add_validate" />
|
|
<input type="hidden" name="checked" value="0" />
|
|
[% IF restriction %]
|
|
<h1>Modify restriction [% PROCESS restriction_type_description %]</h1>
|
|
<input type="hidden" name="is_a_modif" value="1" />
|
|
[% ELSE %]
|
|
<h1>New restriction</h1>
|
|
[% END %]
|
|
<fieldset class="rows">
|
|
<ol>
|
|
[% IF restriction %]
|
|
<li>
|
|
<span class="label">Code: </span>[% restriction.code | html %]
|
|
<input type="hidden" name="code" value="[% restriction.code | html %]" />
|
|
</li>
|
|
<li>
|
|
<label for="display_text" class="required">Label: </label>
|
|
<input type="text" value="[% restriction.display_text | html %]" name="display_text" id="display_text" size="50" maxlength="50" class="required" required="required" />
|
|
<span class="required">Required</span>
|
|
</li>
|
|
[% ELSE %]
|
|
<li>
|
|
<label for="code" class="required">Code: </label>
|
|
<input type="text" name="code" id="code" size="50" maxlength="50" class="required type_input " required="required" />
|
|
<span class="required">Required</span>
|
|
</li>
|
|
<li>
|
|
<label for="display_text" class="required">Label: </label>
|
|
<input type="text" name="display_text" id="display_text" size="50" maxlength="50" class="required" required="required" />
|
|
<span class="required">Required</span>
|
|
</li>
|
|
[% END %]
|
|
</ol>
|
|
</fieldset>
|
|
|
|
<fieldset class="action">
|
|
<input type="submit" value="Save" />
|
|
<a href="/cgi-bin/koha/admin/restrictions.pl" class="cancel">Cancel</a>
|
|
</fieldset>
|
|
</form>
|
|
[% END %]
|
|
|
|
[% IF op == 'delete_confirm' %]
|
|
<form action="/cgi-bin/koha/admin/restrictions.pl" method="post">
|
|
<fieldset>
|
|
<legend>
|
|
Confirm restriction deletion
|
|
</legend>
|
|
|
|
<p>Are you sure you want to delete "[% PROCESS restriction_type_description %]"?</p>
|
|
|
|
<fieldset class="action">
|
|
<input type="hidden" name="op" value="delete_confirmed" />
|
|
<input type="hidden" name="code" value="[% restriction.code | html %]" />
|
|
<input type="submit" value="Delete this restriction" />
|
|
<a class="cancel" href="/cgi-bin/koha/admin/restrictions.pl">Cancel</a>
|
|
</fieldset>
|
|
</fieldset>
|
|
</form>
|
|
[% END %]
|
|
|
|
[% IF op == 'list' %]
|
|
|
|
<div id="toolbar" class="btn-toolbar">
|
|
<a class="btn btn-default" id="newrestriction" href="/cgi-bin/koha/admin/restrictions.pl?op=add_form"><i class="fa fa-plus"></i> New restriction</a>
|
|
</div>
|
|
|
|
<h2>Patron restrictions</h2>
|
|
[% IF searchfield %]
|
|
You Searched for [% searchfield | html %]</span>
|
|
[% END %]
|
|
[% IF restrictions %]
|
|
<table id="restriction_types">
|
|
<thead>
|
|
<tr>
|
|
<th scope="col">Code</th>
|
|
<th scope="col">Label</th>
|
|
<th scope="col">Default</th>
|
|
<th scope="col">Actions</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
[% FOREACH restriction IN restrictions %]
|
|
<tr>
|
|
<td>
|
|
[% restriction.code | html %]
|
|
</td>
|
|
<td>
|
|
[% PROCESS restriction_type_description %]
|
|
</td>
|
|
<td>
|
|
[% IF restriction.is_default %]Yes[% END %]
|
|
</td>
|
|
<td class="actions">
|
|
<a class="btn btn-default btn-xs" href="/cgi-bin/koha/admin/restrictions.pl?op=add_form&code=[% restriction.code | uri %]"><i class="fa fa-pencil"></i> Edit</a>
|
|
[% IF !restriction.is_system && !restriction.is_default %]
|
|
<a class="btn btn-default btn-xs" href="/cgi-bin/koha/admin/restrictions.pl?op=delete_confirm&code=[% restriction.code | uri %]"><i class="fa fa-trash"></i> Delete</a>
|
|
[% END %]
|
|
[% IF !restriction.is_system && !restriction.is_default %]
|
|
<a class="btn btn-default btn-xs" href="/cgi-bin/koha/admin/restrictions.pl?op=make_default&code=[% restriction.code | uri %]"><i class="fa fa-archive"></i> Make default</a>
|
|
[% END %]
|
|
</td>
|
|
</tr>
|
|
[% END %]
|
|
</tbody>
|
|
</table>
|
|
[% ELSE %]
|
|
<div class="dialog alert">No restrictions have been defined. <a href="/cgi-bin/koha/admin/restrictions.pl?op=add_form">Create a new restriction</a>.</div>
|
|
[% END %]
|
|
[% 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 %]
|
|
[% Asset.js("js/admin-menu.js") | $raw %]
|
|
[% INCLUDE 'datatables.inc' %]
|
|
[% INCLUDE 'columns_settings.inc' %]
|
|
<script>
|
|
var MSG_DUPLICATE_CODE = _("Restriction code is already in use");
|
|
var MSG_DUPLICATE_DISPLAY_TEXT = _("Label is already in use");
|
|
var existing = {
|
|
[% FOREACH ex IN existing %]
|
|
[% ex.code | $raw %]: '[% ex.display_text | $raw %]',
|
|
[% END %]
|
|
};
|
|
</script>
|
|
[% Asset.js("js/restrictiontypes.js") | $raw %]
|
|
[% END %]
|
|
[% INCLUDE 'intranet-bottom.inc' %]
|