339c27ca80
This fix permits to add an "Important" option to the marc structure pages. Testing: 1) Apply the patch 2) Run updatedatabase.pl 3) Regenerate CSS 4) Define 100 as an "important" field ( Administration » MARC bibliographic framework » MARC structure ( Default Frameword) » Edit ) 5) Define 100$a as an "important" subfield (Administration » MARC bibliographic framework » MARC structure (Default Frameword) » Subfield » Onglet a) 6) Edit a record to clear the field 100 (subfields are all blank) 7) Save the record. 8) Validate the following message: A few important fields are not filled: * tag 100 subfield a Nom de personne in tab * Field 100 is important, at least one of its subfields should be filled. Are you sure you want to save? Sponsored by the CCSR ( http://www.ccsr.qc.ca ) Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com> Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
337 lines
20 KiB
Text
337 lines
20 KiB
Text
[% USE raw %]
|
|
[% USE Asset %]
|
|
[% SET footerjs = 1 %]
|
|
[% 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 | html %][% END %][% END %]
|
|
[% IF ( delete_confirm ) %] MARC subfield structure › Confirm deletion of subfield [% tagsubfield | html %][% END %][% IF ( delete_confirmed ) %] MARC subfield structure › Subfield deleted[% END %][% IF ( else ) %]MARC subfield structure[% END %]</title>
|
|
[% INCLUDE 'doc-head-close.inc' %]
|
|
<style>.constraints::after { content: " "; clear: both; display:block; }</style>
|
|
</head>
|
|
|
|
<body id="admin_marc_subfields_structure" class="admin">
|
|
[% INCLUDE 'header.inc' %]
|
|
[% INCLUDE 'prefs-admin-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 | html %]&searchfield=[% tagfield | uri %]">[% IF ( frameworkcode ) %][% frameworkcode | html %][% 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 | uri %]">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 | uri %]">Tag [% tagfield | html %] Subfield structure</a> › [% action | html %]
|
|
[% END %]
|
|
[% END %]
|
|
[% IF ( delete_confirm ) %] <a href="/cgi-bin/koha/admin/marc_subfields_structure.pl?tagfield=[% tagfield | uri %]&frameworkcode=[% frameworkcode | uri %]">Tag [% tagfield | html %] Subfield structure</a> › Confirm deletion of subfield [% tagsubfield | html %]
|
|
[% END %]
|
|
[% IF ( delete_confirmed ) %] <a href="/cgi-bin/koha/admin/marc_subfields_structure.pl?tagfield=[% tagfield | uri %]&frameworkcode=[% frameworkcode | uri %]">Tag [% tagfield | html %] subfield structure</a> › Subfield deleted
|
|
[% END %]
|
|
[% IF ( else ) %]Tag [% tagfield | html %] Subfield structure[% END %]
|
|
</div>
|
|
|
|
<div class="main container-fluid">
|
|
<div class="row">
|
|
<div class="col-sm-10 col-sm-push-2">
|
|
<main>
|
|
|
|
[% IF ( add_form ) %]
|
|
<h1>
|
|
[% IF ( use_heading_flags_p ) %]
|
|
[% IF ( heading_edit_subfields_p ) %]Tag [% tagfield | html %] Subfield constraints[% END %]
|
|
[% ELSE %]
|
|
[% action | html %]
|
|
[% END %]
|
|
</h1>
|
|
<form action="[% script_name | html %]" 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 | html %]" />
|
|
<div id="subfieldtabs" class="toptabs numbered">
|
|
<ul>
|
|
[% FOREACH loo IN loop %]
|
|
[% IF ( loo.new_subfield ) %]
|
|
<li><a href="#sub[% loo.urisubfieldcode | html_entity %]field" title="[% loo.liblibrarian | html_entity %]">New</a></li>
|
|
[% ELSE %]
|
|
<li><a href="#sub[% loo.urisubfieldcode | html_entity %]field" title="[% loo.liblibrarian | html_entity %]">
|
|
[% loo.subfieldcode | html %]
|
|
</a></li>
|
|
[% END %]
|
|
[% END %]
|
|
</ul>
|
|
|
|
[% FOREACH loo IN loop %]
|
|
<div class="constraints" id="sub[% loo.urisubfieldcode | html %]field">
|
|
|
|
<div id="basic[% loo.urisubfieldcode | html %]" class="contraints">
|
|
<fieldset class="rows">
|
|
<legend>Basic constraints</legend>
|
|
<ol>
|
|
[% IF ( subfieldcode == 0 || subfieldcode ) %]
|
|
<li><span class="label">Subfield code:</span> [% loo.subfieldcode | html %] <input type="hidden" name="tagsubfield" value="[% loo.subfieldcode | html %]" /></li>
|
|
[% ELSE %]
|
|
<li><label for="tagsubfield[% loo.row | html %]">Subfield code:</label> <input type="text" id="tagsubfield[% loo.row | html %]" name="tagsubfield" value="[% loo.subfieldcode | html %]" /></li>
|
|
[% END %]
|
|
<li><label for="liblibrarian[% loo.row | html %]">Text for librarian: </label><input id="liblibrarian[% loo.row | html %]" type="text" name="liblibrarian" value="[% loo.liblibrarian | html_entity %]" size="40" maxlength="80" /></li>
|
|
<li><label for="libopac[% loo.row | html %]">Text for OPAC: </label><input type="text" id="libopac[% loo.row | html %]" name="libopac" value="[% loo.libopac | html_entity %]" size="40" maxlength="80" /></li>
|
|
<li>
|
|
<label for="repeatable[% loo.row | html %]">Repeatable: </label>
|
|
[% IF loo.repeatable %]
|
|
<input type="checkbox" id="repeatable[% loo.row | html %]" name="repeatable[% loo.row | html %]" checked="checked" value="1" />
|
|
[% ELSE %]
|
|
<input type="checkbox" id="repeatable[% loo.row | html %]" name="repeatable[% loo.row | html %]" value="1" />
|
|
[% END %]
|
|
</li>
|
|
<li>
|
|
<label for="mandatory[% loo.row | html %]">Mandatory: </label>
|
|
[% IF loo.mandatory %]
|
|
<input type="checkbox" id="mandatory[% loo.row | html %]" name="mandatory[% loo.row | html %]" checked="checked" value="1" />
|
|
[% ELSE %]
|
|
<input type="checkbox" id="mandatory[% loo.row | html %]" name="mandatory[% loo.row | html %]" value="1" />
|
|
[% END %]
|
|
</li>
|
|
<li>
|
|
<label for="important[% loo.row | html %]">Important: </label>
|
|
[% IF loo.important %]
|
|
<input type="checkbox" id="important[% loo.row | html %]" name="important[% loo.row | html %]" checked="checked" value="1" />
|
|
[% ELSE %]
|
|
<input type="checkbox" id="important[% loo.row | html %]" name="important[% loo.row | html %]" value="1" />
|
|
[% END %]
|
|
</li>
|
|
<li><label for="tab[% loo.row | html %]">Managed in tab: </label>
|
|
<select name="tab" tabindex="" size="1" id="tab[% loo.row | html %]">
|
|
[%- 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 | html -%]" selected="selected">[%- t | html -%]</option>
|
|
[%- ELSE -%]
|
|
<option value="[%- t | html -%]">[%- t | html -%]</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>
|
|
|
|
|
|
<div id="advanced[% loo.urisubfieldcode | html %]" class="contraints">
|
|
<fieldset class="rows">
|
|
<legend>Advanced constraints</legend>
|
|
<ol><li><label for="defaultvalue[% loo.row | html %]">Default value:</label>
|
|
<input type="text" name="defaultvalue" id="defaultvalue[% loo.row | html %]" value="[% loo.defaultvalue | html %]" /></li>
|
|
<li><label for="maxlength[% loo.row | html %]">Max length:</label><input type="text" id="maxlength[% loo.row | html %]" name="maxlength" value="[% loo.maxlength | html %]" size="4" /> (see online help)</li>
|
|
<li><input type="hidden" id="hidden-[% loo.row | html %]" name="hidden" value="[% loo.hidden | html %]" />
|
|
<label for="hidden[% loo.row | html %]" style="float: none;">Visibility: </label>
|
|
<input type="checkbox" id="hidden_opac_[% loo.row | html %]" class="inclusive_[% loo.row | html %]" name="hidden_opac_[% loo.row | html %]"/>
|
|
<label for="hidden_opac_[% loo.row | html %]" style="float: none;">OPAC</label>
|
|
<input type="checkbox" id="hidden_intranet_[% loo.row | html %]" class="inclusive_[% loo.row | html %]" name="hidden_intranet_[% loo.row | html %]"/>
|
|
<label for="hidden_intranet_[% loo.row | html %]" style="float: none;">Intranet</label>
|
|
<input type="checkbox" id="hidden_editor_[% loo.row | html %]" class="inclusive_[% loo.row | html %]" name="hidden_editor_[% loo.row | html %]"/>
|
|
<label for="hidden_editor_[% loo.row | html %]" style="float: none;">Editor</label>
|
|
<input type="checkbox" id="hidden_collapsed_[% loo.row | html %]" class="inclusive_[% loo.row | html %]" name="hidden_collapsed_[% loo.row | html %]"/>
|
|
<label for="hidden_collapsed_[% loo.row | html %]" style="float: none;">Collapsed</label>
|
|
<input type="checkbox" id="hidden_flagged_[% loo.row | html %]" name="flagged_[% loo.row | html %]"/>
|
|
<label for="hidden_flagged_[% loo.row | html %]" style="float: none;">Flagged</label>
|
|
</li>
|
|
<li>
|
|
<label for="isurl[% loo.row | html %]">Is a URL:</label>
|
|
[% IF loo.isurl %]
|
|
<input type="checkbox" id="isurl[% loo.row | html %]" name="isurl[% loo.row | html %]" checked="checked" value="1" />
|
|
[% ELSE %]
|
|
<input type="checkbox" id="isurl[% loo.row | html %]" name="isurl[% loo.row | html %]" value="1" />
|
|
[% END %]
|
|
(if checked, it means that the subfield is a URL and can be clicked)
|
|
</li>
|
|
<li><label for="link[% loo.row | html %]">Link:</label><input type="text" id="link[% loo.row | html %]" name="link" value="[% loo.link | html %]" 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 | html %]">Koha link:</label>
|
|
<!-- This select should be DISABLED; value is submitted by the following hidden input -->
|
|
<select name="kohafield" id="kohafield[% loo.row | html %]" size="1" disabled>
|
|
[% FOREACH value IN loo.kohafields %]
|
|
[% IF ( value == loo.kohafield ) %]
|
|
<option value="[% value | html %]" selected="selected">[% value | html %]</option>
|
|
[% ELSE %]
|
|
<option value="[% value | html %]">[% value | html %]</option>
|
|
[% END %]
|
|
[% END %]
|
|
</select>
|
|
<!-- Do NOT remove this next hidden input! We need it to save kohafield. -->
|
|
<input type="hidden" name="kohafield" value="[% loo.kohafield | html %]"/>
|
|
</li>
|
|
</ol>
|
|
</fieldset>
|
|
</div>
|
|
|
|
<div id="oth[% loo.urisubfieldcode | html %]" class="contraints">
|
|
<fieldset class="rows">
|
|
<legend>Other options (choose one)</legend>
|
|
<ol>
|
|
<li>
|
|
<label for="authorised_value[% loo.row | html %]">Authorized value:</label>
|
|
<select name="authorised_value" id="authorised_value[% loo.row | html %]" size="1">
|
|
<option value=""></option>
|
|
[% FOREACH value IN loo.authorised_values %]
|
|
[% IF ( value == loo.authorised_value ) %]
|
|
<option value="[% value | html %]" selected="selected">[% value | html %]</option>
|
|
[% ELSE %]
|
|
<option value="[% value | html %]">[% value | html %]</option>
|
|
[% END %]
|
|
[% END %]
|
|
</select>
|
|
</li>
|
|
<li>
|
|
<label for="authtypecode[% loo.row | html %]">Thesaurus:</label>
|
|
<select name="authtypecode" id="authtypecode[% loo.row | html %]" size="1">
|
|
[% FOREACH value IN loo.authtypes %]
|
|
[% IF ( value == loo.authtypecode ) %]
|
|
<option value="[% value | html %]" selected="selected">[% value | html %]</option>
|
|
[% ELSE %]
|
|
<option value="[% value | html %]">[% value | html %]</option>
|
|
[% END %]
|
|
[% END %]
|
|
</select>
|
|
</li>
|
|
<li>
|
|
<label for="value_builder[% loo.row | html %]">Plugin:</label>
|
|
<select name="value_builder" id="value_builder[% loo.row | html %]" size="1">
|
|
[% FOREACH value IN loo.value_builders %]
|
|
[% IF ( value == loo.value_builder ) %]
|
|
<option value="[% value | html %]" selected="selected">[% value | html %]</option>
|
|
[% ELSE %]
|
|
<option value="[% value | html %]">[% value | html %]</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 | uri %]" class="cancel">Cancel</a>
|
|
</fieldset>
|
|
</form>
|
|
[% END %]
|
|
|
|
[% IF ( delete_confirm ) %]
|
|
|
|
<div class="dialog alert">
|
|
<h3>Confirm deletion of subfield [% tagsubfield | html %]?</h3>
|
|
<p>Subfield: [% tagsubfield | html %]</p>
|
|
<p>Description: [% liblibrarian | html_entity %]</p>
|
|
|
|
<form action="[% delete_link | html %]" method="post"><input type="hidden" name="op" value="delete_confirmed" />
|
|
<input type="hidden" name="searchfield" value="[% searchfield | html %]" />
|
|
<input type="hidden" name="tagfield" value="[% tagfield | html %]" />
|
|
<input type="hidden" name="tagsubfield" value="[% tagsubfield | html %]" />
|
|
<input type="hidden" name="frameworkcode" value="[% frameworkcode | html %]" />
|
|
<button type="submit" class="approve"><i class="fa fa-fw fa-check"></i> Yes, delete this subfield</button>
|
|
</form>
|
|
|
|
|
|
<form action="[% script_name | html %]" method="post">
|
|
<input type="hidden" name="searchfield" value="[% searchfield | html %]" />
|
|
<input type="hidden" name="tagfield" value="[% tagfield | html %]" />
|
|
<input type="hidden" name="tagsubfield" value="[% tagsubfield | html %]" />
|
|
<input type="hidden" name="frameworkcode" value="[% frameworkcode | html %]" />
|
|
<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 | html %]" 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 | html %])[% 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>Actions</th>
|
|
</tr>
|
|
[% FOREACH loo IN loop %]
|
|
<tr>
|
|
<td><a href="/cgi-bin/koha/admin/marc_subfields_structure.pl?op=add_form&tagfield=[% loo.tagfield | uri %]&frameworkcode=[% frameworkcode | uri %]#sub[% loo.tagsubfield | uri %]field">[% loo.tagsubfield | html %]</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 | html %],
|
|
[% IF ( loo.kohafield ) %] | Koha field: [% loo.kohafield | html %], [% END %]
|
|
[% IF ( loo.repeatable ) %]Repeatable, [% ELSE %]Not repeatable,[% END %]
|
|
[% IF ( loo.mandatory ) %]Mandatory, [% ELSE %]Not mandatory,[% END %]
|
|
[% IF ( loo.important ) %]Important, [% ELSE %]Not important,[% END %]
|
|
[% IF ( loo.seealso ) %] | See Also: [% loo.seealso | html %],[% END %]
|
|
[% IF ( loo.hidden ) %]hidden,[% END %]
|
|
[% IF ( loo.isurl ) %]is a URL,[% END %]
|
|
[% IF ( loo.authorised_value ) %] | Auth value:[% loo.authorised_value | html %],[% END %]
|
|
[% IF ( loo.authtypecode ) %] | Authority:[% loo.authtypecode | html %],[% END %]
|
|
[% IF ( loo.value_builder ) %] | Plugin:[% loo.value_builder | html %],[% END %]
|
|
[% IF ( loo.link ) %] | Link:[% loo.link | html %],[% END %]
|
|
[% END %]
|
|
</td>
|
|
<td class="actions">
|
|
<a href="/cgi-bin/koha/admin/marc_subfields_structure.pl?op=add_form&tagfield=[% loo.tagfield | uri %]&frameworkcode=[% frameworkcode | uri %]#sub[% loo.tagsubfield | uri %]field" class="btn btn-default btn-xs"><i class="fa fa-pencil"></i> Edit</a>
|
|
<a href="/cgi-bin/koha/admin/marc_subfields_structure.pl?op=delete_confirm&tagfield=[% loo.tagfield | uri %]&tagsubfield=[% loo.tagsubfield | uri %]&frameworkcode=[% frameworkcode | uri %]" class="btn btn-default btn-xs"><i class="fa fa-trash"></i> Delete</a>
|
|
</td>
|
|
</tr>
|
|
[% END %]
|
|
</table>
|
|
|
|
<form action="[% script_name | html %]" method="get">
|
|
<fieldset class="action"><input type="hidden" name="op" value="add_form" />
|
|
<input type="hidden" name="tagfield" value="[% edit_tagfield | html %]" />
|
|
<input type="hidden" name="frameworkcode" value="[% edit_frameworkcode | html %]" />
|
|
<input type="submit" value="Edit subfields" />
|
|
<a class="cancel" href="marctagstructure.pl?searchfield=[% tagfield | uri %]&frameworkcode=[% frameworkcode | html %]">Cancel</a>
|
|
</fieldset>
|
|
</form>
|
|
|
|
[% END %]
|
|
|
|
</main>
|
|
</div> <!-- /.col-sm-10.col-sm-push-2 -->
|
|
|
|
<div class="col-sm-2 col-sm-pull-10">
|
|
<aside>
|
|
[% INCLUDE 'admin-menu.inc' %]
|
|
</aside>
|
|
</div> <!-- /.col-sm-2.col-sm-pull-10 -->
|
|
</div> <!-- /.row -->
|
|
|
|
[% MACRO jsinclude BLOCK %]
|
|
[% Asset.js("js/admin-menu.js") | $raw %]
|
|
[% Asset.js("js/marc_subfields_structure.js") | $raw %]
|
|
[% END %]
|
|
[% INCLUDE 'intranet-bottom.inc' %]
|