[Koha-cvs] CVS: koha/acqui.simple addbiblio.pl,1.18,1.19 additem.pl,1.13,1.14

Ambrose Li acli at users.sourceforge.net
Mon Feb 3 19:46:06 CET 2003


Update of /cvsroot/koha/koha/acqui.simple
In directory sc8-pr-cvs1:/tmp/cvs-serv3203/acqui.simple

Modified Files:
	addbiblio.pl additem.pl 
Log Message:
Minor factoring in C4/Biblio.pm, plus change to export the per-tag
'mandatory' property to a per-subfield 'tag_mandatory' template parameter,
so that addbiblio.tmpl can distinguish between mandatory subfields in a
mandatory tag and mandatory subfields in an optional tag

Not-minor factoring in acqui.simple/addbiblio.pl to make the if-else blocks
smaller, and to add some POD; need further testing for this

Added function to check if a MARC subfield name is "koha-internal" (instead
of checking it for 'lib' and 'tag' everywhere); temporarily added to Koha.pm

Use above function in acqui.simple/additem.pl and search.marc/search.pl


Index: addbiblio.pl
===================================================================
RCS file: /cvsroot/koha/koha/acqui.simple/addbiblio.pl,v
retrieving revision 1.18
retrieving revision 1.19
diff -C2 -r1.18 -r1.19
*** addbiblio.pl	3 Feb 2003 07:03:06 -0000	1.18
--- addbiblio.pl	3 Feb 2003 18:46:03 -0000	1.19
***************
*** 27,33 ****
--- 27,37 ----
  use C4::Biblio;
  use C4::Context;
+ use C4::Koha; # XXX subfield_is_koha_internal_p
  use HTML::Template;
  use MARC::File::USMARC;
  
+ use vars qw( $tagslib );
+ use vars qw( $is_a_modif );
+ 
  
  =item find_value
