Koha/koha-tmpl/intranet-tmpl/prog/en/modules/admin/marc_subfields_structure.tt
Owen Leonard a46b3b4de0 Bug 2889 - templates should use [% IF ( loop.odd ) %] - Administration
Some scripts pass a template variable to facilitate an alternate table
row class for styling. Other use the 'IF (loop.odd)' construction. I
think we're at the point where the CSS3 :nth-child() selector is
widely-supported enough that we can do without template-based solutions:

http://caniuse.com/#feat=css-sel3

This patch adds such a selector to the staff client CSS and removes the
corresponding template markup from Administration pages. The last in
this series of patches will remove the redundant CSS.

Also in this patch: a few minor markup corrections.

To test, apply the patch and clear your browser cache if necessary. View
the following pages and confirm that alternate table row highlighting
works as before:

 - Administration -> Budgets
 - Acquisitions   -> Vendor -> Contracts
 - Administration -> Budgets -> Budget -> Planning
 - Administration -> Authority types
 - Administration -> Authority types -> MARC structure
 - Administration -> Authority types -> MARC structure -> subfields
 - Administration -> MARC bibliographic framework
 - Administration -> MARC bibliographic framework -> MARC structure
 - Administration -> MARC bibliographic framework -> MARC structure -> Subfields
 - Administration -> Libraries and groups
 - Administration -> Cities and towns
 - Administration -> Classification sources
 - Administration -> Circulation and fines rules
 - Administration -> Currencies and exchange rates
 - Administration -> Item types
 - Administration -> Koha to MARC mapping
 - Administration -> System preferences -> Local use
 - Administration -> Z39.50 client targets

Signed-off-by: Nick Clemens <nick@quecheelibrary.org>

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2014-10-15 17:59:12 -03:00

442 lines
22 KiB
Text

