Jonathan Druart
39597b86ae
When creating a new subfield for an authority framework, the checkboxes don't behave as they should. If you click on the 'repeatable', 'mandatory' or 'is url' checkbox's label, the checkbox from the second tab will be checked/unchecked. This is caused by a non-unique id of the input element. I have found this bug when working on the removal of CGI::checkbox in both admin/auth_subfields_structure.pl and admin/marc_subfields_structure.pl scripts. This patch remove the use of CGI::checkbox as well as the generation of html code from these 2 pl scripts (which should be avoided). The code these scripts are now pretty similar. Test plan: Add/modify/remove subfield for a MARC framework and an Authority framework. Use as many field as possible and confirm that the values are correctly inserted/displayed. Signed-off-by: Hector Castro <hector.hecaxmmx@gmail.com> Works as advertised Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
310 lines
18 KiB
Text
310 lines
18 KiB
Text
[% INCLUDE 'doc-head-open.inc' %]
|
|
<title>Koha › Administration ›[% IF ( add_form ) %][% IF ( use_heading_flags_p ) %][% IF ( heading_edit_subfields_p ) %] MARC subfield structure › Edit MARC subfields constraints[% END %][% ELSE %] MARC subfield structure › [% action %][% END %][% END %]
|
|
[% IF ( delete_confirm ) %] MARC subfield structure › Confirm deletion of subfield [% tagsubfield %][% END %][% IF ( delete_confirmed ) %] MARC subfield structure › Subfield deleted[% END %][% IF ( else ) %]MARC subfield structure[% END %]</title>
|
|
[% INCLUDE 'doc-head-close.inc' %]
|
|
<script type="text/javascript" src="[% themelang %]/js/marc_subfields_structure.js"></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> › <a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a> › <a href="/cgi-bin/koha/admin/biblio_framework.pl">MARC frameworks</a> › <a href="/cgi-bin/koha/admin/marctagstructure.pl?frameworkcode=[% frameworkcode %]&searchfield=[% tagfield | uri %]">[% IF ( frameworkcode ) %][% frameworkcode %][% ELSE %]Default[% END %] framework structure</a> ›
|
|
[% 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 | uri %]&frameworkcode=[% frameworkcode %]">Tag [% tagfield | html %] subfield structure</a> › Edit subfields constraints
|
|
[% END %]
|
|
[% ELSE %] <a href="/cgi-bin/koha/admin/marc_subfields_structure.pl?tagfield=[% tagfield | uri %]&frameworkcode=[% frameworkcode %]">Tag [% tagfield | html %] Subfield structure</a> › [% action %]
|
|
[% END %]
|
|
[% END %]
|
|
[% IF ( delete_confirm ) %] <a href="/cgi-bin/koha/admin/marc_subfields_structure.pl?tagfield=[% tagfield | uri %]&frameworkcode=[% frameworkcode %]">Tag [% tagfield | html %] Subfield structure</a> › Confirm deletion of subfield [% tagsubfield %]
|
|
[% END %]
|
|
[% IF ( delete_confirmed ) %] <a href="/cgi-bin/koha/admin/marc_subfields_structure.pl?tagfield=[% tagfield | uri %]&frameworkcode=[% frameworkcode %]">Tag [% tagfield | html %] subfield structure</a> › Subfield deleted
|
|
[% END %]
|
|
[% IF ( else ) %]Tag [% tagfield | html %] 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 | html %] 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 | html %]" />
|
|
<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 | html_entity %]">New</a></li>
|
|
[% ELSE %]
|
|
<li><a href="#sub[% loo.urisubfieldcode %]field" title="[% loo.liblibrarian | html_entity %]">
|
|
[% 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 | html_entity %]" 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 | html_entity %]" size="40" maxlength="80" /></li>
|
|
<li>
|
|
<label for="repeatable[% loo.row %]">Repeatable: </label>
|
|
[% IF loo.repeatable %]
|
|
<input type="checkbox" id="repeatable[% loo.row %]" name="repeatable[% loo.row %]" checked="checked" value="1" />
|
|
[% ELSE %]
|
|
<input type="checkbox" id="repeatable[% loo.row %]" name="repeatable[% loo.row %]" value="1" />
|
|
[% END %]
|
|
</li>
|
|
<li>
|
|
<label for="mandatory[% loo.row %]">Mandatory: </label>
|
|
[% IF loo.mandatory %]
|
|
<input type="checkbox" id="mandatory[% loo.row %]" name="mandatory[% loo.row %]" checked="checked" value="1" />
|
|
[% ELSE %]
|
|
<input type="checkbox" id="mandatory[% loo.row %]" name="mandatory[% loo.row %]" value="1" />
|
|
[% END %]
|
|
</li>
|
|
<li><label for="tab[% loo.row %]">Managed in tab: </label>
|
|
<select name="tab" tabindex="" size="1" id="tab[% loo.row %]">
|
|
[%- IF ( loo.tab == -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 == t ) -%]
|
|
<option value="[%- t -%]" selected="selected">[%- t -%]</option>
|
|
[%- ELSE -%]
|
|
<option value="[%- t -%]">[%- t -%]</option>
|
|
[%- END -%]
|
|
[%- END -%]
|
|
[%- IF ( loo.tab == 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>
|
|
[% IF loo.isurl %]
|
|
<input type="checkbox" id="isurl[% loo.row %]" name="isurl[% loo.row %]" checked="checked" value="1" />
|
|
[% ELSE %]
|
|
<input type="checkbox" id="isurl[% loo.row %]" name="isurl[% loo.row %]" value="1" />
|
|
[% END %]
|
|
(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="kohafield[% loo.row %]" size="1">
|
|
[% FOREACH value IN loo.kohafields %]
|
|
[% IF ( value == loo.kohafield ) %]
|
|
<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="authorised_value[% loo.row %]" size="1">
|
|
[% FOREACH value IN loo.authorised_values %]
|
|
[% IF ( value == loo.authorised_value ) %]
|
|
<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="authtypecode[% loo.row %]" size="1">
|
|
[% FOREACH value IN loo.authtypes %]
|
|
[% IF ( value == loo.authtypecode ) %]
|
|
<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="value_builder[% loo.row %]" size="1">
|
|
[% FOREACH value IN loo.value_builders %]
|
|
[% IF ( value == loo.value_builder ) %]
|
|
<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 | uri %]&frameworkcode=[% frameworkcode %]" class="cancel">Cancel</a>
|
|
</fieldset>
|
|
</form>
|
|
[% END %]
|
|
|
|
[% IF ( delete_confirm ) %]
|
|
|
|
<div class="dialog alert">
|
|
<h3>Confirm deletion of subfield [% tagsubfield %]?</h3>
|
|
<p>Subfield: [% tagsubfield %]</p>
|
|
<p>Description: [% liblibrarian | html_entity %]</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 | html %]" />
|
|
<input type="hidden" name="tagsubfield" value="[% tagsubfield %]" />
|
|
<input type="hidden" name="frameworkcode" value="[% frameworkcode %]" />
|
|
<button type="submit" class="approve"><i class="fa fa-fw fa-check"></i> Yes, delete this subfield</button>
|
|
</form>
|
|
|
|
|
|
<form action="[% script_name %]" method="post">
|
|
<input type="hidden" name="searchfield" value="[% searchfield %]" />
|
|
<input type="hidden" name="tagfield" value="[% tagfield | html%]" />
|
|
<input type="hidden" name="tagsubfield" value="[% tagsubfield %]" />
|
|
<input type="hidden" name="frameworkcode" value="[% frameworkcode %]" />
|
|
<button type="submit" class="deny"><i class="fa fa-fw fa-remove"></i> No, do not delete</button>
|
|
</form>
|
|
</div>
|
|
|
|
[% END %]
|
|
|
|
[% IF ( delete_confirmed ) %]
|
|
|
|
<h3>Data deleted</h3>
|
|
<form action="[% script_name %]" method="post">
|
|
<input type="hidden" name="tagfield" value="[% tagfield | html %]" />
|
|
<input type="submit" value="OK" />
|
|
</form>
|
|
[% END %]
|
|
|
|
|
|
[% IF ( else ) %]
|
|
<h1>MARC subfield structure admin for [% tagfield | html %] [% 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.</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&tagfield=[% loo.tagfield %]&frameworkcode=[% frameworkcode %]#sub[% loo.tagsubfield %]field">[% loo.tagsubfield %]</a></td>
|
|
<td>
|
|
[% IF ( loo.subfield_ignored ) %]
|
|
<i>[% loo.liblibrarian | html_entity %]</i>
|
|
[% ELSE %]
|
|
[% loo.liblibrarian | html_entity %]
|
|
[% 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&tagfield=[% loo.tagfield %]&frameworkcode=[% frameworkcode %]#sub[% loo.tagsubfield %]field">Edit</a></td>
|
|
<td><a href="/cgi-bin/koha/admin/marc_subfields_structure.pl?op=delete_confirm&tagfield=[% loo.tagfield %]&tagsubfield=[% loo.tagsubfield %]&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 | uri %]&frameworkcode=[% frameworkcode %]">Cancel</a>
|
|
</fieldset>
|
|
</form>
|
|
|
|
[% END %]
|
|
|
|
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
[% INCLUDE 'intranet-bottom.inc' %]
|