Bug 15774: Use the include file to display the subscription's additional fields
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Thu, 1 Nov 2018 20:41:37 +0000 (17:41 -0300)
committerNick Clemens <nick@bywatersolutions.com>
Thu, 7 Mar 2019 20:37:06 +0000 (20:37 +0000)
We have it, why not to use it?

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>

koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-detail.tt
serials/subscription-detail.pl

index e469da6..0c07bf8 100644 (file)
      </div>
      </div>
 
-    [% IF additional_fields_for_subscription %]
+    [% IF available_additional_fields %]
     <hr>
     <div class="row">
       <div class="col-sm-6">
         <h3>Additional fields:</h3>
         <div class="rows">
           <ol>
-            [% FOR field IN additional_fields_for_subscription %]
-              <li>
-                <span class="label">[% field.name | html %]:</span>
-                [% IF field.authorised_value_category %]
-                  [% AuthorisedValues.GetByCode( field.authorised_value_category, additional_fields.${field.name} ) | html %]
-                [% ELSE %]
-                  [% additional_fields.${field.name} | html %]
-                [% END %]
-              </li>
-            [% END %]
+            [% INCLUDE 'additional-fields-display.inc' available=available_additional_fields values=additional_field_values %]
           </ol>
         </div>
       </div>
index c023c74..b7137bd 100755 (executable)
@@ -30,6 +30,7 @@ use Koha::AdditionalFields;
 use Koha::AuthorisedValues;
 use Koha::DateUtils;
 use Koha::Acquisition::Bookseller;
+use Koha::Subscriptions;
 
 use Date::Calc qw/Today Day_of_Year Week_of_Year Add_Delta_Days/;
 use Carp;
@@ -129,8 +130,14 @@ my $numberpattern = C4::Serials::Numberpattern::GetSubscriptionNumberpattern($su
 
 my $default_bib_view = get_default_view();
 
-my $additional_fields = Koha::AdditionalFields->search( { tablename => 'subscription' } );
-$template->param( additional_fields_for_subscription => $additional_fields );
+my $subscription_object = Koha::Subscriptions->find( $subscriptionid );
+$template->param(
+    available_additional_fields => [ Koha::AdditionalFields->search( { tablename => 'subscription' } ) ],
+    additional_field_values => {
+        map { $_->field->name => $_->value }
+          $subscription_object->additional_field_values->as_list
+    },
+);
 
 # FIXME Do we want to hide canceled orders?
 my $orders = Koha::Acquisition::Orders->search( { subscriptionid => $subscriptionid }, { order_by => [ { -desc => 'timestamp' }, \[ "field(orderstatus, 'ordered', 'partial', 'complete')" ] ] } );