@@ -, +, @@
-- Subscription Claims --
---
C4/Serials.pm | 2 ++
.../prog/en/includes/serials-advsearch.inc | 2 +-
.../prog/en/modules/serials/claims.tt | 8 +----
.../prog/en/modules/serials/serials-search.tt | 8 +----
.../en/modules/serials/subscription-add.tt | 1 +
serials/claims.pl | 3 ++
serials/subscription-add.pl | 36 +++++++++----------
serials/subscription-detail.pl | 2 +-
8 files changed, 27 insertions(+), 35 deletions(-)
--- a/C4/Serials.pm
+++ a/C4/Serials.pm
@@ -640,6 +640,8 @@ sub SearchSubscriptions {
$subscription->{additional_fields} = { map { $_->field->name => $_->value }
$subscription_object->additional_field_values->as_list };
+ #FIXME: The above $subscription->{additional_fields} may be redundant. Remove if so.
+ $subscription->{additional_field_values} = $subscription_object->get_additional_field_values_for_template;
}
return wantarray ? @{$results} : { results => $results, total => $total_results };
--- a/koha-tmpl/intranet-tmpl/prog/en/includes/serials-advsearch.inc
+++ a/koha-tmpl/intranet-tmpl/prog/en/includes/serials-advsearch.inc
@@ -50,7 +50,7 @@
- [% INCLUDE 'additional-fields-entry.inc' available=additional_fields_for_subscription values=additional_field_filters wrap_fieldset=0 %]
+ [% INCLUDE 'additional-fields-entry.inc' available=additional_fields_for_subscription values=additional_field_filters wrap_fieldset=0 search_form=1 %]
[% IF ( mana ) %]
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/claims.tt
+++ a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/claims.tt
@@ -167,13 +167,7 @@
[% missingissue.claimdate | $KohaDates %]
|
- [% FOR field IN additional_fields_for_subscription %]
- [% IF field.authorised_value_category %]
- [% AuthorisedValues.GetByCode( field.authorised_value_category, missingissue.additional_fields.${field.name} ) | html %] |
- [% ELSE %]
- [% missingissue.additional_fields.${field.name} | html %] |
- [% END %]
- [% END %]
+ [% INCLUDE 'additional-fields-display.inc' available=additional_fields_for_subscription values=missingissue.additional_field_values value_only=1 is_table_cell=1 %]
[% END # /FOREACH missingissue %]
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-search.tt
+++ a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-search.tt
@@ -122,13 +122,7 @@
[% END %]
- [% FOR field IN additional_fields_for_subscription %]
- [% IF field.authorised_value_category %]
- [% AuthorisedValues.GetByCode( field.authorised_value_category, subscription.additional_fields.${field.name} ) | html %] |
- [% ELSE %]
- [% subscription.additional_fields.${field.name} | html %] |
- [% END %]
- [% END %]
+ [% INCLUDE 'additional-fields-display.inc' available=additional_fields_for_subscription values=subscription.additional_field_values value_only=1 is_table_cell=1 %]
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-add.tt
+++ a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-add.tt
@@ -594,6 +594,7 @@ fieldset.rows table { clear: none; margin: 0; }
[% Asset.js("js/subscription-add.js") | $raw %]
[% Asset.js("js/showpredictionpattern.js") | $raw %]
+ [% Asset.js("js/additional-fields-entry.js") | $raw %]
[% END %]
[% INCLUDE 'intranet-bottom.inc' %]
--- a/serials/claims.pl
+++ a/serials/claims.pl
@@ -86,6 +86,9 @@ if ($supplierid) {
foreach my $issue (@missingissues) {
$issue->{cannot_claim} = 1
unless C4::Serials::can_claim_subscription($issue);
+
+ $issue->{additional_field_values} =
+ Koha::Subscriptions->find( $issue->{subscriptionid} )->get_additional_field_values_for_template;
}
$template->param( suppliername => $supplier->name );
}
--- a/serials/subscription-add.pl
+++ a/serials/subscription-add.pl
@@ -132,17 +132,11 @@ $template->param(
);
my @additional_fields = Koha::AdditionalFields->search({ tablename => 'subscription' })->as_list;
-my %additional_field_values;
-if ($subscriptionid) {
- my $subscription = Koha::Subscriptions->find($subscriptionid);
- foreach my $value ($subscription->additional_field_values->as_list) {
- $additional_field_values{$value->field_id} = $value->value;
- }
-}
+my @additional_field_values = Koha::Subscriptions->find($subscriptionid)->get_additional_field_values_for_template if $subscriptionid;
$template->param(
- additional_fields => \@additional_fields,
- additional_field_values => \%additional_field_values,
+ additional_fields => \@additional_fields,
+ additional_field_values => @additional_field_values,
);
my $typeloop = { map { $_->{itemtype} => $_ } @{ Koha::ItemTypes->search_with_localization->unblessed } };
@@ -368,11 +362,13 @@ sub redirect_add_subscription {
my $biblio = Koha::Biblios->find($biblionumber);
my $subscription_fields = Koha::AdditionalFields->search({ tablename => 'subscription' });
while ( my $field = $subscription_fields->next ) {
- my $value = $query->param('additional_field_' . $field->id);
- push @additional_fields, {
- id => $field->id,
- value => $value,
- };
+ my @field_values = $query->param( 'additional_field_' . $field->id );
+ foreach my $value (@field_values) {
+ push @additional_fields, {
+ id => $field->id,
+ value => $value,
+ } if $value;
+ }
}
Koha::Subscriptions->find($subscriptionid)->set_additional_fields(\@additional_fields);
@@ -482,11 +478,13 @@ sub redirect_mod_subscription {
my $biblio = Koha::Biblios->find($biblionumber);
my $subscription_fields = Koha::AdditionalFields->search({ tablename => 'subscription' });
while ( my $field = $subscription_fields->next ) {
- my $value = $query->param('additional_field_' . $field->id);
- push @additional_fields, {
- id => $field->id,
- value => $value,
- };
+ my @field_values = $query->param( 'additional_field_' . $field->id );
+ foreach my $value (@field_values) {
+ push @additional_fields, {
+ id => $field->id,
+ value => $value,
+ } if $value;
+ }
}
Koha::Subscriptions->find($subscriptionid)->set_additional_fields(\@additional_fields);
--- a/serials/subscription-detail.pl
+++ a/serials/subscription-detail.pl
@@ -127,7 +127,7 @@ my $numberpattern = C4::Serials::Numberpattern::GetSubscriptionNumberpattern($su
$template->param(
available_additional_fields => Koha::AdditionalFields->search( { tablename => 'subscription' } ),
- additional_field_values => { map { $_->field->name => $_->value } $subscription->additional_field_values->as_list },
+ additional_field_values => $subscription->get_additional_field_values_for_template,
);
# FIXME Do we want to hide canceled orders?
--
|