***************
*** 87,90 ****
--- 91,264 ----
  
  
+ =item build_authorized_values_list
+ 
+ =cut
+ 
+ sub build_authorized_values_list ($$$$$) {
+     my($tag, $subfield, $value, $dbh, $authorised_values_sth) = @_;
+ 
+     my @authorised_values;
+     my %authorised_lib;
+ 
+     # builds list, depending on authorised value...
+ 
+     #---- branch
+     if ($tagslib->{$tag}->{$subfield}->{'authorised_value'} eq "branches" ) {
+ 	my $sth=$dbh->prepare("select branchcode,branchname from branches");
+ 	$sth->execute;
+ 	push @authorised_values, ""
+ 		unless ($tagslib->{$tag}->{$subfield}->{mandatory});
+ 
+ 	while (my ($branchcode,$branchname) = $sth->fetchrow_array) {
+ 	    push @authorised_values, $branchcode;
+ 	    $authorised_lib{$branchcode}=$branchname;
+ 	}
+ 
+     #----- itemtypes
+     } elsif ($tagslib->{$tag}->{$subfield}->{authorised_value} eq "itemtypes") {
+ 	my $sth=$dbh->prepare("select itemtype,description from itemtypes");
+ 	$sth->execute;
+ 	push @authorised_values, ""
+ 		unless ($tagslib->{$tag}->{$subfield}->{mandatory});
+ 
+ 	while (my ($itemtype,$description) = $sth->fetchrow_array) {
+ 	    push @authorised_values, $itemtype;
+ 	    $authorised_lib{$itemtype}=$description;
+ 	}
+ 
+     #---- "true" authorised value
+     } else {
+ 	$authorised_values_sth->execute
+ 		($tagslib->{$tag}->{$subfield}->{authorised_value});
+ 
+ 	push @authorised_values, ""
+ 		unless ($tagslib->{$tag}->{$subfield}->{mandatory});
+ 
+ 	while (my ($value,$lib) = $authorised_values_sth->fetchrow_array) {
+ 	    push @authorised_values, $value;
+ 	    $authorised_lib{$value}=$lib;
+ 	}
+     }
+     return CGI::scrolling_list( -name     => 'field_value',
+ 				-values   => \@authorised_values,
+ 				-default  => $value,
+ 				-labels   => \%authorised_lib,
+ 				-size     => 1,
+ 				-multiple => 0 );
+ }
+ 
+ sub build_tabs ($$$) {
+     my($template, $record, $dbh) = @_;
+ 
+     # fill arrays
+     my @loop_data =();
+     my $tag;
+     my $i=0;
+     my $authorised_values_sth = $dbh->prepare("select authorised_value,lib
+ 	from authorised_values
+ 	where category=? order by authorised_value");
+ 
+     # loop through each tab 0 through 9
+     for (my $tabloop = 0; $tabloop <= 9; $tabloop++) {
+     #	my @fields = $record->fields();
+ 	my @loop_data = ();
+ 	foreach my $tag (sort(keys (%{$tagslib}))) {
+ 	    my $previous_tag = '';
+ 	    my @subfields_data;
+ 	    my $indicator;
+ 
+ 	    # loop through each subfield
+ 	    foreach my $subfield (sort(keys %{$tagslib->{$tag}})) {
+ 		next if subfield_is_koha_internal_p($subfield);
+ 		next if ($tagslib->{$tag}->{$subfield}->{tab} ne $tabloop);
+ 		my %subfield_data;
+ 		$subfield_data{tag}=$tag;
+ 		$subfield_data{subfield}=$subfield;
+ 		$subfield_data{marc_lib}="<DIV id=\"error$i\">".$tagslib->{$tag}->{$subfield}->{lib}."</div>";
+ 		$subfield_data{tag_mandatory}=$tagslib->{$tag}->{mandatory};
+ 		$subfield_data{mandatory}=$tagslib->{$tag}->{$subfield}->{mandatory};
+ 		$subfield_data{repeatable}=$tagslib->{$tag}->{$subfield}->{repeatable};
+ 		# if breeding is not empty
+ 		if ($record ne -1) {
+ 		    my ($x,$value) = find_value($tag,$subfield,$record);
+ 		    $value=char_decode($value) unless ($is_a_modif);
+ 		    $indicator = $x if $x; #XXX
+ 		    if ($tagslib->{$tag}->{$subfield}->{authorised_value}) {
+ 			$subfield_data{marc_value}= build_authorized_values_list($tag, $subfield, $value, $dbh, $authorised_values_sth);
+ 		    } elsif ($tagslib->{$tag}->{$subfield}->{thesaurus_category}) {
+ 			$subfield_data{marc_value}="<input type=\"text\" name=\"field_value\"  size=47 maxlength=255> <a href=\"javascript:Dopop('../thesaurus_popup.pl?category=$tagslib->{$tag}->{$subfield}->{thesaurus_category}&index=$i',$i)\">...</a>"; #"
+ 		    } elsif ($tagslib->{$tag}->{$subfield}->{'value_builder'}) {
+ 			my $plugin="../value_builder/".$tagslib->{$tag}->{$subfield}->{'value_builder'};
+ 			require $plugin;
+ 			my $extended_param = plugin_parameters($dbh,$record,$tagslib,$i,$tabloop);
+ 			my ($function_name,$javascript) = plugin_javascript($dbh,$record,$tagslib,$i,$tabloop);
+ 			$subfield_data{marc_value}="<input type=\"text\" name=\"field_value\"  value=\"$value\" size=47 maxlength=255 OnFocus=\"javascript:Focus$function_name($i)\" OnBlur=\"javascript:Blur$function_name($i)\"> <a href=\"javascript:Clic$function_name($i)\">...</a> $javascript";
+ 		    } else {
+ 			$subfield_data{marc_value}="<input type=\"text\" name=\"field_value\" value=\"$value\" size=50 maxlength=255>";
+ 		    }
+ 
+ 		# if breeding is empty
+ 		} else {
+ 		    my ($x,$value);
+ 		    ($x,$value) = find_value($tag,$subfield,$record) if ($record ne -1);
+ 		    $value=char_decode($value) unless ($is_a_modif);
+ 		    if ($tagslib->{$tag}->{$subfield}->{authorised_value}) {
+ 			$subfield_data{marc_value}= build_authorized_values_list($tag, $subfield, $value, $dbh, $authorised_values_sth);
+ 		    } elsif ($tagslib->{$tag}->{$subfield}->{thesaurus_category}) {
+ 			$subfield_data{marc_value}="<input type=\"text\" name=\"field_value\"  size=47 maxlength=255 DISABLE READONLY> <a href=\"javascript:Dopop('../thesaurus_popup.pl?category=$tagslib->{$tag}->{$subfield}->{thesaurus_category}&index=$i',$i)\">...</a>";
+ 		    } elsif ($tagslib->{$tag}->{$subfield}->{'value_builder'}) {
+ 			my $plugin="../value_builder/".$tagslib->{$tag}->{$subfield}->{'value_builder'};
+ 			require $plugin;
+ 			my $extended_param = plugin_parameters($dbh,$record,$tagslib,$i,$tabloop);
+ 			my ($function_name,$javascript) = plugin_javascript($dbh,$record,$tagslib,$i,$tabloop);
+ 			$subfield_data{marc_value}="<input type=\"text\" name=\"field_value\"  DISABLE READONLY size=47 maxlength=255 OnFocus=\"javascript:Focus$function_name($i)\" OnBlur=\"javascript:Blur$function_name($i)\"> <a href=\"javascript:Clic$function_name($i)\">...</a> $javascript";
+ 		    } else {
+ 			$subfield_data{marc_value}="<input type=\"text\" name=\"field_value\" size=50 maxlength=255>";
+ 		    }
+ 		}
+ 		push(@subfields_data, \%subfield_data);
+ 		$i++;
+ 	    }
+ 	    if ($#subfields_data >= 0) {
+ 		my %tag_data;
+ 		$tag_data{tag} = $tag;
+ 		$tag_data{tag_lib} = $tagslib->{$tag}->{lib};
+ 		$tag_data{indicator} = $indicator;
+ 		$tag_data{subfield_loop} = \@subfields_data;
+ 		push (@loop_data, \%tag_data);
+ 	    }
+ 	}
+ 	$template->param($tabloop."XX" =>\@loop_data);
+     }
+ }
+ 
+ 
+ sub build_hidden_data () {
+     # build hidden data =>
+     # we store everything, even if we show only requested subfields.
+ 
+     my @loop_data =();
+     my $i=0;
+     foreach my $tag (keys %{$tagslib}) {
+ 	my $previous_tag = '';
+ 
+ 	# loop through each subfield
+ 	foreach my $subfield (keys %{$tagslib->{$tag}}) {
+ 	    next if ($subfield eq 'lib');
+ 	    next if ($subfield eq 'tab');
+ 	    next if ($subfield eq 'mandatory');
+ 	    next if ($tagslib->{$tag}->{$subfield}->{'tab'}  ne "-1");
+ 	    my %subfield_data;
+ 	    $subfield_data{marc_lib}=$tagslib->{$tag}->{$subfield}->{lib};
+ 	    $subfield_data{marc_mandatory}=$tagslib->{$tag}->{$subfield}->{mandatory};
+ 	    $subfield_data{marc_repeatable}=$tagslib->{$tag}->{$subfield}->{repeatable};
+ 	    $subfield_data{marc_value}="<input type=\"hidden\" name=\"field_value[]\">";
+ 	    push(@loop_data, \%subfield_data);
+ 	    $i++
+ 	}
+     }
+ }
+ 
+ 
  my $input = new CGI;
  my $error = $input->param('error');
***************
*** 108,117 ****
  			     });
  
