Jonathan Druart
8650f8111b
It was tricky to write the previous patch so I decided to clean the ground (a bit) for later, taking advantage of having people who are going to test the whole area. We can move it to its own bug report if QA wants to. Sponsored-by: Orex Digital Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
384 lines
30 KiB
Text
384 lines
30 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 [%- mss.tagsubfield | html -%]
|
|
[%- 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 | uri %]&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=[% mss.tagfield | uri %]&frameworkcode=[% mss.frameworkcode | uri %]">Tag [% mss.tagfield | html %] Subfield structure</a> › Confirm deletion of subfield [% mss.tagsubfield | html %]
|
|
[% END %]
|
|
[% IF ( else ) %]
|
|
Tag [% tagfield | html %] Subfield structure
|
|
[% END %]
|
|
</div> <!-- /#breadcrumbs -->
|
|
|
|
<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 %]
|
|
<li id="tab_subfield_[% loo.urisubfieldcode | html %]">
|
|
[% IF ( loo.new_subfield ) %]
|
|
<a href="#sub[% loo.urisubfieldcode | uri %]field" title="[% loo.liblibrarian | html_entity %]">New</a>
|
|
[% ELSE %]
|
|
<a href="#sub[% loo.urisubfieldcode | uri %]field" title="[% loo.liblibrarian | html_entity %]">
|
|
[% loo.subfieldcode | html %]
|
|
</a>
|
|
[% END %]
|
|
</li>
|
|
[% END %]
|
|
</ul>
|
|
|
|
[% FOREACH loo IN loop %]
|
|
<div class="constraints" id="sub[% loo.urisubfieldcode | uri %]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>
|
|
<div class="hint">Ignore means that the subfield does not display in the record editor</div>
|
|
</li>
|
|
</ol>
|
|
</fieldset> <!-- /.rows -->
|
|
</div> <!-- /#basic[% loo.urisubfieldcode | html %] -->
|
|
|
|
<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" />
|
|
</li>
|
|
<li>
|
|
[% IF loo.hidden_protected %]
|
|
<input type="hidden" id="hidden-[% loo.row | html %]" name="hidden" value="[% loo.hidden | html %]" data-koha-protected="1" />
|
|
[% ELSE %]
|
|
<input type="hidden" id="hidden-[% loo.row | html %]" name="hidden" value="[% loo.hidden | html %]" />
|
|
[% END %]
|
|
<label for="hidden[% loo.row | html %]">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 %]
|
|
<div class="hint">If checked, it means that the subfield is a URL and can be clicked</div>
|
|
</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" />
|
|
<div class="hint">An index name, e.g. title or Local-Number</div>
|
|
</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> <!-- /.rows -->
|
|
</div> <!-- /#advanced[% loo.urisubfieldcode | html %] -->
|
|
|
|
<div id="oth[% loo.urisubfieldcode | html %]" class="constraints">
|
|
<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> <!-- /.rows -->
|
|
</div> <!-- /#oth[% loo.urisubfieldcode | html %] -->
|
|
</div><!-- /constraints -->
|
|
[% END # /FOREACH loo %]
|
|
</div><!-- /subfieldtabs -->
|
|
|
|
<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 ( add_form ) %]
|
|
|
|
[% IF ( delete_confirm ) %]
|
|
<div class="dialog alert">
|
|
<h3>Confirm deletion of subfield [% mss.tagsubfield | html %]?</h3>
|
|
<p>Subfield: [% mss.tagsubfield | html %]</p>
|
|
<p>Description: [% mss.liblibrarian | html_entity %]</p>
|
|
|
|
<form action="[% delete_link | html %]" method="post"><input type="hidden" name="op" value="delete_confirmed" />
|
|
<input type="hidden" name="tagfield" value="[% mss.tagfield | html %]" />
|
|
<input type="hidden" name="tagsubfield" value="[% mss.tagsubfield | html %]" />
|
|
<input type="hidden" name="frameworkcode" value="[% mss.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="tagfield" value="[% mss.tagfield | html %]" />
|
|
<input type="hidden" name="tagsubfield" value="[% mss.tagsubfield | html %]" />
|
|
<input type="hidden" name="frameworkcode" value="[% mss.frameworkcode | html %]" />
|
|
<button type="submit" class="deny"><i class="fa fa-fw fa-remove"></i> No, do not delete</button>
|
|
</form>
|
|
</div> <!-- /.dialog.alert -->
|
|
[% END # /IF ( delete_confirm ) %]
|
|
|
|
[% 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 id="table_marcsubfieldstructure">
|
|
<thead>
|
|
<tr>
|
|
<th>Subfield</th>
|
|
<th>Text</th>
|
|
<th>Constraints</th>
|
|
<th class="NoSort noExport">Actions</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
[% 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.tab == -1 %]
|
|
<em>[% loo.liblibrarian | html_entity %]</em>
|
|
[% ELSE %]
|
|
[% loo.liblibrarian | html_entity %]
|
|
[% END %]
|
|
</td>
|
|
<td>
|
|
[% IF loo.tab == -1 %]
|
|
<em>subfield ignored</em>
|
|
[% 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 %]
|
|
</tbody>
|
|
</table> <!-- /#table_marcsubfieldstructure -->
|
|
|
|
<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 # /IF else %]
|
|
|
|
</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 %]
|
|
[% INCLUDE 'datatables.inc' %]
|
|
[% Asset.js("js/admin-menu.js") | $raw %]
|
|
[% Asset.js("js/marc_subfields_structure.js") | $raw %]
|
|
[% END %]
|
|
|
|
[% INCLUDE 'intranet-bottom.inc' %]
|