From 6a70ac7134125e64b5280d0b6a7f03cdaab0c6e0 Mon Sep 17 00:00:00 2001
From: Julian Maurice <julian.maurice@biblibre.com>
Date: Wed, 16 May 2018 09:30:42 +0200
Subject: [PATCH] Bug 15774: Show additional field values in edit form
---
acqui/basketheader.pl | 2 +-
.../prog/en/modules/serials/subscription-add.tt | 4 ++--
serials/subscription-add.pl | 18 +++++++++++++++---
3 files changed, 18 insertions(+), 6 deletions(-)
diff --git a/acqui/basketheader.pl b/acqui/basketheader.pl
index da2129f..7b5b160 100755
--- a/acqui/basketheader.pl
+++ b/acqui/basketheader.pl
@@ -100,7 +100,7 @@ if ( $op eq 'add_form' ) {
$template->param( is_an_edit => 1);
$template->param(
additional_field_values => { map {
- $_->field->name => $_->value
+ $_->field->id => $_->value
} Koha::Acquisition::Baskets->find($basketno)->additional_field_values },
);
} else {
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-add.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-add.tt
index 267a98c..10c6311 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-add.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-add.tt
@@ -437,9 +437,9 @@ fieldset.rows li.radio { width: 100%; } /* override staff-global.css */
</ol>
</fieldset>
- [% IF additional_fields_for_subscription %]
+ [% IF additional_fields %]
<div id="subscription_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 %]
</div>
[% END %]
diff --git a/serials/subscription-add.pl b/serials/subscription-add.pl
index 1c10528..196c789 100755
--- a/serials/subscription-add.pl
+++ b/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 } };
--
2.1.4