-warn "report $authtypecode => ".$auth_type->{auth_tag_to_report}.$record->as_formatted;
- foreach my $field ($record->field($auth_type->{auth_tag_to_report})) {
- my @subfields_data;
- my @subf=$field->subfields;
- # loop through each subfield
- for my $i (0..$#subf) {
- $subf[$i][0] = "@" unless $subf[$i][0];
- my %subfield_data;
- $subfield_data{marc_value}=$subf[$i][1];
- $subfield_data{marc_subfield}=$subf[$i][0];
- $subfield_data{marc_tag}=$field->tag();
- push(@subfields_data, \%subfield_data);
- }
- if ($#subfields_data>=0) {
- my %tag_data;
- $tag_data{tag}=$field->tag().' -'. $tagslib->{$field->tag()}->{lib};
- $tag_data{subfield} = \@subfields_data;
- push (@loop_data, \%tag_data);
- }
- }
-} else {
-# authid is empty => the user want to empty the entry.
- my @subfields_data;
- foreach my $subfield ('a'..'z') {
- my %subfield_data;
- $subfield_data{marc_value}='';
- $subfield_data{marc_subfield}=$subfield;
- push(@subfields_data, \%subfield_data);
- }
-# if ($#subfields_data>=0) {
- my %tag_data;
-# $tag_data{tag}=$field->tag().' -'. $tagslib->{$field->tag()}->{lib};
- $tag_data{subfield} = \@subfields_data;
- push (@loop_data, \%tag_data);
-# }
+ my @fields = $record->field( $auth_type->{auth_tag_to_report} );
+ my $repet = ($query->param('repet') || 1) - 1;
+ my $field = $fields[$repet];
+ for ( $field->subfields ) {
+ my ($letter, $value) = @$_;
+ $letter = '@' unless $letter;
+ push @subfield_loop, { marc_subfield => $letter, marc_value => $value };
+ }