@@ -, +, @@ --- .../prog/en/modules/serials/subscription-add.tt | 4 ++-- serials/subscription-add.pl | 18 +++++++++++++++--- 2 files changed, 17 insertions(+), 5 deletions(-) --- a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-add.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-add.tt @@ -436,9 +436,9 @@ fieldset.rows li.radio { width: 100%; } /* override staff-global.css */ - [% IF additional_fields_for_subscription %] + [% IF additional_fields %]
- [% INCLUDE 'additional-fields-entry.inc' available=additional_fields_for_subscription values=additional_fields %] + [% INCLUDE 'additional-fields-entry.inc' available=additional_fields values=additional_field_values %]
[% END %] --- a/serials/subscription-add.pl +++ a/serials/subscription-add.pl @@ -64,9 +64,9 @@ my $sub_on; my $subs; our $firstissuedate; -if ($op eq 'modify' || $op eq 'dup' || $op eq 'modsubscription') { +my $subscriptionid = $query->param('subscriptionid'); - my $subscriptionid = $query->param('subscriptionid'); +if ($op eq 'modify' || $op eq 'dup' || $op eq 'modsubscription') { $subs = GetSubscription($subscriptionid); ## FIXME : Check rights to edit if mod. Could/Should display an error message. @@ -134,7 +134,19 @@ $template->param( locations_loop=>$locations_loop, ); -$template->param( additional_fields_for_subscription => [ Koha::AdditionalFields->search( { tablename => 'subscription' } ) ] ); +my @additional_fields = Koha::AdditionalFields->search({ tablename => 'subscription' }); +my %additional_field_values; +if ($subscriptionid) { + my $subscription = Koha::Subscriptions->find($subscriptionid); + foreach my $value ($subscription->additional_field_values) { + $additional_field_values{$value->field_id} = $value->value; + } +} + +$template->param( + additional_fields => \@additional_fields, + additional_field_values => \%additional_field_values, +); my $typeloop = { map { $_->{itemtype} => $_ } @{ Koha::ItemTypes->search_with_localization->unblessed } }; --