Bug 12615: Remove CGI::scrolling_list from marc_subfields_structure.pl
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / admin / marc_subfields_structure.tt
index a0177db..1568393 100644 (file)
@@ -4,19 +4,14 @@
 [% INCLUDE 'doc-head-close.inc' %]
 <script type="text/javascript">
 //<![CDATA[
-
 $(document).ready(function() {
+    $( ".constraints" ).accordion();
     $('#subfieldtabs').tabs();
-        $("a.displaymore").click(function(){
-        var link = $(this);
-        var constraints = $("#"+$(this).attr("href").replace("#",""));
-        constraints.toggle();
-            if($(constraints).is(':visible')){
-                link.html(_("Hide constraints"));
-            } else {
-                link.html(_("Display more constraints"));
-            }
+    $("input[id^='hidden_']").click(setHiddenValue);
+    $("input[id^='hidden-']").each(function() {
+            populateHiddenCheckboxes($(this).attr('id').split('-')[1]);
     });
+
 });
 
 /*function displayMoreConstraint(numlayer){
@@ -30,6 +25,140 @@ $(document).ready(function() {
     }
 }*/
 
+/* Function to enable/disable hidden values checkboxes when Flag is (de)selected */
+function enable_cb(tab) {
+    if ($("#hidden_flagged_" + tab).is(':checked')) {
+        $('.inclusive_' + tab).attr('disabled',true).removeAttr('checked');
+    }
+    else {
+        $('.inclusive_' + tab).removeAttr('disabled');
+    }
+}
+
+/* Function to serialize and set the 'hidden' field */
+function setHiddenValue() {
+
+    var tab = $(this).attr('id').split('_')[2];
+    var flagged_checked = $("#hidden_flagged_" + tab).is(':checked');
+    var opac_checked = $("#hidden_opac_" + tab).is(':checked');
+    var intranet_checked = $("#hidden_intranet_" + tab).is(':checked');
+    var editor_checked = $("#hidden_editor_" + tab).is(':checked');
+    var collapsed_checked = $("#hidden_collapsed_" + tab).is(':checked');
+    var hidden_value = "";
+
+    if ( flagged_checked ) {
+        hidden_value='-8';
+    } else if ( opac_checked && ! intranet_checked && ! editor_checked && collapsed_checked ) {
+        hidden_value='-7';
+    } else if ( opac_checked && intranet_checked && ! editor_checked && ! collapsed_checked) {
+        hidden_value='-6';
+    } else if ( opac_checked && intranet_checked && ! editor_checked && collapsed_checked) {
+        hidden_value='-5';
+    } else if ( opac_checked && ! intranet_checked && ! editor_checked && ! collapsed_checked) {
+        hidden_value='-4';
+    } else if ( opac_checked && ! intranet_checked && editor_checked && collapsed_checked) {
+        hidden_value='-3';
+    } else if ( opac_checked && ! intranet_checked && editor_checked && ! collapsed_checked) {
+        hidden_value='-2';
+    } else if ( opac_checked && intranet_checked && editor_checked && collapsed_checked) {
+        hidden_value='-1';
+    } else if ( opac_checked && intranet_checked && editor_checked && ! collapsed_checked) {
+        hidden_value='0';
+    } else if ( ! opac_checked && intranet_checked && editor_checked && collapsed_checked) {
+        hidden_value='1';
+    } else if ( ! opac_checked && ! intranet_checked && editor_checked && ! collapsed_checked) {
+        hidden_value='2';
+    } else if ( ! opac_checked && ! intranet_checked && editor_checked && collapsed_checked) {
+        hidden_value='3';
+    } else if ( ! opac_checked && intranet_checked && editor_checked && ! collapsed_checked) {
+        hidden_value='4';
+    } else if ( ! opac_checked && ! intranet_checked && ! editor_checked && collapsed_checked) {
+        hidden_value='5';
+    } else if ( ! opac_checked && intranet_checked && ! editor_checked && ! collapsed_checked) {
+        hidden_value='6';
+    } else if ( ! opac_checked && intranet_checked && ! editor_checked && collapsed_checked) {
+        hidden_value='7';
+    } else if ( ! opac_checked && ! intranet_checked && ! editor_checked && ! collapsed_checked) {
+        hidden_value='8';
+    }
+
+    enable_cb(tab);
+
+    $('#hidden-' + tab).val(hidden_value);
+
+}
+
+function populateHiddenCheckboxes(tab) {
+    // read the serialized value
+    var hidden_value = $('#hidden-' + tab).val();
+    // deafult to false
+    var opac_checked = false;
+    var intranet_checked = false;
+    var editor_checked = false;
+    var collapsed_checked = false;
+    var flagged_checked = false;
+
+    if ( hidden_value == '-8' ) {
+        flagged_checked = true;
+    } else if ( hidden_value == '-7') {
+        opac_checked = true;
+        collapsed_checked = true;
+    } else if ( hidden_value == '-6' ) {
+        opac_checked = true;
+        intranet_checked = true;
+    } else if ( hidden_value == '-5') {
+        opac_checked = true;
+        intranet_checked = true;
+        collapsed_checked = true;
+    } else if ( hidden_value == '-4' ) {
+        opac_checked = true;
+    } else if ( hidden_value == '-3') {
+        opac_checked = true;
+        editor_checked = true;
+        collapsed_checked = true;
+    } else if ( hidden_value == '-2' ) {
+        opac_checked = true;
+        editor_checked = true;
+    } else if ( hidden_value == '-1' ) {
+        opac_checked = true;
+        intranet_checked = true;
+        editor_checked = true;
+        collapsed_checked = true;
+    } else if ( hidden_value == '0' ) {
+        opac_checked = true;
+        intranet_checked = true;
+        editor_checked = true;
+    } else if ( hidden_value == '1' ) {
+        intranet_checked = true;
+        editor_checked = true;
+        collapsed_checked = true;
+    } else if ( hidden_value == '2' ) {
+        editor_checked = true;
+    } else if ( hidden_value == '3' ) {
+        editor_checked = true;
+        collapsed_checked = true;
+    } else if ( hidden_value == '4' ) {
+        intranet_checked = true;
+        editor_checked = true;
+    } else if ( hidden_value == '5' ) {
+        collapsed_checked = true;
+    } else if ( hidden_value == '6' ) {
+        intranet_checked = true;
+    } else if ( hidden_value == '7' ) {
+        intranet_checked = true;
+        collapsed_checked = true;
+    } // else if ( hidden_value == '8') { skip }
+
+    $("#hidden_opac_" + tab).attr('checked',opac_checked);
+    $("#hidden_intranet_" + tab).attr('checked',intranet_checked);
+    $("#hidden_editor_" + tab).attr('checked',editor_checked);
+    $("#hidden_collapsed_" + tab).attr('checked',collapsed_checked);
+    $("#hidden_flagged_" + tab).attr('checked',flagged_checked);
+
+    enable_cb(tab);
+
+}
+
 //]]>
 </script>
 </head>
@@ -38,7 +167,7 @@ $(document).ready(function() {
 [% 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/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;
+  <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 %]">[% IF ( frameworkcode ) %][% frameworkcode %][% ELSE %]Default[% END %] framework structure</a> &rsaquo;
   [% IF ( add_form ) %]
   [% IF ( use_heading_flags_p ) %]
   [% 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
@@ -71,8 +200,6 @@ $(document).ready(function() {
     <input type="hidden" name="op" value="add_validate" />
        <input type="hidden" name="tagfield" value="[% tagfield %]" />
     <input type="hidden" name="frameworkcode" value="[% frameworkcode %]" />
-    <input type="submit" value="Save changes" />
-    
     <div id="subfieldtabs" class="toptabs numbered">
    <ul>
         [% FOREACH loo IN loop %]
@@ -87,9 +214,11 @@ $(document).ready(function() {
     </ul>
     
     [% FOREACH loo IN loop %] 
-        <div id="sub[% loo.urisubfieldcode %]field">
-        
-               <fieldset class="rows" style="float:none;"><legend>[% IF ( loo.new_subfield ) %]Add new subfield[% ELSE %]Basic constraints[% END %]</legend>
+        <div class="constraints" id="sub[% loo.urisubfieldcode %]field">
+
+               <h3><a href="#basic[% loo.urisubfieldcode %]">Basic constraints</a></h3>
+                    <div id="basic[% loo.urisubfieldcode %]">
+                    <fieldset class="rows">
                        <ol>
                                [% IF ( subfieldcode == 0 || subfieldcode ) %] 
                                <li><span class="label">Subfield code:</span> [% loo.subfieldcode %] <input type="hidden" name="tagsubfield" value="[% loo.subfieldcode %]" /></li>
@@ -100,35 +229,118 @@ $(document).ready(function() {
                                <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>
                                <li><label for="repeatable[% loo.row %]">Repeatable: </label>[% loo.repeatable %]</li>
                                <li><label for="mandatory[% loo.row %]">Mandatory: </label>[% loo.mandatory %]</li>
-                               <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>
+                        <li><label for="tab[% loo.row %]">Managed in tab: </label>
+                            <select name="tab" tabindex="" size="1" id="[% loo.tab.id %]">
+                            [%- IF ( loo.tab.default ==  -1 ) -%]
+                                <option value="-1" selected="selected">ignore</option>
+                            [%- ELSE -%]
+                                <option value="-1">ignore</option>
+                            [%- END -%]
+                            [%- FOREACH t IN [ '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'] -%]
+                                [%- IF ( loo.tab.default ==  t ) -%]
+                                <option value="[%- t -%]" selected="selected">[%- t -%]</option>
+                                [%- ELSE -%]
+                                <option value="[%- t -%]">[%- t -%]</option>
+                                [%- END -%]
+                            [%- END -%]
+                            [%- IF ( loo.tab.default ==  10 ) -%]
+                                <option value="10" selected="selected">items (10)</option>
+                            [%- ELSE -%]
+                                <option value="10">items (10)</option>
+                            [%- END -%]
+                            </select>
+                            (ignore means that the subfield does not display in the record editor)
+                        </li>
                        </ol>
-            </fieldset>
-                       
-            <a class="displaymore" href="#more[% loo.urisubfieldcode %]">Display more constraints</a>
-            <div id="more[% loo.urisubfieldcode %]" style="display:none; clear: both">
-             <fieldset class="rows" style="float:none;">
-                               <legend>Advanced constraints:</legend>
+                    </fieldset>
+                    </div>
+
+
+            <h3><a href="#adv[% loo.urisubfieldcode %]">Advanced constraints</a></h3>
+            <div id="adv[% loo.urisubfieldcode %]">
+            <fieldset class="rows">
                 <ol><li><label for="defaultvalue[% loo.row %]">Default value:</label>
                     <input type="text" name="defaultvalue" id="defaultvalue[% loo.row %]" value="[% loo.defaultvalue %]" /></li>
                                <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>
-                <li><label for="hidden[% loo.row %]">hidden</label><input type="text" id="hidden[% loo.row %]" name="hidden" value="[% loo.hidden %]" size="2" /> (see online help)</li>
+                <li><input type="hidden" id="hidden-[% loo.row %]" name="hidden" value="[% loo.hidden %]" />
+                    <label for="hidden[% loo.row %]" style="float: none;">Visibility: </label>
+                    <input type="checkbox" id="hidden_opac_[% loo.row %]" class="inclusive_[% loo.row %]" name="hidden_opac_[% loo.row %]"/>
+                    <label for="hidden_opac_[% loo.row %]" style="float: none;">OPAC</label>
+                    <input type="checkbox" id="hidden_intranet_[% loo.row %]" class="inclusive_[% loo.row %]" name="hidden_intranet_[% loo.row %]"/>
+                    <label for="hidden_intranet_[% loo.row %]" style="float: none;">Intranet</label>
+                    <input type="checkbox" id="hidden_editor_[% loo.row %]" class="inclusive_[% loo.row %]" name="hidden_editor_[% loo.row %]"/>
+                    <label for="hidden_editor_[% loo.row %]" style="float: none;">Editor</label>
+                    <input type="checkbox" id="hidden_collapsed_[% loo.row %]" class="inclusive_[% loo.row %]" name="hidden_collapsed_[% loo.row %]"/>
+                    <label for="hidden_collapsed_[% loo.row %]" style="float: none;">Collapsed</label>
+                    <input type="checkbox" id="hidden_flagged_[% loo.row %]" name="flagged_[% loo.row %]"/>
+                    <label for="hidden_flagged_[% loo.row %]" style="float: none;">Flagged</label>
+                </li>
                 <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>
                 <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>
-                <li><label for="kohafield[% loo.row %]">Koha link:</label>[% loo.kohafield %]</li>
+                <li>
+                    <label for="kohafield[% loo.row %]">Koha link:</label>
+                    <select name="kohafield" id="[% loo.kohafield.id %]" size="1">
+                    [% FOREACH value IN loo.kohafield.values %]
+                      [% IF ( value == loo.kohafield.default ) %]
+                        <option value="[% value %]" selected>[% value %]</option>
+                      [% ELSE %]
+                        <option value="[% value %]">[% value %]</option>
+                      [% END %]
+                    [% END %]
+                    </select>
+                </li>
                        </ol>
-       </fieldset>
-        <fieldset class="rows" style="float:none;">
-                <legend>Other Options: (choose one)</legend>
+            </fieldset>
+            </div>
+            <h3><a href="#oth[% loo.urisubfieldcode %]">Other options (choose one)</a></h3>
+            <div id="oth[% loo.urisubfieldcode %]">
+            <fieldset class="rows">
                        <ol>
-                               <li><label for="authorised_value[% loo.row %]">Authorized value:</label>[% loo.authorised_value %]</li>
-                               <li><label for="authtypecode[% loo.row %]">Thesaurus:</label>[% loo.authtypes %]</li>
-                               <li><label for="value_builder[% loo.row %]">Plugin:</label>[% loo.value_builder %]</li>
+                            <li>
+                                <label for="authorised_value[% loo.row %]">Authorized value:</label>
+                                <select name="authorised_value" id="[% loo.authorised_value.id %]" size="1">
+                                [% FOREACH value IN loo.authorised_value.values %]
+                                    [% IF ( value == loo.authorised_value.default ) %]
+                                    <option value="[% value %]" selected>[% value %]</option>
+                                    [% ELSE %]
+                                    <option value="[% value %]">[% value %]</option>
+                                    [% END %]
+                                [% END %]
+                                </select>
+                            </li>
+                            <li>
+                                <label for="authtypecode[% loo.row %]">Thesaurus:</label>
+                                <select name="authtypecode" id="[% loo.authtypes.id %]" size="1">
+                                [% FOREACH value IN loo.authtypes.values %]
+                                    [% IF ( value == loo.authtypes.default ) %]
+                                    <option value="[% value %]" selected>[% value %]</option>
+                                    [% ELSE %]
+                                    <option value="[% value %]">[% value %]</option>
+                                    [% END %]
+                                [% END %]
+                                </select>
+                            </li>
+                            <li>
+                                <label for="value_builder[% loo.row %]">Plugin:</label>
+                                <select name="value_builder" id="[% loo.value_builder.id %]" size="1">
+                                [% FOREACH value IN loo.value_builder.values %]
+                                    [% IF ( value == loo.value_builder.default ) %]
+                                    <option value="[% value %]" selected>[% value %]</option>
+                                    [% ELSE %]
+                                    <option value="[% value %]">[% value %]</option>
+                                    [% END %]
+                                [% END %]
+                                </select>
+                            </li>
                        </ol>
-                               </fieldset>
-            </div><br class="clear" /><!-- /more  -->
+            </fieldset>
+            </div>
         </div><!-- /content_sub -->
         [% END %]
                </div><!-- /content -->
+    <fieldset class="action">
+        <input type="submit" value="Save changes" /> <a href="/cgi-bin/koha/admin/marc_subfields_structure.pl?tagfield=[% tagfield %]&amp;frameworkcode=[% frameworkcode %]" class="cancel">Cancel</a>
+    </fieldset>
     </form>
 [% END %]
 
@@ -143,7 +355,7 @@ $(document).ready(function() {
                 <input type="hidden" name="tagfield" value="[% tagfield %]" />
                                <input type="hidden" name="tagsubfield" value="[% tagsubfield %]" />
                                <input type="hidden" name="frameworkcode" value="[% frameworkcode %]" />
-                               <input type="submit" value="Yes, Delete this Subfield" />
+                               <input type="submit" value="Yes, delete this subfield" />
             </form>
                        
                        <form action="[% script_name %]" method="post">
@@ -151,7 +363,7 @@ $(document).ready(function() {
                        <input type="hidden" name="tagfield" value="[% tagfield %]" />
                        <input type="hidden" name="tagsubfield" value="[% tagsubfield %]" />
                        <input type="hidden" name="frameworkcode" value="[% frameworkcode %]" />
-                       <input type="submit" value="No, Do Not Delete" />
+                       <input type="submit" value="No, do not delete" />
             </form>
 [% END %]
 
@@ -219,7 +431,7 @@ $(document).ready(function() {
     <fieldset class="action"><input type="hidden" name="op" value="add_form" />
     <input type="hidden" name="tagfield" value="[% edit_tagfield %]" />
     <input type="hidden" name="frameworkcode" value="[% edit_frameworkcode %]" />
-    <input type="submit" value="Edit Subfields" />
+    <input type="submit" value="Edit subfields" />
        <a class="cancel" href="marctagstructure.pl?searchfield=[% tagfield %]&amp;frameworkcode=[% frameworkcode %]">Cancel</a>
        </fieldset>
 </form>