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\">\"Tag @@ -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\">\"Tag @@ -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); \" \/> \"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;