Bug 21526: Use the 'url' filter when needed
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / admin / systempreferences.tt
1 [% USE raw %]
2 [% USE Asset %]
3 [% USE Koha %]
4 [% SET footerjs = 1 %]
5 [% INCLUDE 'doc-head-open.inc' %]
6 <title>Koha &rsaquo; Administration &rsaquo; [% IF ( add_form ) %] System preferences &rsaquo; [% IF ( modify ) %]Modify system preference '[% searchfield | html %]'[% ELSE %]Add a system preference[% END %][% END %][% IF ( add_validate ) %] System preferences &rsaquo; Data added[% END %]
7 [% IF ( delete_confirm ) %] System preferences &rsaquo; [% searchfield | html %] &rsaquo; Confirm deletion of parameter '[% searchfield | html %]'[% END %][% IF ( delete_confirmed ) %] System preferences &rsaquo; Parameter deleted[% END %][% IF ( else ) %]System preferences[% END %]</title>
8 [% INCLUDE 'doc-head-close.inc' %]
9 [% Asset.css("css/datatables.css") | $raw %]
10 </head>
11
12 <body id="admin_systempreferences" class="admin">
13 [% INCLUDE 'header.inc' %]
14 [% INCLUDE 'prefs-admin-search.inc' %]
15
16 <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; [% IF ( add_form ) %] <a href="/cgi-bin/koha/admin/systempreferences.pl">System preferences</a> &rsaquo; [% IF ( modify ) %]Modify system preference '[% searchfield | html %]'[% ELSE %]Add a system preference[% END %][% END %][% IF ( add_validate ) %] <a href="/cgi-bin/koha/admin/systempreferences.pl">System preferences</a> &rsaquo; Data added[% END %]
17 [% IF ( delete_confirm ) %] <a href="/cgi-bin/koha/admin/systempreferences.pl">System Preferences</a> &rsaquo; <a href="/cgi-bin/koha/admin/systempreferences.pl?op=add_form&amp;searchfield=[% searchfield | html %]">[% searchfield | html %]</a> &rsaquo; Confirm deletion of parameter '[% searchfield | html %]'[% END %][% IF ( delete_confirmed ) %] <a href="/cgi-bin/koha/admin/systempreferences.pl">System preferences</a> &rsaquo; Parameter deleted[% END %][% IF ( else ) %]System preferences[% END %]</div>
18
19 <div class="main container-fluid">
20     <div class="row">
21         <div class="col-sm-10 col-sm-push-2">
22             <main>
23
24 [% IF ( add_form ) %]
25         [% IF ( type_upload ) %]
26             <form action="[% script_name | html %]" name="Aform" method="post" enctype="multipart/form-data">
27         [% ELSE %]
28             <form action="[% script_name | html %]" name="Aform" method="post">
29         [% END %]
30         <fieldset class="rows"><legend>
31         [% IF ( modify ) %]Modify
32         [% ELSE %]Add
33         [% END %] a system preference</legend><ol>
34             <li><label for="explanation">Explanation: </label><input type="text" name="explanation" id="explanation" size="60" value="[% explanation | html %]" /><input type="hidden" name="op" value="add_validate" /></li>
35             <li>[% IF ( searchfield ) %]<span class="label">Variable: </span>[% searchfield | html %]<input type="hidden" name="variable" value="[% searchfield | html %]" />
36             [% ELSE %]<label for="variable">Variable: </label><input type="text" name="variable" id="variable" size="60" />[% END %]</li>
37             <li><label for="value">Value: </label>
38                 [% IF ( type_free ) %]
39                     <textarea id="value" name="value" cols="[% fieldlength | html %]">[% value | html %]</textarea>
40                 [% ELSIF ( type_upload ) %]
41                     <input type="file" name="value" />
42                 [% ELSIF ( type_textarea || type_htmlarea ) %]
43                     [% IF ( type_htmlarea ) && ( Koha.Preference('UseWYSIWYGinSystemPreferences') ) %]
44                         <textarea class="mce" name="value" id="value" rows="[% rows | html %]" cols="[% cols | html %]">[% value | html %]</textarea>
45                     [% ELSE %]
46                     <textarea name="value" id="value" rows="[% rows | html %]" cols="[% cols | html %]">[% value | html %]</textarea>
47                     [% END %]
48                 [% ELSIF ( type_choice ) %]
49                     <select name="value" id="value">
50                         [% FOREACH option IN options %]
51                             [% IF ( option.selected ) %]
52                                 <option value="[% option.option | html %]" selected="selected">
53                             [% ELSE %]
54                                 <option value="[% option.option | html %]">
55                             [% END %][% option.option | html %]</option>
56                         [% END %]
57                     </select>
58                 [% END %]
59         [% IF ( type_langselector ) %]
60         [% IF ( languages_loop ) %]
61     <table>
62         [% FOREACH languages_loo IN languages_loop %]
63         <tr><td>
64             [% IF ( languages_loo.plural ) %]
65             [% IF ( languages_loo.native_description ) %][% languages_loo.native_description | html %][% ELSE %][% languages_loo.rfc4646_subtag | html %][% END %]
66             [% FOREACH sublanguages_loo IN languages_loo.sublanguages_loop %]<table><tr><td>
67                 [% IF ( sublanguages_loo.sublanguage_current ) %]
68                     <label for="[% sublanguages_loo.rfc4646_subtag | html %]">[% sublanguages_loo.native_description | html %] [% sublanguages_loo.script_description | html %] [% sublanguages_loo.region_description | html %] [% sublanguages_loo.variant_description | html %]([% sublanguages_loo.rfc4646_subtag | html %])
69                     [% IF ( sublanguages_loo.enabled ) %]
70                         <input value="[% sublanguages_loo.rfc4646_subtag | html %]" name="value" id="[% sublanguages_loo.rfc4646_subtag | html %]" type="checkbox" checked="checked" />
71                     [% ELSE %]
72                         <input value="[% sublanguages_loo.rfc4646_subtag | html %]" name="value" id="[% sublanguages_loo.rfc4646_subtag | html %]" type="checkbox" />
73                     [% END %]
74                     </label>
75
76                 [% ELSE %]
77                     <label for="[% sublanguages_loo.rfc4646_subtag | html %]">[% sublanguages_loo.native_description | html %] [% sublanguages_loo.script_description | html %] [% sublanguages_loo.region_description | html %] [% sublanguages_loo.variant_description | html %]([% sublanguages_loo.rfc4646_subtag | html %])
78                     [% IF ( sublanguages_loo.enabled ) %]
79                         <input value="[% sublanguages_loo.rfc4646_subtag | html %]" name="value" id="[% sublanguages_loo.rfc4646_subtag | html %]" type="checkbox" checked="checked" />
80                     [% ELSE %]
81                         <input value="[% sublanguages_loo.rfc4646_subtag | html %]" name="value" id="[% sublanguages_loo.rfc4646_subtag | html %]" type="checkbox" />
82                     [% END %]
83                     </label>
84                 [% END %]</td></tr></table>
85             [% END %]
86
87             [% ELSE %]
88                 [% IF ( languages_loo.current ) %]
89             <label for="[% languages_loo.rfc4646_subtag | html %]">[% languages_loo.native_description | html %]([% languages_loo.rfc4646_subtag | html %])
90                 [% IF ( languages_loo.group_enabled ) %]
91                     <input value="[% languages_loo.rfc4646_subtag | html %]" name="value" id="[% languages_loo.rfc4646_subtag | html %]" type="checkbox" checked="checked" />
92                 [% ELSE %]
93                     <input value="[% languages_loo.rfc4646_subtag | html %]" name="value" id="[% languages_loo.rfc4646_subtag | html %]" type="checkbox" />
94                 [% END %]
95                     </label>
96                 [% ELSE %]
97             <label for="[% languages_loo.rfc4646_subtag | html %]">[% languages_loo.native_description | html %]([% languages_loo.rfc4646_subtag | html %])
98                 [% IF ( languages_loo.group_enabled ) %]
99                     <input value="[% languages_loo.rfc4646_subtag | html %]" name="value" id="[% languages_loo.rfc4646_subtag | html %]" type="checkbox" checked="checked" />
100                 [% ELSE %]
101                     <input value="[% languages_loo.rfc4646_subtag | html %]" name="value" id="[% languages_loo.rfc4646_subtag | html %]" type="checkbox" />
102                 [% END %]
103                     </label>
104                 [% END %]
105             [% END %]
106         </td></tr>
107         [% END %]
108     </table>
109         [% END %]
110
111         [% END %]
112
113                 [% IF ( type_yesno ) %]
114                     [% IF ( value_yes ) %]
115                         <input type="radio" name="value" id="value" value="1" checked="checked" />[% ELSE %]<input type="radio" name="value" id="value" value="1" />
116                     [% END %]
117                     <label for="value" class="yesno">ON</label>
118                     [% IF ( value_no ) %]
119                         <input type="radio" name="value" id="value-no" value="0" checked="checked" />[% ELSE %]<input type="radio" name="value" id="value-no" value="0" />
120                     [% END %]
121                     <label for="value-no" class="yesno">OFF</label>
122                 [% END %]
123                 </li>
124         </ol></fieldset>
125         <fieldset class="action"><input type="submit" value="Save" /> 
126           [% IF ( return_tab ) %]
127             <a class="cancel" href="/cgi-bin/koha/admin/systempreferences.pl?tab=[% return_tab | html %]">Cancel</a>
128           [% ELSE %]
129             <a class="cancel" href="/cgi-bin/koha/admin/systempreferences.pl">Cancel</a>
130           [% END %]
131         </fieldset>
132         
133         <fieldset class="brief">
134         <legend>Koha internal</legend>
135         <div class="hint">Note: change the variable type to one of the dropdown values as needed</div>
136         <ol>
137         <li><label for="preftype">Variable type:</label>
138         <select name="preftype" id="preftype">
139         [%- IF (preftype && preftype == 'Free') || !preftype -%]
140             <option value="Free" selected>Free</option>
141         [%- ELSE -%]
142             <option value="Free">Free</option>
143         [% END %]
144         [%- IF (preftype && preftype == 'Choice') -%]
145             <option value="Choice" selected>Choice</option>
146         [%- ELSE -%]
147             <option value="Choice">Choice</option>
148         [% END %]
149         [%- IF (preftype && preftype == 'YesNo') -%]
150             <option value="YesNo" selected>YesNo</option>
151         [%- ELSE -%]
152             <option value="YesNo">YesNo</option>
153         [% END %]
154         [%- IF (preftype && preftype == 'Integer') -%]
155             <option value="Integer" selected>Integer</option>
156         [%- ELSE -%]
157             <option value="Integer">Integer</option>
158         [% END %]
159         [%- IF (preftype && preftype == 'Textarea') -%]
160             <option value="Textarea" selected>Textarea</option>
161         [%- ELSE -%]
162             <option value="Textarea">Textarea</option>
163         [% END %]
164         [%- IF (preftype && preftype == 'Htmlarea') -%]
165             <option value="Htmlarea" selected>Htmlarea</option>
166         [%- ELSE -%]
167             <option value="Htmlarea">Htmlarea</option>
168         [% END %]
169         [%- IF (preftype && preftype == 'Float') -%]
170             <option value="Float" selected>Float</option>
171         [%- ELSE -%]
172             <option value="Float">Float</option>
173         [% END %]
174         [%- IF (preftype && preftype == 'Themes') -%]
175             <option value="Themes" selected>Themes</option>
176         [%- ELSE -%]
177             <option value="Themes">Themes</option>
178         [% END %]
179         [%- IF (preftype && preftype == 'Languages') -%]
180             <option value="Languages" selected>Languages</option>
181         [%- ELSE -%]
182             <option value="Languages">Languages</option>
183         [% END %]
184         [%- IF (preftype && preftype == 'Upload') -%]
185             <option value="Upload" selected>Upload</option>
186         [%- ELSE -%]
187             <option value="Upload">Upload</option>
188         [% END %]
189         [%- IF (preftype && preftype == 'ClassSources') -%]
190             <option value="ClassSources" selected>ClassSources</option>
191         [%- ELSE -%]
192             <option value="ClassSources">ClassSources</option>
193         [% END %]
194         </select>
195         <li><label for="prefoptions">Variable options:</label>
196         <div class="hint">(a choice list for choice (separated by |) or cols|rows for texarea)</div>
197         <input type="text" name="prefoptions" id="prefoptions" value="[% prefoptions | html %]" size="60" maxlength="80" /></li>
198         </ol>
199         </fieldset>
200         </form>
201     [% END %]
202     
203     [% IF ( add_validate ) %]
204         <h3>Data recorded</h3>
205         
206         <form action="[% script_name | html %]" method="post">
207         <input type="submit" value="OK" />
208         </form>
209     [% END %]
210     
211     [% IF ( delete_confirm ) %]
212     <table>
213         <caption>Confirm deletion of [% searchfield | html %]?</caption>
214         <tr>
215             <th>Variable name:</th>
216             <td>[% searchfield | html %]</td>
217         </tr>
218         <tr><th>Value: </th><td>
219         [% Tvalue | html %]
220         </td></tr></table>
221         <form class="inline" action="[% script_name | html %]" method="post">
222         <input type="hidden" name="op" value="delete_confirmed" />
223         <input type="hidden" name="searchfield" value="[% searchfield | html %]" />
224         <input type="hidden" name="Tvalue" value="[% Tvalue | html %]" />
225         <input type="submit"  value="Yes, delete" /></form>
226         <form class="inline" action="[% script_name | html %]" method="post"><input type="submit" value="No, do not delete" /></form>
227     [% END %]
228     
229     [% IF ( delete_confirmed ) %]
230         <h3>Data deleted</h3>
231         <form action="[% script_name | html %]" method="post">
232             <input type="submit" value="Back to System Preferences" />
233         </form>
234     [% END %]
235    
236     [% IF ( else ) %]
237
238     <div id="toolbar" class="btn-toolbar">
239         <a class="btn btn-default btn-sm" id="newstopword" href="[% script_name | url %]?op=add_form"><i class="fa fa-plus"></i> New preference</a>
240     </div>
241
242     [% IF ( tab != 'local_use' ) %]
243         <p>Please click on one of the tabs at the left side of this form.</p>
244         <table>
245     [% ELSE %]
246         <h1>Local use preferences</h1>
247         <table width="80%" id="sysprefst">
248         <thead><tr>
249         <th>Preference</th>
250         <th>Explanation</th>
251         <th>Value</th>
252         <th>Actions</th>
253         </tr></thead>
254     [% END %]
255     <tbody>[% FOREACH loo IN loop %]
256         <tr>
257
258         <td><strong><a href="[% loo.edit | url %]">[% loo.variable | html %]</a></strong></td><td> [% loo.explanation | html %]</td>
259         [% IF ( loo.oneline ) %]
260         <td class="single-line">
261         [% ELSE %]
262         <td>
263         [% END %]
264         [% IF ( loo.type_upload ) %]
265             <form action="/cgi-bin/koha/admin/systempreferences.pl" method="post" enctype="multipart/form-data">
266         [% ELSE %]
267             <form action="/cgi-bin/koha/admin/systempreferences.pl" method="post">
268         [% END %]
269                 [% IF ( loo.type_free ) %]
270                 <input type="text" name="value" size="[% loo.fieldlength | html %]" value="[% loo.value | html %]" />
271                 [% END %]
272                 [% IF ( loo.type_upload ) %]
273                 <input type="file" name="value" value="[% loo.value | html %]" />
274                 [% END %]
275                 [% IF ( loo.type_textarea ) || ( loo.type_htmlarea ) %]
276                     [% IF ( loo.type_htmlarea ) && ( Koha.Preference('UseWYSIWYGinSystemPreferences') ) %]
277                         <textarea class="mce" name="value" rows="[% loo.rows | html %]" cols="[% loo.cols | html %]">[% loo.value | html %]</textarea>
278                     [% ELSE %]
279                         <a class="expand-textarea" style="display: none" href="#">Click to edit</a>
280                         <textarea name="value" rows="[% loo.rows | html %]" cols="[% loo.cols | html %]">[% loo.value | html %]</textarea>
281                     [% END %]
282                 [% END %]
283                 [% IF ( loo.type_choice ) %]
284                 <select name="value">
285                     [% FOREACH option IN loo.options %]
286                         [% IF ( option.selected ) %]
287                             <option value="[% option.option | html %]" selected="selected">
288                         [% ELSE %]
289                             <option value="[% option.option | html %]">
290                         [% END %][% option.option | html %]</option>
291                     [% END %]
292                 </select>
293                 [% END %]
294                 [% IF ( loo.type_langselector ) %]
295                 [% IF ( loo.languages_loop ) %]
296                 <table>
297                 [% FOREACH languages_loo IN loo.languages_loop %]
298                 <tr><td>
299                     [% IF ( languages_loo.plural ) %]
300                     [% IF ( languages_loo.native_description ) %][% languages_loo.native_description | html %][% ELSE %][% languages_loo.rfc4646_subtag | html %][% END %]
301                     [% FOREACH sublanguages_loo IN languages_loo.sublanguages_loop %]<table><tr><td>
302                         [% IF ( sublanguages_loo.sublanguage_current ) %]
303                             <label for="[% sublanguages_loo.rfc4646_subtag | html %]">[% sublanguages_loo.native_description | html %] [% sublanguages_loo.script_description | html %] [% sublanguages_loo.region_description | html %] [% sublanguages_loo.variant_description | html %]([% sublanguages_loo.rfc4646_subtag | html %])
304                             [% IF ( sublanguages_loo.enabled ) %]
305                                 <input value="[% sublanguages_loo.rfc4646_subtag | html %]" name="value" id="[% sublanguages_loo.rfc4646_subtag | html %]" type="checkbox" checked="checked" />
306                             [% ELSE %]
307                                 <input value="[% sublanguages_loo.rfc4646_subtag | html %]" name="value" id="[% sublanguages_loo.rfc4646_subtag | html %]" type="checkbox" />
308                             [% END %]
309                             </label>
310
311                         [% ELSE %]
312                             <label for="[% sublanguages_loo.rfc4646_subtag | html %]">[% sublanguages_loo.native_description | html %] [% sublanguages_loo.script_description | html %] [% sublanguages_loo.region_description | html %] [% sublanguages_loo.variant_description | html %]([% sublanguages_loo.rfc4646_subtag | html %])
313                             [% IF ( sublanguages_loo.enabled ) %]
314                                 <input value="[% sublanguages_loo.rfc4646_subtag | html %]" name="value" id="[% sublanguages_loo.rfc4646_subtag | html %]" type="checkbox" checked="checked" />
315                             [% ELSE %]
316                                 <input value="[% sublanguages_loo.rfc4646_subtag | html %]" name="value" id="[% sublanguages_loo.rfc4646_subtag | html %]" type="checkbox" />
317                             [% END %]
318                             </label>
319                         [% END %]</td></tr></table>
320                     [% END %]
321
322                     [% ELSE %]
323                         [% IF ( languages_loo.current ) %]
324                     <label for="[% languages_loo.rfc4646_subtag | html %]">[% languages_loo.native_description | html %]([% languages_loo.rfc4646_subtag | html %])
325                         [% IF ( languages_loo.group_enabled ) %]
326                             <input value="[% languages_loo.rfc4646_subtag | html %]" name="value" id="opac[% languages_loo.rfc4646_subtag | html %]" type="checkbox" checked="checked" />
327                         [% ELSE %]
328                             <input value="[% languages_loo.rfc4646_subtag | html %]" name="value" id="opac[% languages_loo.rfc4646_subtag | html %]" type="checkbox" />
329                         [% END %]
330                             </label>
331                         [% ELSE %]
332                     <label for="[% languages_loo.rfc4646_subtag | html %]">[% languages_loo.native_description | html %]([% languages_loo.rfc4646_subtag | html %])
333                         [% IF ( languages_loo.group_enabled ) %]
334                             <input value="[% languages_loo.rfc4646_subtag | html %]" name="value" id="opac[% languages_loo.rfc4646_subtag | html %]" type="checkbox" checked="checked" />
335                         [% ELSE %]
336                             <input value="[% languages_loo.rfc4646_subtag | html %]" name="value" id="opac[% languages_loo.rfc4646_subtag | html %]" type="checkbox" />
337                         [% END %]
338                             </label>
339                         [% END %]
340                     [% END %]
341                 </td></tr>
342                 [% END %]
343                 </table>
344                 [% END %]
345
346                 [% END %]
347
348                 [% IF ( loo.type_yesno ) %]
349                     [% IF ( loo.value_yes ) %]
350                         <input type="radio" name="value" value="1" checked="checked" />[% ELSE %]<input type="radio" name="value" value="1" />
351                     [% END %]
352                     <label for="value" class="yesno">ON</label>
353                     [% IF ( loo.value_no ) %]
354                         <input type="radio" name="value" value="0" checked="checked" />[% ELSE %]<input type="radio" name="value" value="0" />
355                     [% END %]
356                     <label for="value-no" class="yesno">OFF</label>
357                 [% END %]
358                 <input type="hidden" name="op" value="add_validate" />
359                 <input type="hidden" name="variable" value="[% loo.variable | html %]" />
360                 <input type="hidden" name="prefoptions" value="[% loo.prefoptions | html %]" />
361                 <input type="hidden" name="preftype" value="[% loo.type | html %]" />
362                 <input type="hidden" name="explanation" value="[% loo.explanation | html %]" />
363                 <button type="submit" class="btn btn-default btn-xs"><i class="fa fa-save"></i> Save</button>
364             </form>
365         </td>
366
367         <td class="actions"><a class="btn btn-default btn-xs" href="[% loo.edit | url %]"><i class="fa fa-pencil"></i> Edit</a> <a class="btn btn-default btn-xs" href="[% loo.delete | url %]"><i class="fa fa-trash"></i> Delete</a></td>
368     </tr>
369     [% END %]</tbody>
370     </table>
371     
372     [% END %]
373
374             </main>
375         </div> <!-- /.col-sm-10.col-sm-push-2 -->
376
377         <div class="col-sm-2 col-sm-pull-10">
378             <aside>
379                 [% INCLUDE 'admin-menu.inc' %]
380             </aside>
381         </div> <!-- /.col-sm-2.col-sm-pull-10 -->
382      </div> <!-- /.row -->
383
384 [% MACRO jsinclude BLOCK %]
385     [%# Add WYSIWYG editor for htmlarea system preferences %]
386     [% INCLUDE 'wysiwyg-systempreferences.inc' %]
387     [% IF ( else ) %]
388         [% INCLUDE 'datatables.inc' %]
389         <script>
390              $(document).ready(function() {
391                 [% IF ( loop ) %]$("#sysprefst").dataTable($.extend(true, {}, dataTablesDefaults, {
392                     "sDom": '<"top pager"ilf>t',
393                     "aoColumnDefs": [
394                         { "aTargets": [ -1, -2, -3 ], "bSortable": false }
395                     ],
396                     "bPaginate": false
397                 }));[% END %]
398              });
399         </script>
400     [% END %]
401     <script>
402         [% IF ( add_form ) %]
403             $(document).ready(function() {
404                 $('.variabletype').css({ color: "#0000CC", cursor: "pointer" });
405                 $('.variabletype').click(function() {
406                     $('#preftype').attr("value",$(this).attr("id"));
407                 });
408             });
409         [% END %]
410             // FIXME: many of these js functions appear unused
411         function isNotNull(f,noalert) {
412                 if (f.value.length ==0) {
413         return false;
414                 }
415                 return true;
416         }
417
418         function isNum(v,maybenull) {
419             var n = new Number(v.value);
420             if (isNaN(n)) {
421                 return false;
422                 }
423             if (maybenull==0 && v.value=='') {
424                 return false;
425             }
426             return true;
427         }
428
429         function Check(f) {
430             var ok=1;
431             var _alertString="";
432             var alertString2;
433             if (f.variable.value.length==0) {
434                 _alertString += "\n- " + _("variable missing");
435             }
436             if (f.value.value.length==0) {
437                 _alertString += "\n- " + _("value missing");
438             }
439             if (_alertString.length==0) {
440                 document.Aform.submit();
441             } else {
442                 alertString2  = _("Form not submitted because of the following problem(s)");
443                 alertString2 += "\n------------------------------------------------------------------------------------\n";
444                 alertString2 += _alertString;
445                 alert(alertString2);
446             }
447         }
448         $( function() {
449             $( '#sysprefst .expand-textarea' ).show().click( function () {
450                 $( this ).hide().nextAll( 'textarea, input[type=submit]' ).show( 'slow' );
451
452                 return false;
453             } ).nextAll( 'textarea, input[type=submit]' ).hide();
454         });
455     </script>
456 [% END %]
457
458 [% INCLUDE 'intranet-bottom.inc' %]