X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=cataloguing%2Faddbiblio.pl;h=3db1a65526ce519a950f5ba98b5ded378a990fcb;hb=087b9665ae7fe7a88ed30c8a541c8f382029315f;hp=7fabb776ce30c1e806366df5d8aa7d5d5957d152;hpb=0ef6b0d5c618c2bd4d0ec942e870a6f989632ca0;p=koha_fer
diff --git a/cataloguing/addbiblio.pl b/cataloguing/addbiblio.pl
index 7fabb776ce..3db1a65526 100755
--- a/cataloguing/addbiblio.pl
+++ b/cataloguing/addbiblio.pl
@@ -215,10 +215,8 @@ sub build_authorized_values_list {
($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(
@@ -293,14 +291,6 @@ sub create_input {
$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};
@@ -335,6 +325,7 @@ sub create_input {
index => $index_tag,
id => "tag_".$tag."_subfield_".$id_subfield."_".$index_tag."_".$index_subfield,
value => $value,
+ maxlength => $tagslib->{$tag}->{$subfield}->{maxlength},
random => CreateKey(),
);
@@ -374,7 +365,7 @@ sub create_input {
class=\"input_marceditor readonly\"
tabindex=\"1\"
size=\"5\"
- maxlength=\"$max_length\"
+ maxlength=\"".$subfield_data{maxlength}."\"
readonly=\"readonly\"
\/>";
@@ -390,7 +381,7 @@ sub create_input {
class=\"input_marceditor readonly\"
tabindex=\"1\"
size=\"67\"
- maxlength=\"$max_length\"
+ maxlength=\"".$subfield_data{maxlength}."\"
\/>
{$tag}->{$subfield}->{authtypecode}."'); return false;\" tabindex=\"1\" title=\"Tag Editor\">
@@ -404,7 +395,7 @@ sub create_input {
class=\"input_marceditor readonly\"
tabindex=\"1\"
size=\"67\"
- maxlength=\"$max_length\"
+ maxlength=\"".$subfield_data{maxlength}."\"
readonly=\"readonly\"
\/>{$tag}->{$subfield}->{authtypecode}."'); return false;\" tabindex=\"1\" title=\"Tag Editor\">
@@ -435,7 +426,7 @@ sub create_input {
class=\"input_marceditor\"
onfocus=\"Focus$function_name($index_tag)\"
size=\"67\"
- maxlength=\"$max_length\"
+ maxlength=\"".$subfield_data{maxlength}."\"
onblur=\"Blur$function_name($index_tag); \" \/>
$javascript";
@@ -449,7 +440,7 @@ sub create_input {
value=\"$value\"
tabindex=\"1\"
size=\"67\"
- maxlength=\"$max_length\"
+ maxlength=\"".$subfield_data{maxlength}."\"
class=\"input_marceditor\"
\/>
";
@@ -463,7 +454,7 @@ sub create_input {
id=\"".$subfield_data{id}."\"
name=\"".$subfield_data{id}."\"
size=\"67\"
- maxlength=\"$max_length\"
+ maxlength=\"".$subfield_data{maxlength}."\"
value=\"$value\" \/>
";
}
@@ -497,7 +488,7 @@ sub create_input {
value=\"$value\"
tabindex=\"1\"
size=\"67\"
- maxlength=\"$max_length\"
+ maxlength=\"".$subfield_data{maxlength}."\"
class=\"input_marceditor\"
\/>
";
@@ -729,6 +720,7 @@ sub build_tabs {
my $input = new CGI;
my $error = $input->param('error');
my $biblionumber = $input->param('biblionumber'); # if biblionumber exists, it's a modif, not a new biblio.
+my $parentbiblio = $input->param('parentbiblionumber');
my $breedingid = $input->param('breedingid');
my $z3950 = $input->param('z3950');
my $op = $input->param('op');
@@ -808,13 +800,25 @@ if (($biblionumber) && !($breedingid)){
if ($breedingid) {
( $record, $encoding ) = MARCfindbreeding( $breedingid ) ;
}
+
#populate hostfield if hostbiblionumber is available
-if ($hostbiblionumber){
- my $marcflavour = C4::Context->preference("marcflavour");
- $record=MARC::Record->new();
- $record->leader('');
- my $field = PrepHostMarcField($hostbiblionumber, $hostitemnumber,$marcflavour);
- $record->append_fields($field);
+if ($hostbiblionumber) {
+ my $marcflavour = C4::Context->preference("marcflavour");
+ $record = MARC::Record->new();
+ $record->leader('');
+ my $field =
+ PrepHostMarcField( $hostbiblionumber, $hostitemnumber, $marcflavour );
+ $record->append_fields($field);
+}
+
+# This is a child record
+if ($parentbiblio) {
+ my $marcflavour = C4::Context->preference('marcflavour');
+ $record = MARC::Record->new();
+ my $hostfield = prepare_host_field($parentbiblio,$marcflavour);
+ if ($hostfield) {
+ $record->append_fields($hostfield);
+ }
}
$is_a_modif = 0;
@@ -978,7 +982,6 @@ $template->param(
frameworkcode => $frameworkcode,
itemtype => $frameworkcode,
borrowernumber => $loggedinuser,
- marcflavour => C4::Context->preference("marcflavour"),
);
output_html_with_http_headers $input, $cookie, $template->output;