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