[Koha-patches] [PATCH] Analytical records - some code cleanup
savitra.sirohi at osslabs.biz
savitra.sirohi at osslabs.biz
Fri Nov 5 14:25:53 CET 2010
From: Amit Gupta <amit.gupta at osslabs.biz>
---
cataloguing/addbiblio.pl | 29 +++++++++++++++++------------
1 files changed, 17 insertions(+), 12 deletions(-)
diff --git a/cataloguing/addbiblio.pl b/cataloguing/addbiblio.pl
index a306dd3..4e56fad 100755
--- a/cataloguing/addbiblio.pl
+++ b/cataloguing/addbiblio.pl
@@ -346,6 +346,8 @@ sub create_input {
);
# always expand all subfields of a mandatory field
$subfield_data{visibility} = "" if $tagslib->{$tag}->{mandatory};
+ # expand all subfields of 773 if there is a host item provided in the input
+ $subfield_data{visibility} ="" if ($tag eq 773 and $cgi->param('hostitemnumber'));
# it's an authorised field
if ( $tagslib->{$tag}->{$subfield}->{authorised_value} ) {
$subfield_data{marc_value} =
@@ -677,6 +679,14 @@ sub build_tabs ($$$$$) {
# if breeding is empty
}
else {
+ my $hostbiblionumber;
+ my $hostitemnumber;
+ my $hostrecord;
+ if ($tag eq 773){
+ $hostbiblionumber = $input->param('hostbiblionumber');
+ $hostitemnumber = $input->param('hostitemnumber');
+ $hostrecord = &GetMarcBiblio($hostbiblionumber);
+ }
my @subfields_data;
foreach my $subfield ( sort( keys %{ $tagslib->{$tag} } ) ) {
next if ( length $subfield != 1 );
@@ -693,12 +703,7 @@ sub build_tabs ($$$$$) {
# always include in the form regardless of the hidden setting - bug 2206
next
if ( $tagslib->{$tag}->{$subfield}->{tab} ne $tabloop );
-
- # populating host record details for analytical records
- my $hostbiblionumber = $input->param('hostbiblionumber');
- my $hostitemnumber = $input->param('hostitemnumber');
if ( $tag eq 773 and $hostbiblionumber){
- my $hostrecord = &GetMarcBiblio($hostbiblionumber);
if ($subfield eq "w"){
push(
@subfields_data,
@@ -706,34 +711,34 @@ sub build_tabs ($$$$$) {
$tag, $subfield,$hostbiblionumber, $index_tag, $tabloop, $record,
$authorised_values_sth,$input
));
+ next;
}
- elsif ($subfield eq "a"){
+ if ($subfield eq "a"){
push(
@subfields_data,
&create_input(
$tag, $subfield,$hostrecord->subfield('245',"a"), $index_tag, $tabloop, $record,
$authorised_values_sth,$input
));
+ next;
}
- elsif ($subfield eq "o"){
+ if ($subfield eq "o"){
push(
@subfields_data,
&create_input(
$tag, $subfield,$hostitemnumber, $index_tag, $tabloop, $record,
$authorised_values_sth,$input
));
+ next;
}
-
- }
- else {
- push(
+ }
+ push(
@subfields_data,
&create_input(
$tag, $subfield, '', $index_tag, $tabloop, $record,
$authorised_values_sth,$input
)
);
- }
}
if ( $#subfields_data >= 0 ) {
my %tag_data = (
--
1.5.4.5
More information about the Koha-patches
mailing list