! my $tagslib = &MARCgettagslib($dbh,1);
  my $record=-1;
  $record = MARCgetbiblio($dbh,$bibid) if ($bibid);
  #warn "1= ".$record->as_formatted;
  $record = MARCfindbreeding($dbh,$breedingid) if ($breedingid);
! my $is_a_modif=0;
  my ($oldbiblionumtagfield,$oldbiblionumtagsubfield);
  my ($oldbiblioitemnumtagfield,$oldbiblioitemnumtagsubfield,$bibitem,$oldbiblioitemnumber);
--- 282,291 ----
  			     });
  
! $tagslib = &MARCgettagslib($dbh,1);
  my $record=-1;
  $record = MARCgetbiblio($dbh,$bibid) if ($bibid);
  #warn "1= ".$record->as_formatted;
  $record = MARCfindbreeding($dbh,$breedingid) if ($breedingid);
! $is_a_modif=0;
  my ($oldbiblionumtagfield,$oldbiblionumtagsubfield);
  my ($oldbiblioitemnumtagfield,$oldbiblioitemnumtagsubfield,$bibitem,$oldbiblioitemnumber);
***************
*** 150,332 ****
  	}
  # now, redirect to additem page
! 	print "Content-Type: text/html\n\n<META HTTP-EQUIV=Refresh CONTENT=\"0; URL=additem.pl?bibid=$bibid\"></html>";
  	exit;
  #------------------------------------------------------------------------------------------------------------------------------
  } else {
  #------------------------------------------------------------------------------------------------------------------------------
! 	# fill arrays
! 	my @loop_data =();
! 	my $tag;
! 	my $i=0;
! 	my $authorised_values_sth = $dbh->prepare("select authorised_value,lib from authorised_values where category=? order by authorised_value");
! # loop through each tab 0 through 9
! 	for (my $tabloop = 0; $tabloop<=9;$tabloop++) {
! 	#	my @fields = $record->fields();
! 		my @loop_data =();
! 		foreach my $tag (sort(keys (%{$tagslib}))) {
! 			my $previous_tag = '';
! 			my @subfields_data;
! 			my $indicator;
! # loop through each subfield
! 			foreach my $subfield (sort(keys %{$tagslib->{$tag}})) {
! 				next if ($subfield eq 'lib'); # skip lib and tabs, which are koha internal
! 				next if ($subfield eq 'tab');
! 				next if ($tagslib->{$tag}->{$subfield}->{tab}  ne $tabloop);
! 				my %subfield_data;
! 				$subfield_data{tag}=$tag;
! 				$subfield_data{subfield}=$subfield;
! 				$subfield_data{marc_lib}="<DIV id=\"error$i\">".$tagslib->{$tag}->{$subfield}->{lib}."</div>";
! 				$subfield_data{mandatory}=$tagslib->{$tag}->{$subfield}->{mandatory};
! 				$subfield_data{repeatable}=$tagslib->{$tag}->{$subfield}->{repeatable};
! 				# if breeding is not empty
! 				if ($record ne -1) {
! 					my ($x,$value) = find_value($tag,$subfield,$record);
! 					$value=char_decode($value) unless ($is_a_modif);
! 					$indicator = $x if $x;
! 					if ($tagslib->{$tag}->{$subfield}->{authorised_value}) {
! 						my @authorised_values;
! 						my %authorised_lib;
! 						# builds list, depending on authorised value...
! 						#---- branch
! 						if ($tagslib->{$tag}->{$subfield}->{'authorised_value'} eq "branches" ) {
! 							my $sth=$dbh->prepare("select branchcode,branchname from branches");
! 							$sth->execute;
! 							push @authorised_values, "" unless ($tagslib->{$tag}->{$subfield}->{mandatory});
! 							while (my ($branchcode,$branchname) = $sth->fetchrow_array) {
! 								push @authorised_values, $branchcode;
! 								$authorised_lib{$branchcode}=$branchname;
! 							}
! 						#----- itemtypes
! 						} elsif ($tagslib->{$tag}->{$subfield}->{authorised_value} eq "itemtypes") {
! 							my $sth=$dbh->prepare("select itemtype,description from itemtypes");
! 							$sth->execute;
! 							push @authorised_values, "" unless ($tagslib->{$tag}->{$subfield}->{mandatory});
! 							while (my ($itemtype,$description) = $sth->fetchrow_array) {
! 								push @authorised_values, $itemtype;
! 								$authorised_lib{$itemtype}=$description;
! 							}
! 						#---- "true" authorised value
! 						} else {
! 							$authorised_values_sth->execute($tagslib->{$tag}->{$subfield}->{authorised_value});
! 							push @authorised_values, "" unless ($tagslib->{$tag}->{$subfield}->{mandatory});
! 							while (my ($value,$lib) = $authorised_values_sth->fetchrow_array) {
! 								push @authorised_values, $value;
! 								$authorised_lib{$value}=$lib;
! 							}
! 						}
! 						$subfield_data{marc_value}= CGI::scrolling_list(-name=>'field_value',
! 																					-values=> \@authorised_values,
! 																					-default=>"$value",
! 																					-labels => \%authorised_lib,
! 																					-size=>1,
! 																					-multiple=>0,
! 																					);
! 					} elsif ($tagslib->{$tag}->{$subfield}->{thesaurus_category}) {
! 						$subfield_data{marc_value}="<input type=\"text\" name=\"field_value\"  size=47 maxlength=255> <a href=\"javascript:Dopop('../thesaurus_popup.pl?category=$tagslib->{$tag}->{$subfield}->{thesaurus_category}&index=$i',$i)\">...</a>"; #"
! 					} elsif ($tagslib->{$tag}->{$subfield}->{'value_builder'}) {
! 						my $plugin="../value_builder/".$tagslib->{$tag}->{$subfield}->{'value_builder'};
! 						require $plugin;
! 						my $extended_param = plugin_parameters($dbh,$record,$tagslib,$i,$tabloop);
! 						my ($function_name,$javascript) = plugin_javascript($dbh,$record,$tagslib,$i,$tabloop);
! 						$subfield_data{marc_value}="<input type=\"text\" name=\"field_value\"  value=\"$value\" size=47 maxlength=255 OnFocus=\"javascript:Focus$function_name($i)\" OnBlur=\"javascript:Blur$function_name($i)\"> <a href=\"javascript:Clic$function_name($i)\">...</a> $javascript";
! 					} else {
! 						$subfield_data{marc_value}="<input type=\"text\" name=\"field_value\" value=\"$value\" size=50 maxlength=255>";
! 					}
! 				# if breeding is empty
! 				} else {
! 					my ($x,$value);
! 					($x,$value) = find_value($tag,$subfield,$record) if ($record ne -1);
! 					$value=char_decode($value) unless ($is_a_modif);
! 					if ($tagslib->{$tag}->{$subfield}->{authorised_value}) {
! 						my @authorised_values;
! 						my %authorised_lib;
! 						# builds list, depending on authorised value...
! 						#---- branch
! 						if ($tagslib->{$tag}->{$subfield}->{'authorised_value'} eq "branches" ) {
! 							my $sth=$dbh->prepare("select branchcode,branchname from branches order by branchcode");
! 							$sth->execute;
! 							push @authorised_values, "" unless ($tagslib->{$tag}->{$subfield}->{mandatory});
! 							while (my ($branchcode,$branchname) = $sth->fetchrow_array) {
! 								push @authorised_values, $branchcode;
! 								$authorised_lib{$branchcode}=$branchname;
! 							}
! 						#----- itemtypes
! 						} elsif ($tagslib->{$tag}->{$subfield}->{authorised_value} eq "itemtypes") {
! 							my $sth=$dbh->prepare("select itemtype,description from itemtypes order by itemtype");
! 							$sth->execute;
! 							push @authorised_values, "" unless ($tagslib->{$tag}->{$subfield}->{mandatory});
! 							while (my ($itemtype,$description) = $sth->fetchrow_array) {
! 								push @authorised_values, $itemtype;
! 								$authorised_lib{$itemtype}=$description;
! 							}
! 						#---- "true" authorised value
! 						} else {
! 							$authorised_values_sth->execute($tagslib->{$tag}->{$subfield}->{authorised_value});
! 							push @authorised_values, "" unless ($tagslib->{$tag}->{$subfield}->{mandatory});
! 							while (my ($value,$lib) = $authorised_values_sth->fetchrow_array) {
! 								push @authorised_values, $value;
! 								$authorised_lib{$value}=$lib;
! 							}
! 						}
! 						$subfield_data{marc_value}= CGI::scrolling_list(-name=>'field_value',
! 																					-values=> \@authorised_values,
! 																					-default=>"$value",
! 																					-labels => \%authorised_lib,
! 																					-size=>1,
! 																					-multiple=>0,
! 																					);
! 					} elsif ($tagslib->{$tag}->{$subfield}->{thesaurus_category}) {
! 						$subfield_data{marc_value}="<input type=\"text\" name=\"field_value\"  size=47 maxlength=255 DISABLE READONLY> <a href=\"javascript:Dopop('../thesaurus_popup.pl?category=$tagslib->{$tag}->{$subfield}->{thesaurus_category}&index=$i',$i)\">...</a>";
! 					} elsif ($tagslib->{$tag}->{$subfield}->{'value_builder'}) {
! 						my $plugin="../value_builder/".$tagslib->{$tag}->{$subfield}->{'value_builder'};
! 						require $plugin;
! 						my $extended_param = plugin_parameters($dbh,$record,$tagslib,$i,$tabloop);
! 						my ($function_name,$javascript) = plugin_javascript($dbh,$record,$tagslib,$i,$tabloop);
! 						$subfield_data{marc_value}="<input type=\"text\" name=\"field_value\"  size=47 maxlength=255 DISABLE READONLY OnFocus=\"javascript:Focus$function_name($i)\" OnBlur=\"javascript:Blur$function_name($i)\"> <a href=\"javascript:Clic$function_name($i)\">...</a> $javascript";
! 					} else {
! 						$subfield_data{marc_value}="<input type=\"text\" name=\"field_value\" size=50 maxlength=255>";
! 					}
! 				}
! 				push(@subfields_data, \%subfield_data);
! 				$i++;
! 			}
! 			if ($#subfields_data>=0) {
! 				my %tag_data;
! 				$tag_data{tag}=$tag;
! 				$tag_data{tag_lib} = $tagslib->{$tag}->{lib};
! 				$tag_data{indicator} = $indicator;
! 				$tag_data{subfield_loop} = \@subfields_data;
! 				push (@loop_data, \%tag_data);
! 			}
! 		}
! 		$template->param($tabloop."XX" =>\@loop_data);
! 	}
! 	# now, build hidden data => we store everything, even if we show only requested subfields.
! 	my @loop_data =();
! 	my $i=0;
! 	foreach my $tag (keys %{$tagslib}) {
! 		my $previous_tag = '';
! 	# loop through each subfield
! 		foreach my $subfield (keys %{$tagslib->{$tag}}) {
! 			next if ($subfield eq 'lib');
! 			next if ($subfield eq 'tab');
! 			next if ($tagslib->{$tag}->{$subfield}->{'tab'}  ne "-1");
! 			my %subfield_data;
! 			$subfield_data{marc_lib}=$tagslib->{$tag}->{$subfield}->{lib};
! 			$subfield_data{marc_mandatory}=$tagslib->{$tag}->{$subfield}->{mandatory};
! 			$subfield_data{marc_repeatable}=$tagslib->{$tag}->{$subfield}->{repeatable};
! 			$subfield_data{marc_value}="<input type=\"hidden\" name=\"field_value[]\">";
! 			push(@loop_data, \%subfield_data);
! 			$i++
! 		}
! 	}
  	$template->param(
! 							oldbiblionumber => $oldbiblionumber,
! 							bibid => $bibid,
! 							oldbiblionumtagfield => $oldbiblionumtagfield,
! 							oldbiblionumtagsubfield => $oldbiblionumtagsubfield,
! 							oldbiblioitemnumtagfield => $oldbiblioitemnumtagfield,
! 							oldbiblioitemnumtagsubfield => $oldbiblioitemnumtagsubfield,
! 							oldbiblioitemnumber => $oldbiblioitemnumber);
  }
  output_html_with_http_headers $input, $cookie, $template->output;