[% INCLUDE 'doc-head-open.inc' %]
<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 %]
[% 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>
[% INCLUDE 'doc-head-close.inc' %]
<script type="text/javascript">
//<![CDATA[
$(document).ready(function() {
$( ".constraints" ).accordion();
$('#subfieldtabs').tabs();
$("input[id^='hidden_']").click(setHiddenValue);
$("input[id^='hidden-']").each(function() {
populateHiddenCheckboxes($(this).attr('id').split('-')[1]);
});
});
/*function displayMoreConstraint(numlayer){
var thisdiv = document.getElementById(numlayer);
if(thisdiv.getAttribute("class") == "content_hidden"){
thisdiv.removeAttribute('class');
thisdiv.setAttribute("class","content_visible");
} else {
thisdiv.removeAttribute('class');
thisdiv.setAttribute("class","content_hidden");
}
}*/
/* 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>
<body id="admin_marc_subfields_structure" class="admin">
[% INCLUDE 'header.inc' %]
[% 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 %]">[% 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
[% END %]
[% ELSE %] <a href="/cgi-bin/koha/admin/marc_subfields_structure.pl?tagfield=[% tagfield %]&amp;frameworkcode=[% frameworkcode %]">Tag [% tagfield %] Subfield structure</a> &rsaquo; [% action %]
[% END %]
[% END %]
[% 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 %]
[% END %]
[% 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
[% END %]
[% IF ( else ) %]Tag [% tagfield %] Subfield structure[% END %]
</div>
<div id="doc" class="yui-t7">
<div id="bd">
<div id="yui-main">
<div class="yui-g">
[% IF ( add_form ) %]
<h1>
[% IF ( use_heading_flags_p ) %]
[% IF ( heading_edit_subfields_p ) %]Tag [% tagfield %] Subfield constraints[% END %]
[% ELSE %]
[% action %]
[% END %]
</h1>
<form action="[% script_name %]" name="Aform" method="post">
<input type="hidden" name="op" value="add_validate" />
<input type="hidden" name="tagfield" value="[% tagfield %]" />
<input type="hidden" name="frameworkcode" value="[% frameworkcode %]" />
<div id="subfieldtabs" class="toptabs numbered">
<ul>
[% FOREACH loo IN loop %]
[% IF ( loo.new_subfield ) %]
<li><a href="#sub[% loo.urisubfieldcode %]field" title="[% loo.liblibrarian %]">New</a></li>
[% ELSE %]
<li><a href="#sub[% loo.urisubfieldcode %]field" title="[% loo.liblibrarian %]">
[% loo.subfieldcode %]
</a></li>
[% END %]
[% END %]
</ul>
[% FOREACH loo IN loop %]
<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>
[% ELSE %]
<li><label for="tagsubfield[% loo.row %]">Subfield code:</label> <input type="text" id="tagsubfield[% loo.row %]" name="tagsubfield" value="[% loo.subfieldcode %]" /></li>
[% END %]
<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>
<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>
<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>
</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><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>
<select name="kohafield" id="[% loo.kohafield.id %]" size="1">
[% FOREACH value IN loo.kohafield.values %]
[% IF ( value == loo.kohafield.default ) %]
<option value="[% value %]" selected="selected">[% value %]</option>
[% ELSE %]
<option value="[% value %]">[% value %]</option>
[% END %]
[% END %]
</select>
</li>
</ol>
</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>
<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="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="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="selected">[% value %]</option>
[% ELSE %]
<option value="[% value %]">[% value %]</option>
[% END %]
[% END %]
</select>
</li>
</ol>
</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 %]
[% IF ( delete_confirm ) %]
<h3>Confirm deletion of subfield [% tagsubfield %]?</h3>
<p>Subfield: [% tagsubfield %]</p>
<p>Description: [% liblibrarian %]</p>
<form action="[% delete_link %]" method="post"><input type="hidden" name="op" value="delete_confirmed" />
<input type="hidden" name="searchfield" value="[% searchfield %]" />
<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" />
</form>
<form action="[% script_name %]" method="post">
<input type="hidden" name="searchfield" value="[% searchfield %]" />
<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" />
</form>
[% END %]
[% IF ( delete_confirmed ) %]
<h3>Data deleted</h3>
<form action="[% script_name %]" method="post">
<input type="hidden" name="tagfield" value="[% tagfield %]" />
<input type="submit" value="OK" />
</form>
[% END %]
[% IF ( else ) %]
<h1>MARC subfield structure admin for [% tagfield %] [% IF ( frameworkcode ) %](framework [% frameworkcode %])[% ELSE %](default framework)[% END %]</h1>
<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>
<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>
<table>
<tr>
<th>Subfield</th>
<th>Text</th>
<th>Constraints</th>
<th>Edit</th>
<th>Delete</th>
</tr>
[% FOREACH loo IN loop %]
<tr>
<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>
<td>
[% IF ( loo.subfield_ignored ) %]
<i>[% loo.liblibrarian %]</i>
[% ELSE %]
[% loo.liblibrarian %]
[% END %]
</td>
<td>
[% IF ( loo.subfield_ignored ) %]
<i>subfield ignored</i>
[% ELSE %]
Tab:[% loo.tab %],
[% IF ( loo.kohafield ) %] | Koha field: [% loo.kohafield %], [% END %]
[% IF ( loo.repeatable ) %]Repeatable, [% ELSE %]Not repeatable,[% END %]
[% IF ( loo.mandatory ) %]Mandatory, [% ELSE %]Not mandatory,[% END %]
[% IF ( loo.seealso ) %] | See Also: [% loo.seealso %],[% END %]
[% IF ( loo.hidden ) %]hidden,[% END %]
[% IF ( loo.isurl ) %]is a URL,[% END %]
[% IF ( loo.authorised_value ) %] | Auth value:[% loo.authorised_value %],[% END %]
[% IF ( loo.authtypecode ) %] | Authority:[% loo.authtypecode %],[% END %]
[% IF ( loo.value_builder ) %] | Plugin:[% loo.value_builder %],[% END %]
[% IF ( loo.link ) %] | Link:[% loo.link %],[% END %]
[% END %]
</td>
<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>
<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>
</tr>
[% END %]
</table>
<form action="[% script_name %]" method="get">
<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" />
<a class="cancel" href="marctagstructure.pl?searchfield=[% tagfield %]&amp;frameworkcode=[% frameworkcode %]">Cancel</a>
</fieldset>
</form>
[% END %]
</div>
</div>
</div>
[% INCLUDE 'intranet-bottom.inc' %]