|
Lines 345-358
sub redirect_add_subscription {
Link Here
|
| 345 |
); |
345 |
); |
| 346 |
|
346 |
|
| 347 |
my $additional_fields = Koha::AdditionalField->all( { tablename => 'subscription' } ); |
347 |
my $additional_fields = Koha::AdditionalField->all( { tablename => 'subscription' } ); |
| 348 |
my @additional_field_values; |
348 |
insert_additional_fields( $additional_fields, $biblionumber, $subscriptionid ); |
| 349 |
for my $field ( @$additional_fields ) { |
|
|
| 350 |
my $af = Koha::AdditionalField->new({ id => $field->{id} }); |
| 351 |
$af->{values} = { |
| 352 |
$subscriptionid => $query->param('additional_field_' . $field->{id}) |
| 353 |
} if defined $query->param('additional_field_' . $field->{id}); |
| 354 |
$af->insert_values; |
| 355 |
} |
| 356 |
|
349 |
|
| 357 |
print $query->redirect("/cgi-bin/koha/serials/subscription-detail.pl?subscriptionid=$subscriptionid"); |
350 |
print $query->redirect("/cgi-bin/koha/serials/subscription-detail.pl?subscriptionid=$subscriptionid"); |
| 358 |
return; |
351 |
return; |
|
Lines 430-454
sub redirect_mod_subscription {
Link Here
|
| 430 |
); |
423 |
); |
| 431 |
|
424 |
|
| 432 |
my $additional_fields = Koha::AdditionalField->all( { tablename => 'subscription' } ); |
425 |
my $additional_fields = Koha::AdditionalField->all( { tablename => 'subscription' } ); |
|
|
426 |
insert_additional_fields( $additional_fields, $biblionumber, $subscriptionid ); |
| 427 |
|
| 428 |
print $query->redirect("/cgi-bin/koha/serials/subscription-detail.pl?subscriptionid=$subscriptionid"); |
| 429 |
return; |
| 430 |
} |
| 431 |
|
| 432 |
sub insert_additional_fields { |
| 433 |
my ( $additional_fields, $biblionumber, $subscriptionid ) = @_; |
| 433 |
my @additional_field_values; |
434 |
my @additional_field_values; |
|
|
435 |
my $record = GetMarcBiblio( $biblionumber, 1 ); |
| 434 |
for my $field ( @$additional_fields ) { |
436 |
for my $field ( @$additional_fields ) { |
| 435 |
my $af = Koha::AdditionalField->new({ id => $field->{id} })->fetch; |
437 |
my $af = Koha::AdditionalField->new({ id => $field->{id} })->fetch; |
| 436 |
if ( $af->{marcfield} ) { |
438 |
if ( $af->{marcfield} ) { |
| 437 |
my $record = GetMarcBiblio( $biblionumber, 1 ); |
|
|
| 438 |
my ( $field, $subfield ) = split /\$/, $af->{marcfield}; |
439 |
my ( $field, $subfield ) = split /\$/, $af->{marcfield}; |
| 439 |
next unless $field and $subfield; |
440 |
$af->{values} = undef; |
| 440 |
my $value = $record->subfield( $field, $subfield ); |
441 |
if ( $field and $subfield ) { |
| 441 |
$af->{values} = { |
442 |
my $value = $record->subfield( $field, $subfield ); |
| 442 |
$subscriptionid => $value |
443 |
$af->{values} = { |
| 443 |
}; |
444 |
$subscriptionid => $value |
|
|
445 |
}; |
| 446 |
} |
| 444 |
} else { |
447 |
} else { |
| 445 |
$af->{values} = { |
448 |
$af->{values} = { |
| 446 |
$subscriptionid => $query->param('additional_field_' . $field->{id}) |
449 |
$subscriptionid => $query->param('additional_field_' . $field->{id}) |
| 447 |
}; |
450 |
} if defined $query->param('additional_field_' . $field->{id}); |
| 448 |
} |
451 |
} |
| 449 |
$af->insert_values; |
452 |
$af->insert_values; |
| 450 |
} |
453 |
} |
| 451 |
|
|
|
| 452 |
print $query->redirect("/cgi-bin/koha/serials/subscription-detail.pl?subscriptionid=$subscriptionid"); |
| 453 |
return; |
| 454 |
} |
454 |
} |
| 455 |
- |
|
|