$subscription->{cannotedit} = not can_edit_subscription( $subscription );
- # Add additional fields to the subscription into a new key "additional_fields"
- my %additional_field_values = map {
- $_->field->name => $_->value
- } Koha::Subscriptions->find($subscriptionid)->additional_field_values;
- $subscription->{additional_fields} = \%additional_field_values;
-
if ( my $mana_id = $subscription->{mana_id} ) {
my $mana_subscription = Koha::SharedContent::get_entity_by_id(
'subscription', $mana_id, {usecomments => 1});
my $additional_fields = $args->{additional_fields} // [];
my $matching_record_ids_for_additional_fields = [];
if ( @$additional_fields ) {
- my @subscriptions = Koha::Subscriptions->search_additional_fields($additional_fields);
+ my @subscriptions = Koha::Subscriptions->filter_by_additional_fields($additional_fields);
return () unless @subscriptions;
$subscription->{cannotedit} = not can_edit_subscription( $subscription );
$subscription->{cannotdisplay} = not can_show_subscription( $subscription );
- my %additional_field_values = map {
- $_->field->name => $_->value
- } Koha::Subscriptions->find($subscription->{subscriptionid})->additional_field_values;
- $subscription->{additional_fields} = \%additional_field_values;
+ my $subscription_object = Koha::Subscriptions->find($subscription->{subscriptionid});
+ $subscription->{additional_fields} = { map { $_->field->name => $_->value }
+ $subscription_object->additional_field_values->as_list };
+
}
return @$results;
$biblionumber, $callnumber, $notes, $letter, $manualhistory,
$internalnotes, $serialsadditems, $staffdisplaycount, $opacdisplaycount,
$graceperiod, $location, $enddate, $subscriptionid, $skip_serialseq,
- $itemtype, $previousitemtype
+ $itemtype, $previousitemtype, $mana_id
) = @_;
my $dbh = C4::Context->dbh;
callnumber=?, notes=?, letter=?, manualhistory=?,
internalnotes=?, serialsadditems=?, staffdisplaycount=?,
opacdisplaycount=?, graceperiod=?, location = ?, enddate=?,
- skip_serialseq=?, itemtype=?, previousitemtype=?
+ skip_serialseq=?, itemtype=?, previousitemtype=?, mana_id=?
WHERE subscriptionid = ?";
my $sth = $dbh->prepare($query);
$letter, ($manualhistory ? $manualhistory : 0),
$internalnotes, $serialsadditems, $staffdisplaycount, $opacdisplaycount,
$graceperiod, $location, $enddate, $skip_serialseq,
- $itemtype, $previousitemtype,
+ $itemtype, $previousitemtype, $mana_id,
$subscriptionid
);
my $rows = $sth->rows;
}
$line->{"status".$line->{status}} = 1;
- my $subscription = Koha::Subscriptions->find($line->{subscriptionid});
- my %additional_field_values = map {
- $_->field->name => $_->value
- } $subscription->additional_field_values;
- %$line = ( %$line, additional_fields => \%additional_field_values );
+ my $subscription_object = Koha::Subscriptions->find($line->{subscriptionid});
+ $line->{additional_fields} = { map { $_->field->name => $_->value }
+ $subscription_object->additional_field_values->as_list };
push @issuelist, $line;
}