Koha/koha-tmpl/intranet-tmpl/prog/en/modules/tools/csv-profiles.tt
Owen Leonard b8b200836e Bug 11812 - Add missing "required" indicator to fields which are required
Form fields in the staff client which are required should be configured
to be so by doing several things:

- Add a class "required" to the field's <label>
- Add a class "required" to the form field
- Add 'required="required"' to the form field
- Apppend a <span class="required">Required</span> after the form field.

Several places in the templates are missing the <span>. This patch adds
them.

To test, apply the patch and view the following pages to confirm that
the "Required" text appears:

- Acquisitions -> Add an order to a basket from a new (empty) record.
  Title, quantity, and fund should indicate they are required.

- Administration -> Authority types ->  New authority type. The
  authority type and description fields should indicate they are
  required.

- Administration -> Authority types -> MARC structure -> New tag. The
  tag field should indicate it is required.

- Patron types and categories -> New category. Category code,
  description, and category type should indicate that they are required.
  FIXME: Enrollment period is required but the user must choose one. I'm
  not sure how to handle that clearly.

- Tools -> CSV profiles. Profile name, profile type, and profile MARC
  fields should indicate they are required on both the new and edit
  forms.

- Administration -> Manage MARC modification templates. Under "Create a
  new template" the name field should indicate that it is required.

- Tools -> Batch patron modification -> Submit a batch for editing. Any
  fields which are required according to your BorrowerMandatoryField
  system preference should indicate that they are required.

Patch behaves as expected.
Signed-off-by: Marc Véron <veron@veron.ch>

QA Edits: Re-worded the "required" not on the batch patron edit form,
added a missing word to the help text on that page. On the csv-profiles
page I removed an unnecessary "javascript:" protocol from the markup.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works and passes QA script.

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2014-10-22 14:04:43 -03:00

395 lines
19 KiB
Text