--- 324,342 ----
  	}
  # now, redirect to additem page
! 	print $input->redirect("additem.pl?bibid=$bibid");
  	exit;
  #------------------------------------------------------------------------------------------------------------------------------
  } else {
  #------------------------------------------------------------------------------------------------------------------------------
! 	build_tabs ($template, $record, $dbh);
! 	build_hidden_data;
  	$template->param(
! 		oldbiblionumber             => $oldbiblionumber,
! 		bibid                       => $bibid,
! 		oldbiblionumtagfield        => $oldbiblionumtagfield,
! 		oldbiblionumtagsubfield     => $oldbiblionumtagsubfield,
! 		oldbiblioitemnumtagfield    => $oldbiblioitemnumtagfield,
! 		oldbiblioitemnumtagsubfield => $oldbiblioitemnumtagsubfield,
! 		oldbiblioitemnumber         => $oldbiblioitemnumber );
  }
  output_html_with_http_headers $input, $cookie, $template->output;

Index: additem.pl
===================================================================
RCS file: /cvsroot/koha/koha/acqui.simple/additem.pl,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -r1.13 -r1.14
*** additem.pl	2 Feb 2003 07:18:38 -0000	1.13
--- additem.pl	3 Feb 2003 18:46:03 -0000	1.14
***************
*** 27,30 ****
--- 27,31 ----
  use C4::Biblio;
  use C4::Context;
+ use C4::Koha; # XXX subfield_is_koha_internal_p
  use HTML::Template;
  use MARC::File::USMARC;
***************
*** 167,172 ****
  # loop through each subfield
  	foreach my $subfield (sort keys %{$tagslib->{$tag}}) {
! 		next if ($subfield eq 'lib');
! 		next if ($subfield eq 'tab');
  		next if ($tagslib->{$tag}->{$subfield}->{'tab'}  ne "10");
  		my %subfield_data;
--- 168,172 ----
  # loop through each subfield
  	foreach my $subfield (sort keys %{$tagslib->{$tag}}) {
! 		next if subfield_is_koha_internal_p($subfield);
  		next if ($tagslib->{$tag}->{$subfield}->{'tab'}  ne "10");
  		my %subfield_data;





More information about the Koha-cvs mailing list