4 [% INCLUDE 'doc-head-open.inc' %]
5 <title>Koha › Administration › Classification sources
6 [% IF op == 'add_source' %]
8 [% IF class_source %]Modify classification source[% ELSE %]Add classification source[% END %]
9 [% ELSIF op == 'add_sort_rule' %]
11 [% IF sort_rule %]Modify filing rule[% ELSE %]Add filing rule[% END %]
12 [% ELSIF op == 'add_split_rule' %]
14 [% IF split_rule %]Modify splitting rule[% ELSE %]Add splitting rule[% END %]
18 [% INCLUDE 'doc-head-close.inc' %]
21 <body id="admin_classsources" class="admin">
22 [% INCLUDE 'header.inc' %]
23 [% INCLUDE 'prefs-admin-search.inc' %]
25 <div id="breadcrumbs">
26 <a href="/cgi-bin/koha/mainpage.pl">Home</a>
27 › <a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a>
28 › <a href="/cgi-bin/koha/admin/classsources.pl">Classification sources</a>
29 [% IF op == 'add_source' %]
30 › [% IF class_source %]Modify classification source[% ELSE %]Add classification source[% END %]
31 [% ELSIF op == 'add_sort_rule' %]
32 › [% IF sort_rule %]Modify filing rule[% ELSE %]Add filing rule[% END %]
33 [% ELSIF op == 'add_split_rule' %]
34 › [% IF split_rule %]Modify splitting rule[% ELSE %]Add splitting rule[% END %]
38 <div class="main container-fluid">
40 <div class="col-sm-10 col-sm-push-2">
43 [% FOR m IN messages %]
44 <div class="dialog [% m.type %]">
46 [% CASE 'error_on_update_source' %]
47 An error occurred when updating this classification source.
48 [% CASE 'success_on_update_source' %]
49 Classification source updated successfully.
50 [% CASE 'error_on_insert_source' %]
51 An error occurred when adding this classification source. Perhaps the code already exists?
52 [% CASE 'success_on_insert_source' %]
53 Classification source added successfully.
54 [% CASE 'error_on_delete_source' %]
55 An error occurred when deleting this classification source.
56 [% CASE 'success_on_delete_source' %]
57 Classification source deleted successfully.
58 [% CASE 'error_on_update_sort_rule' %]
59 An error occurred when adding this filing rule. Perhaps the code already exists?
60 [% CASE 'success_on_update_sort_rule' %]
61 Filing rule updated successfully.
62 [% CASE 'error_on_insert_sort_rule' %]
63 An error occurred when adding this filing rule. Perhaps the code already exists?
64 [% CASE 'success_on_insert_sort_rule' %]
65 Filing rule added successfully.
66 [% CASE 'error_on_delete_sort_rule' %]
67 An error occurred when deleting this filing rule. Perhaps it is used by at least one classification source?
68 [% CASE 'success_on_delete_sort_rule' %]
69 Filing rule deleted successfully.
70 [% CASE 'error_on_update_split_rule' %]
71 An error occurred when adding this splitting rule. Perhaps the code already exists?
72 [% CASE 'success_on_update_split_rule' %]
73 Splitting rule updated successfully.
74 [% CASE 'error_on_insert_split_rule' %]
75 An error occurred when adding this splitting rule. Perhaps the code already exists?
76 [% CASE 'success_on_insert_split_rule' %]
77 Splitting rule added successfully.
78 [% CASE 'error_on_delete_split_rule' %]
79 An error occurred when deleting this splitting rule. Perhaps it is used by at least one classification source?
80 [% CASE 'success_on_delete_split_rule' %]
81 Splitting rule deleted successfully.
89 [% IF op == 'add_source' %]
91 <h2>Modify classification source</h2>
93 <h2>Add classification source</h2>
95 <form action="[% script_name | html %]" name="Aform" class="validated" method="post">
96 <input type="hidden" name="op" value="add_source_validate" />
97 <fieldset class="rows">
100 [% IF class_source %]
101 <span class="label">Classification source code: </span>
102 <input type="hidden" name="cn_source" value="[% class_source.cn_source | html %]" />
103 [% class_source.cn_source | html %]
105 <label class="required" for="class_source">Classification source code: </label>
106 <input class="required" required="required" type="text" id="class_source" name="cn_source" size="10" maxlength="10" />
107 <span class="required">Required</span>
110 <li><label class="required" for="description">Description: </label>
111 <input class="required" required="required" type="text" id="description" name="description" size="50" maxlength="250" value="[% class_source.description | html %]" />
112 <span class="required">Required</span>
114 <li><label for="used">Source in use?</label>
115 [% IF ( class_source.used ) %]<input type="checkbox" id="used" name="used" value="used" checked="checked" />[% ELSE %]
116 <input type="checkbox" id="used" name="used" value="used" />[% END %]
119 <label class="required" for="class_sort_rule">Filing rule: </label>
120 <select class="required" required="required" id="class_sort_rule" name="class_sort_rule">
121 [% FOREACH r IN sort_rules %]
122 [% IF class_source.class_sort_rule == r.class_sort_rule %]
123 <option value="[% r.class_sort_rule | html %]" selected="selected">[% r.description | html %] ([% r.class_sort_rule | html %])</option>
125 <option value="[% r.class_sort_rule | html %]">[% r.description | html %] ([% r.class_sort_rule | html %])</option>
129 <span class="required">Required</span>
132 <label class="required" for="class_split_rule">Splitting rule: </label>
133 <select class="required" required="required" id="split_rule" name="class_split_rule">
134 [% FOREACH r IN split_rules %]
135 [% IF class_source.class_split_rule == r.class_split_rule %]
136 <option value="[% r.class_split_rule | html %]" selected="selected">[% r.description | html %] ([% r.class_split_rule | html %])</option>
138 <option value="[% r.class_split_rule | html %]">[% r.description | html %] ([% r.class_split_rule | html %])</option>
142 <span class="required">Required</span>
146 <fieldset class="action">
147 <input type="submit" value="Save" />
148 <a class="cancel" href="/cgi-bin/koha/admin/classsources.pl">Cancel</a>
153 [% IF op == 'add_sort_rule' %]
155 <h2>Modify filing rule</h2>
157 <h2>Add filing rule</h2>
159 <form action="[% script_name | html %]" name="Aform" class="validated" method="post">
160 <input type="hidden" name="op" value="add_sort_rule_validate" />
161 <fieldset class="rows">
165 <span class="label">Filing rule code: </span>
166 <input type="hidden" name="class_sort_rule" value="[% sort_rule.class_sort_rule | html %]" />
167 [% sort_rule.class_sort_rule | html %]
169 <label for="class_sort_rule" class="required">Filing rule code: </label>
170 <input class="required" required="required" type="text" id="class_sort_rule" name="class_sort_rule" size="10" maxlength="10" />
171 <span class="required">Required</span>
174 <li><label for="description" class="required">Description: </label>
175 <input class="required" required="required" type="text" id="description" name="description" size="50" maxlength="250" value="[% sort_rule.description | html %]" />
176 <span class="required">Required</span>
178 <li><label for="sort_routine" class="required">Filing routine: </label>
179 <select class="required" required="required" id="sort_routine" name="sort_routine">
180 [% FOREACH routine_name IN sort_routines %]
181 [% IF routine_name == sort_rule.sort_routine %]
182 <option value="[% routine_name | html %]" selected="selected">[% routine_name | html %]</option>
184 <option value="[% routine_name | html %]">[% routine_name %]</option>
188 <span class="required">Required</span>
192 <fieldset class="action">
193 <input type="submit" value="Save" />
194 <a class="cancel" href="/cgi-bin/koha/admin/classsources.pl">Cancel</a>
199 [% IF op == 'add_split_rule' %]
201 <h2>Modify splitting rule</h2>
203 <h2>Add splitting rule</h2>
205 <form action="[% script_name | html %]" name="Aform" class="validated" method="post">
206 <input type="hidden" name="op" value="add_split_rule_validate" />
207 <fieldset class="rows">
211 <span class="label">Splitting rule code: </span>
212 <input type="hidden" name="class_split_rule" value="[% split_rule.class_split_rule | html %]" />
213 [% split_rule.class_split_rule | html %]
215 <label for="class_split_rule" class="required">Splitting rule code: </label>
216 <input class="required" required="required" type="text" id="class_split_rule" name="class_split_rule" size="10" maxlength="10" />
217 <span class="required">Required</span>
220 <li><label for="description" class="required">Description: </label>
221 <input class="required" required="required" type="text" id="description" name="description" size="50" maxlength="250" value="[% split_rule.description | html %]" />
222 <span class="required">Required</span>
224 <li><label for="split_routine" class="required">Splitting routine: </label>
225 <select class="required" required="required" id="split_routine" name="split_routine">
226 [% FOREACH routine_name IN split_routines %]
227 [% IF routine_name == split_rule.split_routine %]
228 <option value="[% routine_name | html %]" selected="selected">[% routine_name | html %]</option>
230 <option value="[% routine_name | html %]">[% routine_name | html %]</option>
234 <span class="required">Required</span>
236 <li id="regex_block">
237 <label for="split_regex" class="required">Regular expression: </label>
238 <input type="text" name="split_regex" id="split_regex" value="[% split_rule.split_regex | html %]" />
239 <span class="required">Required</span>
244 <fieldset class="action">
245 <input type="submit" value="Save" />
246 <a class="cancel" href="/cgi-bin/koha/admin/classsources.pl">Cancel</a>
251 [% IF op == 'list' %]
253 <div id="toolbar" class="btn-toolbar">
254 <a class="btn btn-default btn-sm" id="newsource" href="[% script_name | url %]?op=add_source"><i class="fa fa-plus"></i> New classification source</a>
255 <a class="btn btn-default btn-sm" id="newrule" href="[% script_name | url %]?op=add_sort_rule"><i class="fa fa-plus"></i> New filing rule</a>
256 <a class="btn btn-default btn-sm" id="newrule" href="[% script_name | url %]?op=add_split_rule"><i class="fa fa-plus"></i> New splitting rule</a>
259 <h2>Classification sources</h2>
266 <th>Splitting rule</th>
269 [% FOREACH class_source IN class_sources %]
271 <td>[% class_source.cn_source | html %]</td>
272 <td>[% class_source.description |html | html %]</td>
273 <td>[% IF ( class_source.used ) %]Yes[% ELSE %]No[% END %]</td>
274 <td>[% class_source.class_sort_rule | html %]</td>
275 <td>[% class_source.class_split_rule | html %]</td>
277 <a class="btn btn-default btn-xs" href="[% script_name | url %]?op=add_source&cn_source=[% class_source.cn_source | uri %]"><i class="fa fa-pencil"></i> Edit</a>
278 <a class="btn btn-default btn-xs delete_class_source" href="[% script_name | url %]?op=delete_source&cn_source=[% class_source.cn_source | uri%]"><i class="fa fa-trash"></i> Delete</a>
284 <h2>Classification filing rules</h2>
289 <th>Sorting routine</th>
292 [% FOREACH rule IN sort_rules %]
294 <td>[% rule.class_sort_rule | html %]</td>
295 <td>[% rule.description |html | html %]</td>
296 <td>[% rule.sort_routine | html %]</td>
298 <a class="btn btn-default btn-xs" href="[% script_name | html %]?op=add_sort_rule&class_sort_rule=[% rule.class_sort_rule |url %]"><i class="fa fa-pencil"></i> Edit</a>
299 <a class="btn btn-default btn-xs delete_sort_rule" href="[% script_name | html %]?op=delete_sort_rule&class_sort_rule=[% rule.class_sort_rule |url %]"><i class="fa fa-trash"></i> Delete</a>
305 <h2>Classification splitting rules</h2>
310 <th>Splitting routine</th>
313 [% FOREACH rule IN split_rules %]
315 <td>[% rule.class_split_rule | html %]</td>
316 <td>[% rule.description | html %]</td>
317 <td>[% rule.split_routine | html %]</td>
319 <a class="btn btn-default btn-xs" href="[% script_name | url %]?op=add_split_rule&class_split_rule=[% rule.class_split_rule | uri %]"><i class="fa fa-pencil"></i> Edit</a>
320 <a class="btn btn-default btn-xs delete_split_rule" href="[% script_name | url %]?op=delete_split_rule&class_split_rule=[% rule.class_split_rule | uri %]"><i class="fa fa-trash"></i> Delete</a>
330 </div> <!-- /.col-sm-10.col-sm-push-2 -->
332 <div class="col-sm-2 col-sm-pull-10">
334 [% INCLUDE 'admin-menu.inc' %]
336 </div> <!-- /.col-sm-2.col-sm-pull-10 -->
337 </div> <!-- /.row -->
339 [% MACRO jsinclude BLOCK %]
340 [% Asset.js("js/admin-menu.js") | $raw %]
343 function update_regex_block(){
344 if ( $("#split_routine option:selected").val() == 'RegEx' ) {
345 $("#regex_block").show();
346 $("#split_regex").attr('required', 'required');
348 $("#regex_block").hide();
349 $("#split_regex").removeAttr('required');
352 $(document).ready(function(){
353 update_regex_block();
354 $("#split_routine").on("change", function(){
355 update_regex_block();
358 $(".delete_class_source").on("click", function(e){
359 return confirm(_("Are you sure you want to delete this class source?"));
361 $(".delete_sort_rule").on("click", function(e){
362 return confirm(_("Are you sure you want to delete this filing rule?"));
364 $(".delete_split_rule").on("click", function(e){
365 return confirm(_("Are you sure you want to delete this splitting rule?"));
371 [% INCLUDE 'intranet-bottom.inc' %]