($class_source eq $default_source);
push @authorised_values, $class_source;
$authorised_lib{$class_source} = $class_sources->{$class_source}->{'description'};
- $value = $class_source unless ($value);
- $value = $default_source unless ($value);
}
- #---- "true" authorised value
+ $value = $default_source unless $value;
}
else {
$authorised_values_sth->execute(
$value =~ s/"/"/g;
- # determine maximum length; 9999 bytes per ISO 2709 except for leader and MARC21 008
- my $max_length = 9999;
- if ($tag eq '000') {
- $max_length = 24;
- } elsif ($tag eq '008' and C4::Context->preference('marcflavour') eq 'MARC21') {
- $max_length = 40;
- }
-
# if there is no value provided but a default value in parameters, get it
if ( $value eq '' ) {
$value = $tagslib->{$tag}->{$subfield}->{defaultvalue};
index => $index_tag,
id => "tag_".$tag."_subfield_".$id_subfield."_".$index_tag."_".$index_subfield,
value => $value,
+ maxlength => $tagslib->{$tag}->{$subfield}->{maxlength},
random => CreateKey(),
);
class=\"input_marceditor readonly\"
tabindex=\"1\"
size=\"5\"
- maxlength=\"$max_length\"
+ maxlength=\"".$subfield_data{maxlength}."\"
readonly=\"readonly\"
\/>";
# it's a thesaurus / authority field
}
elsif ( $tagslib->{$tag}->{$subfield}->{authtypecode} ) {
- if (C4::Context->preference("BiblioAddsAuthorities")) {
+ # when authorities auto-creation is allowed, do not set readonly
+ my $is_readonly = !C4::Context->preference("BiblioAddsAuthorities");
$subfield_data{marc_value} =
"<input type=\"text\"
id=\"".$subfield_data{id}."\"
class=\"input_marceditor readonly\"
tabindex=\"1\"
size=\"67\"
- maxlength=\"$max_length\"
- \/>
+ maxlength=\"".$subfield_data{maxlength}."\"".
+ ($is_readonly ? "readonly=\"readonly\"" : "").
+ "\/>
<span class=\"subfield_controls\"><a href=\"#\" class=\"buttonDot\"
- onclick=\"openAuth(this.parentNode.parentNode.getElementsByTagName('input')[1].id,'".$tagslib->{$tag}->{$subfield}->{authtypecode}."'); return false;\" tabindex=\"1\" title=\"Tag Editor\"><img src=\"/intranet-tmpl/prog/img/edit-tag.png\" alt=\"Tag Editor\" /></a></span>
- ";
- } else {
- $subfield_data{marc_value} =
- "<input type=\"text\"
- id=\"".$subfield_data{id}."\"
- name=\"".$subfield_data{id}."\"
- value=\"$value\"
- class=\"input_marceditor readonly\"
- tabindex=\"1\"
- size=\"67\"
- maxlength=\"$max_length\"
- readonly=\"readonly\"
- \/><span class=\"subfield_controls\"><a href=\"#\" class=\"buttonDot\"
- onclick=\"openAuth(this.parentNode.parentNode.getElementsByTagName('input')[1].id,'".$tagslib->{$tag}->{$subfield}->{authtypecode}."'); return false;\" tabindex=\"1\" title=\"Tag Editor\"><img src=\"/intranet-tmpl/prog/img/edit-tag.png\" alt=\"Tag Editor\" /></a></span>
+ onclick=\"openAuth(this.parentNode.parentNode.getElementsByTagName('input')[1].id,'".$tagslib->{$tag}->{$subfield}->{authtypecode}."','biblio'); return false;\" tabindex=\"1\" title=\"Tag Editor\"><img src=\"/intranet-tmpl/prog/img/edit-tag.png\" alt=\"Tag Editor\" /></a></span>
";
- }
# it's a plugin field
}
elsif ( $tagslib->{$tag}->{$subfield}->{'value_builder'} ) {
class=\"input_marceditor\"
onfocus=\"Focus$function_name($index_tag)\"
size=\"67\"
- maxlength=\"$max_length\"
+ maxlength=\"".$subfield_data{maxlength}."\"
onblur=\"Blur$function_name($index_tag); \" \/>
<span class=\"subfield_controls\"><a href=\"#\" class=\"buttonDot\" onclick=\"Clic$function_name('$subfield_data{id}'); return false;\" tabindex=\"1\" title=\"Tag Editor\"><img src=\"/intranet-tmpl/prog/img/edit-tag.png\" alt=\"Tag Editor\" /></a></span>
$javascript";
value=\"$value\"
tabindex=\"1\"
size=\"67\"
- maxlength=\"$max_length\"
+ maxlength=\"".$subfield_data{maxlength}."\"
class=\"input_marceditor\"
\/>
";
id=\"".$subfield_data{id}."\"
name=\"".$subfield_data{id}."\"
size=\"67\"
- maxlength=\"$max_length\"
+ maxlength=\"".$subfield_data{maxlength}."\"
value=\"$value\" \/>
";
}
value=\"$value\"
tabindex=\"1\"
size=\"67\"
- maxlength=\"$max_length\"
+ maxlength=\"".$subfield_data{maxlength}."\"
class=\"input_marceditor\"
\/>
";
frameworkcode => $frameworkcode,
itemtype => $frameworkcode,
borrowernumber => $loggedinuser,
- marcflavour => C4::Context->preference("marcflavour"),
);
output_html_with_http_headers $input, $cookie, $template->output;
-
-sub get_host_control_num {
- my $host_biblio_nr = shift;
- my $host = GetMarcBiblio($host_biblio_nr);
- my $control_num = GetMarcControlnumber($host, C4::Context->preference('marcflavour'));
- $host = GetBiblioData($host_biblio_nr);
- $host->{control_number} = $control_num;
- return $host;
-}