@@ -, +, @@
---
.../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 } };
--