[% INCLUDE 'doc-head-open.inc' %]<title>Koha &rsaquo; Tools &rsaquo; CSV export profiles</title>[% INCLUDE 'doc-head-close.inc' %]
<script type="text/javascript">
//<![CDATA[
function reloadPage(p) {
var id = p.value;
if (id != 0) { document.location = "/cgi-bin/koha/tools/csv-profiles.pl?id=" + id; }
}
$(document).ready(function() {
$('#csvexporttabs').tabs();
$("#profile_type").find("option:first").attr("selected", "selected");
$("#csvnew").find("li.marc_specific").show();
$("#csvnew").find("li.sql_specific").hide();
$("#profile_type").change(function(){
if ( $(this).find("option:selected").val() == "marc" ) {
$("#csvnew li.marc_specific").show();
$("#new_profile_marc_content").attr("required", "required");
$("#csvnew li.sql_specific").hide();
$("#new_profile_sql_content").removeAttr("required");
} else {
$("#csvnew li.marc_specific").hide();
$("#new_profile_marc_content").removeAttr("required");
$("#csvnew li.sql_specific").show();
$("#new_profile_sql_content").attr("required", "required");
}
});
$("#modify_profile_type").change(function(){
if ( $(this).find("option:selected").val() == "marc" ) {
$("#csvedit li.marc_specific").show();
$("#modify_profile_marc_content").attr("required", "required");
$("#csvedit li.sql_specific").hide();
$("#modify_profile_sql_content").removeAttr("required");
} else {
$("#csvedit li.marc_specific").hide();
$("#modify_profile_marc_content").removeAttr("required");
$("#csvedit li.sql_specific").show();
$("#modify_profile_sql_content").attr("required", "required");
}
});
$("#profile_type").change();
$("#modify_profile_type").change();
});
//]]>
</script>
</head>
<body id="tools_csv-profiles" class="tools">
[% 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/tools/tools-home.pl">Tools</a>
&rsaquo; CSV export profiles
</div>
<div id="doc3" class="yui-t2">
<div id="bd">
<div id="yui-main">
<div class="yui-b">
[% IF ( success || error ) %]
[% IF ( success ) %]
[% IF ( action == 'create' ) %]<div class="dialog message">The new CSV profile "[% profile_name %]" has been successfully created.</div>[% END %]
[% IF ( action == 'edit' ) %]<div class="dialog message">The CSV profile has been successfully modified.</div>[% END %]
[% IF ( action == 'delete' ) %]<div class="dialog message">The CSV profile has been successfully deleted.</div>[% END %]
[% ELSE %]
[% IF ( action == 'create' ) %]<div class="dialog alert">The new CSV profile "[% profile_name %]" has not been created.</div>[% END %]
[% IF ( action == 'edit' ) %]<div class="dialog alert">The CSV profile has not been modified.</div>[% END %]
[% IF ( action == 'delete' ) %]<div class="dialog alert">The CSV profile has not been deleted.</div>[% END %]
[% END %]
[% END %]
<div id="csvexporttabs" class="toptabs">
<ul>
<li><a href="#csvnew">New profile</a></li>
[% IF ( existing_profiles ) %]
[% IF ( selected_profile_id ) %]
<li class="ui-tabs-active">
[% ELSE %]
<li>
[% END %]
<a href="#csvedit">Edit existing profile</a></li> [% END %]
</ul>
<div id="csvnew">
<h3>New CSV export profile</h3>
<form action="/cgi-bin/koha/tools/csv-profiles.pl" class="validated" method="post">
<fieldset class="rows">
<ol>
<li>
<label for="profile_name" class="required">Profile name: </label>
<input type="text" id="profile_name" name="profile_name" required="required" />
<span class="required">Required</span>
</li>
<li>
<label for="profile_type" class="required">Profile type: </label>
<select id="profile_type" name="profile_type">
<option value="marc" selected="selected">MARC</option>
<option value="sql">SQL</option>
</select>
<span class="required">Required</span>
</li>
<li><label for="profile_description">Profile description: </label>
<textarea cols="50" rows="2" name="profile_description" id="profile_description"></textarea></li>
<li><label for="new_csv_separator">CSV separator: </label>
<select name="csv_separator" id="new_csv_separator">
<option value=":">Colon (:)</option>
<option value="," selected="selected">Comma (,)</option>
<option value="|">Pipe (|)</option>
<option value=";">Semi-colon (;)</option>
<option value="#">Sharp (#)</option>
<option value=" ">Space ( )</option>
<option value="\t">Tabulation (\t)</option>
<option value="\n">New line (\n)</option>
</select>
</li>
<li class="marc_specific"><label for="new_field_separator">Field separator: </label>
<select name="field_separator" id="new_field_separator">
<option value=":">Colon (:)</option>
<option value=",">Comma (,)</option>
<option value="|">Pipe (|)</option>
<option value=";">Semi-colon (;)</option>
<option value="#" selected="selected">Sharp (#)</option>
<option value=" ">Space ( )</option>
<option value="\t">Tabulation (\t)</option>
<option value="\n">New line (\n)</option>
</select>
</li>
<li class="marc_specific"><label for="new_subfield_separator">Subfield separator: </label>
<select name="subfield_separator" id="new_subfield_separator">
<option value=":">Colon (:)</option>
<option value=",">Comma (,)</option>
<option value="|" selected="selected">Pipe (|)</option>
<option value=";">Semi-colon (;)</option>
<option value="#">Sharp (#)</option>
<option value=" ">Space ( )</option>
<option value="\t">Tabulation (\t)</option>
<option value="\n">New line (\n)</option>
</select>
</li>
<li class="marc_specific"><label for="new_encoding">Encoding: </label>
<select name="encoding" id="new_encoding">
[% FOREACH encoding IN encodings %]
[% IF ( encoding.encoding == 'utf8' ) %]
<option selected="selected">[% encoding.encoding %]</option>
[% ELSE %]
<option>[% encoding.encoding %]</option>
[% END %]
[% END %]
</select></li>
<li class="marc_specific">
<label for="new_profile_marc_content" class="required">Profile MARC fields: </label>
<textarea cols="50" rows="2" name="profile_marc_content" id="new_profile_marc_content"></textarea>
<span class="required">Required</span>
<p>You have to define which fields or subfields you want to export, separated by pipes.</p>
<p>You can also use your own headers (instead of the ones from Koha) by prefixing the field number with an header, followed by the equal sign.</p>
<p>Example: Personal name=200|Entry element=210$a|300|009</p>
</li>
<li class="sql_specific">
<label for="new_profile_sql_content" class="required">Profile SQL fields: </label>
<textarea cols="50" rows="2" name="profile_sql_content" id="new_profile_sql_content"></textarea>
<p>You have to define which fields you want to export, separated by pipes.</p>
<p>You can also use your own headers (instead of the ones from Koha) by prefixing the field name with an header, followed by the equal sign.</p>
<p>Example: Name=subscription.name|Title=subscription.title|Issue number=serial.serialseq</p>
</li>
</ol>
</fieldset>
<fieldset class="action"><input type="hidden" name="action" value="create" />
<input type="submit" value="Submit" /></fieldset>
</form>
<br style="clear:both;" />
</div>
[% IF ( existing_profiles ) %]
<div id="csvedit">
<h3>Modify or delete a CSV export profile</h3>
<form action="/cgi-bin/koha/tools/csv-profiles.pl" class="validated" method="post">
<fieldset class="rows">
<ol>
<li><label for="modify_profile_name" class="required">Profile name: </label>
<select id="modify_profile_name" name="profile_name" required="required" class="required" onchange="reloadPage(this)">
<option value="0">-- Choose One --</option>
[% FOREACH existing_profile IN existing_profiles %]
[% IF ( existing_profile.export_format_id == selected_profile_id ) %]
<option value="[% existing_profile.export_format_id %]" selected="selected">[% existing_profile.profile %]</option>
[% ELSE %]
<option value="[% existing_profile.export_format_id %]">[% existing_profile.profile %]</option>
[% END %]
[% END %]
</select>
<span class="required">Required</span>
</li>
<li>
<label for="modify_profile_type" class="required">Profile type: </label>
<select id="modify_profile_type" name="profile_type" class="required" required="required">
<option value="marc">MARC</option>
[% IF selected_profile_type == "sql" %]
<option value="sql" selected="selected">SQL</option>
[% ELSE %]
<option value="sql">SQL</option>
[% END %]
</select>
<span class="required">Required</span>
</li>
<li><label for="modify_profile_description">Profile description: </label>
<textarea cols="50" rows="2" name="profile_description" id="modify_profile_description">[% selected_profile_description %]</textarea></li>
<li><label for="csv_separator">CSV separator: </label>
<select name="csv_separator" id="csv_separator">
<option value=":">Colon (:)</option>
[% IF ( selected_csv_separator == ',' ) %]
<option value="," selected="selected">Comma (,)</option>
[% ELSE %]
<option value=",">Comma (,)</option>
[% END %]
[% IF ( selected_csv_separator == '|' ) %]
<option value="|" selected="selected">Pipe (|)</option>
[% ELSE %]
<option value="|">Pipe (|)</option>
[% END %]
[% IF ( selected_csv_separator == ';' ) %]
<option value=";" selected="selected">Semi-colon (;)</option>
[% ELSE %]
<option value=";">Semi-colon (;)</option>
[% END %]
[% IF ( selected_csv_separator == '#' ) %]
<option value="#" selected="selected">Sharp (#)</option>
[% ELSE %]
<option value="#">Sharp (#)</option>
[% END %]
[% IF ( selected_csv_separator == ' ' ) %]
<option value=" " selected="selected">Space ( )</option>
[% ELSE %]
<option value=" ">Space ( )</option>
[% END %]
[% IF ( selected_csv_separator == '\t' ) %]
<option value="\t" selected="selected">Tabulation (\t)</option>
[% ELSE %]
<option value="\t">Tabulation (\t)</option>
[% END %]
[% IF ( selected_csv_separator == '\n' ) %]
<option value="\n" selected="selected">New line (\n)</option>
[% ELSE %]
<option value="\n">New line (\n)</option>
[% END %]
</select></li>
<li class="marc_specific"><label for="field_separator">Field separator: </label>
<select name="field_separator" id="field_separator">
<option value=":">Colon (:)</option>
[% IF ( selected_field_separator == ',' ) %]
<option value="," selected="selected">Comma (,)</option>
[% ELSE %]
<option value=",">Comma (,)</option>
[% END %]
[% IF ( selected_field_separator == '|' ) %]
<option value="|" selected="selected">Pipe (|)</option>
[% ELSE %]
<option value="|">Pipe (|)</option>
[% END %]
[% IF ( selected_field_separator == ';' ) %]
<option value=";" selected="selected">Semi-colon (;)</option>
[% ELSE %]
<option value=";">Semi-colon (;)</option>
[% END %]
[% IF ( selected_field_separator == '#' ) %]
<option value="#" selected="selected">Sharp (#)</option>
[% ELSE %]
<option value="#">Sharp (#)</option>
[% END %]
[% IF ( selected_field_separator == ' ' ) %]
<option value=" " selected="selected">Space ( )</option>
[% ELSE %]
<option value=" ">Space ( )</option>
[% END %]
[% IF ( selected_field_separator == '\t' ) %]
<option value="\t" selected="selected">Tabulation (\t)</option>
[% ELSE %]
<option value="\t">Tabulation (\t)</option>
[% END %]
[% IF ( selected_field_separator == '\n' ) %]
<option value="\n" selected="selected">New line (\n)</option>
[% ELSE %]
<option value="\n">New line (\n)</option>
[% END %]
</select></li>
<li class="marc_specific"><label for="subfield_separator">Subfield separator: </label>
<select name="subfield_separator" id="subfield_separator">
<option value=":">Colon (:)</option>
[% IF ( selected_subfield_separator == ',' ) %]
<option value="," selected="selected">Comma (,)</option>
[% ELSE %]
<option value=",">Comma (,)</option>
[% END %]
[% IF ( selected_subfield_separator == '|' ) %]
<option value="|" selected="selected">Pipe (|)</option>
[% ELSE %]
<option value="|">Pipe (|)</option>
[% END %]
[% IF ( selected_subfield_separator == ';' ) %]
<option value=";" selected="selected">Semi-colon (;)</option>
[% ELSE %]
<option value=";">Semi-colon (;)</option>
[% END %]
[% IF ( selected_subfield_separator == '#' ) %]
<option value="#" selected="selected">Sharp (#)</option>
[% ELSE %]
<option value="#">Sharp (#)</option>
[% END %]
[% IF ( selected_subfield_separator == ' ' ) %]
<option value=" " selected="selected">Space ( )</option>
[% ELSE %]
<option value=" ">Space ( )</option>
[% END %]
[% IF ( selected_subfield_separator == '\t' ) %]
<option value="\t" selected="selected">Tabulation (\t)</option>
[% ELSE %]
<option value="\t">Tabulation (\t)</option>
[% END %]
[% IF ( selected_subfield_separator == '\n' ) %]
<option value="\n" selected="selected">New line (\n)</option>
[% ELSE %]
<option value="\n">New line (\n)</option>
[% END %]
</select></li>
<li class="marc_specific"><label for="encoding">Encoding: </label>
<select name="encoding" id="encoding">
[% FOREACH encoding IN encodings %]
[% IF ( selected_encoding == encoding.encoding ) %]
<option selected="selected">[% encoding.encoding %]</option>
[% ELSE %]
<option>[% encoding.encoding %]</option>
[% END %]
[% END %]
</select></li>
<li class="marc_specific">
<label for="modify_profile_marc_content" class="required">Profile MARC fields: </label>
<textarea cols="50" rows="2" name="profile_marc_content" id="modify_profile_marc_content" class="required" required="required">[% selected_profile_content %]</textarea>
<span class="required">Required</span>
</li>
<li class="sql_specific">
<label for="modify_profile_sql_content" class="required">Profile SQL fields: </label>
<textarea cols="50" rows="2" name="profile_sql_content" id="modify_profile_sql_content">[% selected_profile_content %]</textarea>
</li>
<li class="radio"> <label for="delete">Delete selected profile ?</label>
<input type="checkbox" name="delete" id="delete" /></li>
</ol>
</fieldset>
<fieldset class="action"><input type="hidden" name="modify_profile_id" value="[% selected_profile_id %]" />
<input type="hidden" name="action" value="edit" />
<input type="submit" value="Submit" /> <a href="/cgi-bin/koha/tools/csv-profiles.pl" class="cancel">Cancel</a></fieldset>
</form>
</div>
[% END %]
</div>
</div>
</div>
<div class="yui-b noprint">
[% INCLUDE 'tools-menu.inc' %]
</div>
</div>
[% INCLUDE 'intranet-bottom.inc' %]