Bug 9894 - (3.12) de-serialize the 'hidden' value for subfields in frameworks
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / admin / marc_subfields_structure.tt
1 [% INCLUDE 'doc-head-open.inc' %]
2 <title>Koha &rsaquo; Administration &rsaquo;[% IF ( add_form ) %][% IF ( use_heading_flags_p ) %][% IF ( heading_edit_subfields_p ) %] MARC subfield structure &rsaquo; Edit MARC subfields constraints[% END %][% ELSE %] MARC subfield structure &rsaquo; [% action %][% END %][% END %]
3 [% IF ( delete_confirm ) %] MARC subfield structure &rsaquo; Confirm deletion of subfield [% tagsubfield %][% END %][% IF ( delete_confirmed ) %] MARC subfield structure &rsaquo; Subfield deleted[% END %][% IF ( else ) %]MARC subfield structure[% END %]</title>
4 [% INCLUDE 'doc-head-close.inc' %]
5 <script type="text/javascript">
6 //<![CDATA[
7
8 $(document).ready(function() {
9     $('#subfieldtabs').tabs();
10         $("a.displaymore").click(function(){
11         var link = $(this);
12         var constraints = $("#"+$(this).attr("href").replace("#",""));
13         constraints.toggle();
14             if($(constraints).is(':visible')){
15                 link.html(_("Hide constraints"));
16             } else {
17                 link.html(_("Display more constraints"));
18             }
19     });
20     $("input[id^='hidden_']").click(setHiddenValue);
21     $("input[id^='hidden-']").each(function() {
22             populateHiddenCheckboxes($(this).attr('id').split('-')[1]);
23     });
24 });
25
26 /*function displayMoreConstraint(numlayer){
27     var thisdiv = document.getElementById(numlayer);
28     if(thisdiv.getAttribute("class") == "content_hidden"){
29         thisdiv.removeAttribute('class');
30         thisdiv.setAttribute("class","content_visible");
31     } else {
32         thisdiv.removeAttribute('class');
33         thisdiv.setAttribute("class","content_hidden");
34     }
35 }*/
36
37 /* Function to serialize and set the 'hidden' field */
38 function setHiddenValue() {
39
40     var tab = $(this).attr('id').split('_')[2];
41     var opac_checked = $("#hidden_opac_" + tab).is(':checked');
42     var intranet_checked = $("#hidden_intranet_" + tab).is(':checked');
43     var editor_checked = $("#hidden_editor_" + tab).is(':checked');
44     var collapsed_checked = $("#hidden_collapsed_" + tab).is(':checked');
45     var hidden_value = "";
46
47     if ( opac_checked && ! intranet_checked && ! editor_checked && collapsed_checked ) {
48         hidden_value='-7';
49     } else if ( opac_checked && intranet_checked && ! editor_checked && ! collapsed_checked) {
50         hidden_value='-6';
51     } else if ( opac_checked && intranet_checked && ! editor_checked && collapsed_checked) {
52         hidden_value='-5';
53     } else if ( opac_checked && ! intranet_checked && ! editor_checked && ! collapsed_checked) {
54         hidden_value='-4';
55     } else if ( opac_checked && ! intranet_checked && editor_checked && collapsed_checked) {
56         hidden_value='-3';
57     } else if ( opac_checked && ! intranet_checked && editor_checked && ! collapsed_checked) {
58         hidden_value='-2';
59     } else if ( opac_checked && intranet_checked && editor_checked && collapsed_checked) {
60         hidden_value='-1';
61     } else if ( opac_checked && intranet_checked && editor_checked && ! collapsed_checked) {
62         hidden_value='0';
63     } else if ( ! opac_checked && intranet_checked && editor_checked && collapsed_checked) {
64         hidden_value='1';
65     } else if ( ! opac_checked && ! intranet_checked && editor_checked && ! collapsed_checked) {
66         hidden_value='2';
67     } else if ( ! opac_checked && ! intranet_checked && editor_checked && collapsed_checked) {
68         hidden_value='3';
69     } else if ( ! opac_checked && intranet_checked && editor_checked && ! collapsed_checked) {
70         hidden_value='4';
71     } else if ( ! opac_checked && ! intranet_checked && ! editor_checked && collapsed_checked) {
72         hidden_value='5';
73     } else if ( ! opac_checked && intranet_checked && ! editor_checked && ! collapsed_checked) {
74         hidden_value='6';
75     } else if ( ! opac_checked && intranet_checked && ! editor_checked && collapsed_checked) {
76         hidden_value='7';
77     } else if ( ! opac_checked && ! intranet_checked && ! editor_checked && ! collapsed_checked) {
78         hidden_value='8';
79     }
80
81     $('#hidden-' + tab).val(hidden_value);
82 }
83
84 function populateHiddenCheckboxes(tab) {
85     // read the serialized value
86     var hidden_value = $('#hidden-' + tab).val();
87     // deafult to false
88     var opac_checked = false;
89     var intranet_checked = false;
90     var editor_checked = false;
91     var collapsed_checked = false;
92
93     if ( hidden_value == '-7') {
94         opac_checked = true;
95         collapsed_checked = true;
96     } else if ( hidden_value == '-6' ) {
97         opac_checked = true;
98         intranet_checked = true;
99     } else if ( hidden_value == '-5') {
100         opac_checked = true;
101         intranet_checked = true;
102         collapsed_checked = true;
103     } else if ( hidden_value == '-4' ) {
104         opac_checked = true;
105     } else if ( hidden_value == '-3') {
106         opac_checked = true;
107         editor_checked = true;
108         collapsed_checked = true;
109     } else if ( hidden_value == '-2' ) {
110         opac_checked = true;
111         editor_checked = true;
112     } else if ( hidden_value == '-1' ) {
113         opac_checked = true;
114         intranet_checked = true;
115         editor_checked = true;
116         collapsed_checked = true;
117     } else if ( hidden_value == '0' ) {
118         opac_checked = true;
119         intranet_checked = true;
120         editor_checked = true;
121     } else if ( hidden_value == '1' ) {
122         intranet_checked = true;
123         editor_checked = true;
124         collapsed_checked = true;
125     } else if ( hidden_value == '2' ) {
126         editor_checked = true;
127     } else if ( hidden_value == '3' ) {
128         editor_checked = true;
129         collapsed_checked = true;
130     } else if ( hidden_value == '4' ) {
131         intranet_checked = true;
132         editor_checked = true;
133     } else if ( hidden_value == '5' ) {
134         collapsed_checked = true;
135     } else if ( hidden_value == '6' ) {
136         intranet_checked = true;
137     } else if ( hidden_value == '7' ) {
138         intranet_checked = true;
139         collapsed_checked = true;
140     } // else if ( hidden_value == '8') { skip }
141
142     $("#hidden_opac_" + tab).attr('checked',opac_checked);
143     $("#hidden_intranet_" + tab).attr('checked',intranet_checked);
144     $("#hidden_editor_" + tab).attr('checked',editor_checked);
145     $("#hidden_collapsed_" + tab).attr('checked',collapsed_checked);
146 }
147
148 //]]>
149 </script>
150 </head>
151 <body id="admin_marc_subfields_structure" class="admin">
152 [% INCLUDE 'header.inc' %]
153 [% INCLUDE 'cat-search.inc' %]
154
155 <div id="breadcrumbs">
156   <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/biblio_framework.pl">MARC frameworks</a> &rsaquo; <a href="/cgi-bin/koha/admin/marctagstructure.pl?frameworkcode=[% frameworkcode %]&amp;searchfield=[% tagfield %]">[% frameworkcode %] framework structure</a> &rsaquo;
157   [% IF ( add_form ) %]
158   [% IF ( use_heading_flags_p ) %]
159   [% IF ( heading_edit_subfields_p ) %] <a href="/cgi-bin/koha/admin/marc_subfields_structure.pl?tagfield=[% tagfield %]&amp;frameworkcode=[% frameworkcode %]">Tag [% tagfield %] subfield structure</a> &rsaquo; Edit subfields constraints
160   [% END %]
161   [% ELSE %] <a href="/cgi-bin/koha/admin/marc_subfields_structure.pl?tagfield=[% tagfield %]&amp;frameworkcode=[% frameworkcode %]">Tag [% tagfield %] Subfield structure</a> &rsaquo; [% action %]
162   [% END %]
163   [% END %]
164 [% IF ( delete_confirm ) %] <a href="/cgi-bin/koha/admin/marc_subfields_structure.pl?tagfield=[% tagfield %]&amp;frameworkcode=[% frameworkcode %]">Tag [% tagfield %] Subfield structure</a> &rsaquo; Confirm deletion of subfield [% tagsubfield %]
165 [% END %]
166 [% IF ( delete_confirmed ) %] <a href="/cgi-bin/koha/admin/marc_subfields_structure.pl?tagfield=[% tagfield %]&amp;frameworkcode=[% frameworkcode %]">Tag [% tagfield %] subfield structure</a> &rsaquo; Subfield deleted
167 [% END %]
168 [% IF ( else ) %]Tag [% tagfield %] Subfield structure[% END %]
169 </div>
170
171 <div id="doc" class="yui-t7">
172    
173    <div id="bd">
174         <div id="yui-main">
175         <div class="yui-g">
176
177 [% IF ( add_form ) %]
178     <h1>
179         [% IF ( use_heading_flags_p ) %]
180             [% IF ( heading_edit_subfields_p ) %]Tag [% tagfield %] Subfield constraints[% END %]
181         [% ELSE %]
182             [% action %]
183         [% END %]
184     </h1>
185     <form action="[% script_name %]" name="Aform" method="post">
186     <input type="hidden" name="op" value="add_validate" />
187         <input type="hidden" name="tagfield" value="[% tagfield %]" />
188     <input type="hidden" name="frameworkcode" value="[% frameworkcode %]" />
189     <input type="submit" value="Save changes" />
190     
191     <div id="subfieldtabs" class="toptabs numbered">
192    <ul>
193         [% FOREACH loo IN loop %]
194             [% IF ( loo.new_subfield ) %]
195                 <li><a href="#sub[% loo.urisubfieldcode %]field" title="[% loo.liblibrarian %]">New</a></li>
196             [% ELSE %]
197                 <li><a href="#sub[% loo.urisubfieldcode %]field" title="[% loo.liblibrarian %]">
198                     [% loo.subfieldcode %]
199                </a></li>
200             [% END %]
201         [% END %]
202     </ul>
203     
204     [% FOREACH loo IN loop %] 
205         <div id="sub[% loo.urisubfieldcode %]field">
206         
207                <fieldset class="rows" style="float:none;"><legend>[% IF ( loo.new_subfield ) %]Add new subfield[% ELSE %]Basic constraints[% END %]</legend>
208                         <ol>
209                                 [% IF ( subfieldcode == 0 || subfieldcode ) %] 
210                                 <li><span class="label">Subfield code:</span> [% loo.subfieldcode %] <input type="hidden" name="tagsubfield" value="[% loo.subfieldcode %]" /></li>
211                                 [% ELSE %]
212                                 <li><label for="tagsubfield[% loo.row %]">Subfield code:</label> <input type="text" id="tagsubfield[% loo.row %]" name="tagsubfield" value="[% loo.subfieldcode %]" /></li>
213                                 [% END %]
214                                 <li><label for="liblibrarian[% loo.row %]">Text for librarian: </label><input id="liblibrarian[% loo.row %]" type="text" name="liblibrarian" value="[% loo.liblibrarian %]" size="40" maxlength="80" /></li>
215                                 <li><label for="libopac[% loo.row %]">Text for OPAC: </label><input type="text" id="libopac[% loo.row %]" name="libopac" value="[% loo.libopac %]" size="40" maxlength="80" /></li>
216                                 <li><label for="repeatable[% loo.row %]">Repeatable: </label>[% loo.repeatable %]</li>
217                                 <li><label for="mandatory[% loo.row %]">Mandatory: </label>[% loo.mandatory %]</li>
218                                 <li><label for="tab[% loo.row %]">Managed in tab: </label>[% loo.tab %] (ignore means that the subfield does not display in the record editor)</li>
219                         </ol>
220             </fieldset>
221                         
222             <a class="displaymore" href="#more[% loo.urisubfieldcode %]">Display more constraints</a>
223             <div id="more[% loo.urisubfieldcode %]" style="display:none; clear: both">
224              <fieldset class="rows" style="float:none;">
225                                 <legend>Advanced constraints:</legend>
226                 <ol><li><label for="defaultvalue[% loo.row %]">Default value:</label>
227                     <input type="text" name="defaultvalue" id="defaultvalue[% loo.row %]" value="[% loo.defaultvalue %]" /></li>
228                                 <li><label for="maxlength[% loo.row %]">Max length:</label><input type="text" id="maxlength[% loo.row %]" name="maxlength" value="[% loo.maxlength %]" size="4" /> (see online help)</li>
229                 <li><input type="hidden" id="hidden-[% loo.row %]" name="hidden" value="[% loo.hidden %]" />
230                     <label for="hidden[% loo.row %]">Visibility: </label>
231                     <input class="radio" type="checkbox" id="hidden_opac_[% loo.row %]" name="hidden_opac_[% loo.row %]"/> OPAC
232                     <input type="checkbox" id="hidden_intranet_[% loo.row %]" name="hidden_intranet_[% loo.row %]"/> Intranet
233                     <input type="checkbox" id="hidden_editor_[% loo.row %]" name="hidden_editor_[% loo.row %]"/> Editor
234                     <input type="checkbox" id="hidden_collapsed_[% loo.row %]" name="hidden_collapsed_[% loo.row %]"/> Collapsed
235                 </li>
236                 <li><label for="isurl[% loo.row %]">Is a URL:</label>[% loo.isurl %] (if checked, it means that the subfield is a URL and can be clicked)</li>
237                 <li><label for="link[% loo.row %]">Link:</label><input type="text" id="link[% loo.row %]" name="link" value="[% loo.link %]" size="10" maxlength="80" /> (e.g., Title or Local-Number) <span class="error"><em>NOTE: If you change this value you must ask your administrator to run misc/batchRebuildBiblioTables.pl.</em></span></li>
238                 <li><label for="kohafield[% loo.row %]">Koha link:</label>[% loo.kohafield %]</li>
239                         </ol>
240         </fieldset>
241          <fieldset class="rows" style="float:none;">
242                 <legend>Other Options: (choose one)</legend>
243                         <ol>
244                                 <li><label for="authorised_value[% loo.row %]">Authorized value:</label>[% loo.authorised_value %]</li>
245                                 <li><label for="authtypecode[% loo.row %]">Thesaurus:</label>[% loo.authtypes %]</li>
246                                 <li><label for="value_builder[% loo.row %]">Plugin:</label>[% loo.value_builder %]</li>
247                         </ol>
248                                 </fieldset>
249             </div><br class="clear" /><!-- /more  -->
250         </div><!-- /content_sub -->
251         [% END %]
252                 </div><!-- /content -->
253     </form>
254 [% END %]
255
256 [% IF ( delete_confirm ) %]
257
258 <h3>Confirm deletion of subfield [% tagsubfield %]?</h3>
259     <p>Subfield: [% tagsubfield %]</p>
260     <p>Description: [% liblibrarian %]</p>
261
262             <form action="[% delete_link %]" method="post"><input type="hidden" name="op" value="delete_confirmed" />
263                 <input type="hidden" name="searchfield" value="[% searchfield %]" />
264                 <input type="hidden" name="tagfield" value="[% tagfield %]" />
265                                 <input type="hidden" name="tagsubfield" value="[% tagsubfield %]" />
266                                 <input type="hidden" name="frameworkcode" value="[% frameworkcode %]" />
267                                 <input type="submit" value="Yes, Delete this Subfield" />
268             </form>
269                         
270                         <form action="[% script_name %]" method="post">
271                         <input type="hidden" name="searchfield" value="[% searchfield %]" />
272                         <input type="hidden" name="tagfield" value="[% tagfield %]" />
273                         <input type="hidden" name="tagsubfield" value="[% tagsubfield %]" />
274                         <input type="hidden" name="frameworkcode" value="[% frameworkcode %]" />
275                         <input type="submit" value="No, Do Not Delete" />
276             </form>
277 [% END %]
278
279 [% IF ( delete_confirmed ) %]
280
281     <h3>Data deleted</h3>
282     <form action="[% script_name %]" method="post">
283         <input type="hidden" name="tagfield" value="[% tagfield %]" />
284     <input type="submit" value="OK" />
285     </form>
286 [% END %]
287
288
289 [% IF ( else ) %]
290 <h1>MARC subfield structure admin for [% tagfield %] [% IF ( frameworkcode ) %](framework [% frameworkcode %])[% ELSE %](default framework)[% END %]</h1>
291 <p>This screen shows the subfields associated with the selected tag. You can edit subfields or add a new one by clicking on edit. </p>
292 <p>The column Koha field shows that the subfield is linked with a Koha field. Koha can manage a MARC interface, or a Koha interface. This link ensures that both DB are synchronized, thus you can change from a MARC to a Koha interface easily.</p>
293
294 <table>
295 <tr>
296     <th>Subfield</th>
297     <th>Text</th>
298     <th>Constraints</th>
299     <th>Edit</th>
300     <th>Delete</th>
301 </tr>
302 [% FOREACH loo IN loop %]
303 [% UNLESS ( loop.odd ) %]
304 <tr class="highlight">
305 [% ELSE %]
306 <tr>
307 [% END %]
308     <td><a href="/cgi-bin/koha/admin/marc_subfields_structure.pl?op=add_form&amp;tagfield=[% loo.tagfield %]&amp;frameworkcode=[% frameworkcode %]#sub[% loo.tagsubfield %]field">[% loo.tagsubfield %]</a></td>
309     <td>
310         [% IF ( loo.subfield_ignored ) %]
311             <i>[% loo.liblibrarian %]</i>
312         [% ELSE %]
313             [% loo.liblibrarian %]
314         [% END %]
315     </td>
316     <td>
317         [% IF ( loo.subfield_ignored ) %]
318             <i>subfield ignored</i>
319         [% ELSE %]
320             Tab:[% loo.tab %],
321             [% IF ( loo.kohafield ) %] | Koha field: [% loo.kohafield %], [% END %]
322             [% IF ( loo.repeatable ) %]Repeatable, [% ELSE %]Not repeatable,[% END %]
323             [% IF ( loo.mandatory ) %]Mandatory, [% ELSE %]Not mandatory,[% END %]
324             [% IF ( loo.seealso ) %] | See Also: [% loo.seealso %],[% END %]
325             [% IF ( loo.hidden ) %]hidden,[% END %]
326             [% IF ( loo.isurl ) %]is a URL,[% END %]
327             [% IF ( loo.authorised_value ) %] | Auth value:[% loo.authorised_value %],[% END %]
328             [% IF ( loo.authtypecode ) %] | Authority:[% loo.authtypecode %],[% END %]
329             [% IF ( loo.value_builder ) %] | Plugin:[% loo.value_builder %],[% END %]
330             [% IF ( loo.link ) %] | Link:[% loo.link %],[% END %]
331         [% END %]
332     </td>
333     <td><a href="/cgi-bin/koha/admin/marc_subfields_structure.pl?op=add_form&amp;tagfield=[% loo.tagfield %]&amp;frameworkcode=[% frameworkcode %]#sub[% loo.tagsubfield %]field">Edit</a></td>
334     <td><a href="/cgi-bin/koha/admin/marc_subfields_structure.pl?op=delete_confirm&amp;tagfield=[% loo.tagfield %]&amp;tagsubfield=[% loo.tagsubfield %]&amp;frameworkcode=[% frameworkcode %]">Delete</a></td>
335 </tr>
336 [% END %]
337 </table>
338
339 <form action="[% script_name %]" method="get">
340     <fieldset class="action"><input type="hidden" name="op" value="add_form" />
341     <input type="hidden" name="tagfield" value="[% edit_tagfield %]" />
342     <input type="hidden" name="frameworkcode" value="[% edit_frameworkcode %]" />
343     <input type="submit" value="Edit Subfields" />
344         <a class="cancel" href="marctagstructure.pl?searchfield=[% tagfield %]&amp;frameworkcode=[% frameworkcode %]">Cancel</a>
345         </fieldset>
346 </form>
347
348 [% END %]
349
350
351
352 </div>
353 </div>
354 </div>
355 [% INCLUDE 'intranet-bottom.inc' %]