Bug 7883 - Save and continue editing for cataloging
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / admin / marc_subfields_structure.tt
index a0177db..716b129 100644 (file)
@@ -17,6 +17,11 @@ $(document).ready(function() {
                 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 +35,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 +177,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 %]">[% frameworkcode or "Default" %] 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 +210,7 @@ $(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 %]
@@ -111,7 +249,19 @@ $(document).ready(function() {
                 <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>
@@ -129,6 +279,9 @@ $(document).ready(function() {
         </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 %]