|
Lines 222-227
for my $tag (@tags) {
Link Here
|
| 222 |
$marc_tag_structure_rs->create($tag); |
222 |
$marc_tag_structure_rs->create($tag); |
| 223 |
} |
223 |
} |
| 224 |
|
224 |
|
|
|
225 |
my @mss = $marc_subfield_structure_rs->search({ frameworkcode => '' }); |
| 226 |
my %tab_for_field; |
| 227 |
foreach my $mss (@mss) { |
| 228 |
next if $mss->tab < 0; |
| 229 |
next if exists $tab_for_field{$mss->tagfield}; |
| 230 |
$tab_for_field{$mss->tagfield} = $mss->tab; |
| 231 |
} |
| 232 |
|
| 225 |
my $subfield_defaults = $defaults->{subfield}; |
233 |
my $subfield_defaults = $defaults->{subfield}; |
| 226 |
for my $subfield (@subfields) { |
234 |
for my $subfield (@subfields) { |
| 227 |
foreach my $key (keys %$subfield_defaults) { |
235 |
foreach my $key (keys %$subfield_defaults) { |
|
Lines 231-236
for my $subfield (@subfields) {
Link Here
|
| 231 |
} |
239 |
} |
| 232 |
$subfield->{liblibrarian} = t($subfield->{liblibrarian}); |
240 |
$subfield->{liblibrarian} = t($subfield->{liblibrarian}); |
| 233 |
|
241 |
|
|
|
242 |
# If other subfields exist in this field, use the same tab |
| 243 |
if (exists $tab_for_field{$subfield->{tagfield}}) { |
| 244 |
$subfield->{tab} = $tab_for_field{$subfield->{tagfield}}; |
| 245 |
} |
| 246 |
|
| 234 |
my $mss = $marc_subfield_structure_rs->find('', $subfield->{tagfield}, $subfield->{tagsubfield}); |
247 |
my $mss = $marc_subfield_structure_rs->find('', $subfield->{tagfield}, $subfield->{tagsubfield}); |
| 235 |
if ($mss) { |
248 |
if ($mss) { |
| 236 |
say sprintf('Subfield already exists: %s$%s', $subfield->{tagfield}, $subfield->{tagsubfield}); |
249 |
say sprintf('Subfield already exists: %s$%s', $subfield->{tagfield}, $subfield->{tagsubfield}); |
|
Lines 290-295
for my $authtag (@authtags) {
Link Here
|
| 290 |
$auth_tag_structure_rs->create($authtag); |
303 |
$auth_tag_structure_rs->create($authtag); |
| 291 |
} |
304 |
} |
| 292 |
|
305 |
|
|
|
306 |
my @ass = $auth_subfield_structure_rs->search(); |
| 307 |
my %tab_for_authfield; |
| 308 |
foreach my $ass (@ass) { |
| 309 |
my $authtypecode = $ass->get_column('authtypecode'); |
| 310 |
$tab_for_authfield{$authtypecode} //= {}; |
| 311 |
|
| 312 |
next if $ass->tab < 0; |
| 313 |
next if exists $tab_for_authfield{$authtypecode}->{$ass->tagfield}; |
| 314 |
|
| 315 |
$tab_for_authfield{$authtypecode}->{$ass->tagfield} = $ass->tab; |
| 316 |
} |
| 317 |
|
| 293 |
my $authsubfield_defaults = $defaults->{authsubfield}; |
318 |
my $authsubfield_defaults = $defaults->{authsubfield}; |
| 294 |
for my $authsubfield (@authsubfields) { |
319 |
for my $authsubfield (@authsubfields) { |
| 295 |
foreach my $key (keys %$authsubfield_defaults) { |
320 |
foreach my $key (keys %$authsubfield_defaults) { |
|
Lines 299-304
for my $authsubfield (@authsubfields) {
Link Here
|
| 299 |
} |
324 |
} |
| 300 |
$authsubfield->{liblibrarian} = t($authsubfield->{liblibrarian}); |
325 |
$authsubfield->{liblibrarian} = t($authsubfield->{liblibrarian}); |
| 301 |
|
326 |
|
|
|
327 |
# If other subfields exist in this field, use the same tab |
| 328 |
if (exists $tab_for_authfield{$authsubfield->{authtypecode}}->{$authsubfield->{tagfield}}) { |
| 329 |
$authsubfield->{tab} = $tab_for_authfield{$authsubfield->{authtypecode}}->{$authsubfield->{tagfield}}; |
| 330 |
} |
| 331 |
|
| 302 |
my $ass = $auth_subfield_structure_rs->find($authsubfield->{authtypecode}, $authsubfield->{tagfield}, $authsubfield->{tagsubfield}); |
332 |
my $ass = $auth_subfield_structure_rs->find($authsubfield->{authtypecode}, $authsubfield->{tagfield}, $authsubfield->{tagsubfield}); |
| 303 |
if ($ass) { |
333 |
if ($ass) { |
| 304 |
say sprintf('Auth subfield already exists: %s$%s (%s)', $authsubfield->{tagfield}, $authsubfield->{tagsubfield}, $authsubfield->{authtypecode}); |
334 |
say sprintf('Auth subfield already exists: %s$%s (%s)', $authsubfield->{tagfield}, $authsubfield->{tagsubfield}, $authsubfield->{authtypecode}); |
| 305 |
- |
|
|