Koha/koha-tmpl/intranet-tmpl/prog/en/modules/admin/classsources.tt
Aleisha Amohia 4c5f495f0e Bug 17208: Checking if classification source or filing rule already exists before adding
To test:
1) Go to Admin -> Classification sources
2) Attempt to reproduce bug before applying patch. Notice the message
saying the add was successful, but was not added to the table
3) Apply patch and refresh page (restart plack if necessary)
4) Add new classification source with same code as existing one. Notice
you are now told that the add failed.
5) Confirm adding new classification source with unique code works
6) Add new classification filing rule with same code as existing one.
Notice you are told that add failed.
7) Confirm adding new classification filing rule with unique code works

Sponsored-by: Catalyst IT

Followed test plan, works as expected.
Signed-off-by: Marc Véron <veron@veron.ch>

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
This is not the way to go, we should use an eval instead.
But since we do not have RaiseError set, it will not work.
This module will need to be moved to Koha::Objects to be implemented
correctly.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
2016-12-23 11:33:48 +00:00

268 lines
11 KiB
Text

[% INCLUDE 'doc-head-open.inc' %]
<title>Koha &rsaquo; Administration &rsaquo; Classification sources
[% IF ( class_source_form ) %]
&rsaquo;
[% IF ( edit_class_source ) %]Modify classification source[% ELSE %]Add classification source[% END %]
[% END %]
[% IF ( sort_rule_form ) %]
&rsaquo;
[% IF ( edit_sort_rule ) %]Modify filing rule[% ELSE %]Add filing rule[% END %]
[% END %]
[% IF ( delete_class_source_form ) %]
&rsaquo; Confirm deletion of classification source [% class_source %]
[% ELSIF ( delete_sort_rule_form ) %]
&rsaquo; Confirm deletion of filing rule [% sort_rule %]
[% ELSIF ( delete_sort_rule_impossible ) %]
&rsaquo; Cannot delete filing rule [% sort_rule %]
[% END %]
</title>
[% INCLUDE 'doc-head-close.inc' %]
</head>
<body id="admin_classsources" class="admin">
[% INCLUDE 'header.inc' %]
[% INCLUDE 'cat-search.inc' %]
<div id="breadcrumbs">
<a href="/cgi-bin/koha/mainpage.pl">Home</a>
&rsaquo; <a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a>
&rsaquo; <a href="/cgi-bin/koha/admin/classsources.pl">Classification sources</a>
[% IF ( class_source_form ) %]
&rsaquo; [% IF ( edit_class_source ) %]Modify classification source[% ELSE %]Add classification source[% END %]
[% END %]
[% IF ( sort_rule_form ) %]
&rsaquo; [% IF ( edit_sort_rule ) %]Modify filing rule[% ELSE %]Add filing rule[% END %]
[% END %]
[% IF ( delete_class_source_form ) %]
&rsaquo; Confirm deletion of classification source <span class="ex">'[% class_source %]'</span>
[% ELSIF ( delete_sort_rule_form ) %]
&rsaquo; Confirm deletion of filing rule <span class="ex">'[% sort_rule %]'</span>
[% ELSIF ( delete_sort_rule_impossible ) %]
&rsaquo; Cannot delete filing rule <span class="ex">'[% sort_rule %]'</span>
[% END %]
</div>
<div id="doc3" class="yui-t2">
<div id="bd">
<div id="yui-main">
<div class="yui-b">
[% IF ( class_source_form ) %]
[% IF ( edit_class_source ) %]
<h2>Modify classification source</h2>
[% ELSE %]
<h2>Add classification source</h2>
[% END %]
<form action="[% script_name %]" name="Aform" class="validated" method="post">
<input type="hidden" name="op" value="[% confirm_op %]" />
<fieldset class="rows">
<ol>
<li>
[% IF ( edit_class_source ) %]
<span class="label">Classification source code: </span>
<input type="hidden" name="class_source" value="[% class_source %]" />
[% class_source %]
[% ELSE %]
<label class="required" for="class_source">Classification source code: </label>
<input class="required" required="required" type="text" id="class_source" name="class_source" size="10" maxlength="10" />
<span class="required">Required</span>
[% END %]
</li>
<li><label class="required" for="description">Description: </label>
<input class="required" required="required" type="text" id="description" name="description" size="50" maxlength="250" value="[% description |html %]" />
<span class="required">Required</span>
</li>
<li><label for="used">Source in use?</label>
[% IF ( used ) %]<input type="checkbox" id="used" name="used" value="used" checked="checked" />[% ELSE %]
<input type="checkbox" id="used" name="used" value="used" />[% END %]
</li>
<li><label class="required" for="sort_rule">Filing rule: </label>
<select class="required" required="required" id="sort_rule" name="sort_rule">
[% FOREACH rules_dropdow IN rules_dropdown %]
[% IF ( rules_dropdow.selected ) %]
<option value="[% rules_dropdow.rule %]" selected="selected">[% rules_dropdow.description %] ([% rules_dropdow.rule %])</option>
[% ELSE %]
<option value="[% rules_dropdow.rule %]">[% rules_dropdow.description %] ([% rules_dropdow.rule %])</option>
[% END %]
[% END %]
</select>
<span class="required">Required</span>
</li>
</ol>
</fieldset>
<fieldset class="action">
<input type="submit" value="Save" />
<a class="cancel" href="/cgi-bin/koha/admin/classsources.pl">Cancel</a>
</fieldset>
</form>
[% END %]
[% IF ( sort_rule_form ) %]
[% IF ( edit_sort_rule ) %]
<h2>Modify filing rule</h2>
[% ELSE %]
<h2>Add filing rule</h2>
[% END %]
<form action="[% script_name %]" name="Aform" class="validated" method="post">
<input type="hidden" name="op" value="[% confirm_op %]" />
<fieldset class="rows">
<ol>
<li>
[% IF ( edit_sort_rule ) %]
<span class="label">Filing rule code: </span>
<input type="hidden" name="sort_rule" value="[% sort_rule %]" />
[% sort_rule %]
[% ELSE %]
<label for="sort_rule" class="required">Filing rule code: </label>
<input class="required" required="required" type="text" id="sort_rule" name="sort_rule" size="10" maxlength="10" />
<span class="required">Required</span>
[% END %]
</li>
<li><label for="description" class="required">Description: </label>
<input class="required" required="required" type="text" id="description" name="description" size="50" maxlength="250" value="[% description |html %]" />
<span class="required">Required</span>
</li>
<li><label for="sort_routine" class="required">Filing routine: </label>
<select class="required" required="required" id="sort_routine" name="sort_routine">
[% FOREACH routines_dropdow IN routines_dropdown %]
[% IF ( routines_dropdow.selected ) %]
<option value="[% routines_dropdow.routine %]" selected="selected">[% routines_dropdow.routine %]</option>
[% ELSE %]
<option value="[% routines_dropdow.routine %]">[% routines_dropdow.routine %]</option>
[% END %]
[% END %]
</select>
<span class="required">Required</span>
</li>
</ol>
</fieldset>
<fieldset class="action">
<input type="submit" value="Save" />
<a class="cancel" href="/cgi-bin/koha/admin/classsources.pl">Cancel</a>
</fieldset>
</form>
[% END %]
[% IF ( delete_class_source_form ) %]
<div class="dialog alert">
<h3>Confirm deletion of classification source <span class="ex">'[% class_source %]'</span>?</h3>
<form action="[% script_name %]" name="Aform" method="post">
<input type="hidden" name="op" value="[% confirm_op %]" />
<input type="hidden" name="class_source" value="[% class_source %]" />
<button type="submit" class="approve"><i class="fa fa-fw fa-check"></i> Yes, delete classification source</button>
</form>
<form action="[% script_name %]" method="get">
<button type="submit" class="deny"><i class="fa fa-fw fa-remove"></i> No, do not delete</button>
</form>
</div>
[% END %]
[% IF ( delete_sort_rule_form ) %]
<div class="dialog alert">
<h3>Confirm deletion of filing rule <span class="ex">'[% sort_rule %]'</span>?</h3>
<form action="[% script_name %]" name="Aform" method="post">
<input type="hidden" name="op" value="[% confirm_op %]" />
<input type="hidden" name="sort_rule" value="[% sort_rule %]" />
<button type="submit" class="approve"><i class="fa fa-fw fa-check"></i> Yes, delete filing rule</button>
</form>
<form action="[% script_name %]" method="get">
<button type="submit" class="deny"><i class="fa fa-fw fa-remove"></i> No, do not delete</button>
</form>
</div>
[% END %]
[% IF ( delete_sort_rule_impossible ) %]
<div class="dialog alert"><h3>Cannot delete filing rule <span class="ex">'[% sort_rule %]'</span></h3>
<p>The filing rule [% sort_rule %] is used by at least one classification source. Please
remove it from all classification source definitions before trying again.
</p>
<form action="[% script_name %]" method="get">
<button type="submit" class="approve"><i class="fa fa-fw fa-check"></i> OK</button>
</form>
</div>
[% END %]
[% IF ( display_lists ) %]
<div id="toolbar" class="btn-toolbar">
<a class="btn btn-small" id="newsource" href="[% script_name %]?op=add_source"><i class="fa fa-plus"></i> New classification source</a>
<a class="btn btn-small" id="newrule" href="[% script_name %]?op=add_sort_rule"><i class="fa fa-plus"></i> New filing rule</a>
</div>
<h2>Classification sources</h2>
[% IF ( added_source ) %]
<div class="dialog message">Added classification source [% added_source %]</div>
[% END %]
[% IF ( edited_source ) %]
<div class="dialog message">Modified classification source [% edited_source %]</div>
[% END %]
[% IF ( deleted_source ) %]
<div class="dialog message">Deleted classification source [% deleted_source %]</div>
[% END %]
[% IF ( failed_add_source ) %]
<div class="dialog message">Failed to add classification source [% failed_add_source %]. Perhaps the code already exists?</div>
[% END %]
<table>
<tr>
<th>Code</th>
<th>Description</th>
<th>In use</th>
<th>Filing rule</th>
<th>Actions</th>
</tr>
[% FOREACH class_source IN class_sources %]
<tr>
<td>[% class_source.code %]</td>
<td>[% class_source.description %]</td>
<td>[% IF ( class_source.used ) %]Yes[% ELSE %]No[% END %]</td>
<td>[% class_source.sortrule %]</td>
<td class="actions">
<a class="btn btn-mini" href="[% class_source.script_name %]?op=edit_source&amp;class_source=[% class_source.code |html %]"><i class="fa fa-pencil"></i> Edit</a>
<a class="btn btn-mini" href="[% class_source.script_name %]?op=delete_source&amp;class_source=[% class_source.code |html %]"><i class="fa fa-trash"></i> Delete</a>
</td>
</tr>
[% END %]
</table>
<h2>Classification filing rules</h2>
[% IF ( added_rule ) %]
<div class="dialog message">Added filing rule [% added_rule %]</div>
[% END %]
[% IF ( edited_rule ) %]
<div class="dialog message">Modified filing rule [% edited_rule %]</div>
[% END %]
[% IF ( deleted_rule ) %]
<div class="dialog message">Deleted filing rule [% deleted_rule %]</div>
[% END %]
[% IF ( failed_add_rule ) %]
<div class="dialog message">Failed to add filing rule [% failed_add_rule %]. Perhaps the code already exists?</div>
[% END %]
<table>
<tr>
<th>Code</th>
<th>Description</th>
<th>Sorting routine</th>
<th>Actions</th>
</tr>
[% FOREACH class_sort_rule IN class_sort_rules %]
<tr>
<td>[% class_sort_rule.rule %]</td>
<td>[% class_sort_rule.description %]</td>
<td>[% class_sort_rule.sort_routine %]</td>
<td class="actions">
<a class="btn btn-mini" href="[% class_sort_rule.script_name %]?op=edit_sort_rule&amp;sort_rule=[% class_sort_rule.rule |html %]"><i class="fa fa-pencil"></i> Edit</a>
<a class="btn btn-mini" href="[% class_sort_rule.script_name %]?op=delete_sort_rule&amp;sort_rule=[% class_sort_rule.rule |html %]"><i class="fa fa-trash"></i> Delete</a>
</td>
</tr>
[% END %]
</table>
[% END %]
</div>
</div>
<div class="yui-b">
[% INCLUDE 'admin-menu.inc' %]
</div>
</div>
[% INCLUDE 'intranet-bottom.inc' %]