X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=serials%2Fsubscription-batchedit.pl;h=b06f68d6c359d3146c089bca6efc75ddfd20caf3;hb=d7363cd52335153b80f4092fa929c16d4cdc5101;hp=f0f56906e042ed9577ff052cb8971fe2788ab422;hpb=f0373fbdec152c9d766eb82d6af667d1da5cf042;p=srvgit diff --git a/serials/subscription-batchedit.pl b/serials/subscription-batchedit.pl index f0f56906e0..b06f68d6c3 100755 --- a/serials/subscription-batchedit.pl +++ b/serials/subscription-batchedit.pl @@ -26,16 +26,15 @@ use C4::Output; use C4::Serials; use Koha::Subscriptions; use Koha::Acquisition::Booksellers; -use Koha::AdditionalField; +use Koha::AdditionalFields; use Koha::DateUtils; -my $cgi = new CGI; +my $cgi = CGI->new; my ($template, $loggedinuser, $cookie) = get_template_and_user({ template_name => 'serials/subscription-batchedit.tt', query => $cgi, type => 'intranet', - authnotrequired => 0, flagsrequired => {serials => 'edit_subscription'}, }); @@ -48,7 +47,7 @@ foreach my $subscriptionid (@subscriptionids) { push @subscriptions, $subscription if $subscription; } -my $additional_fields = Koha::AdditionalField->all({tablename => 'subscription'}); +my @additional_fields = Koha::AdditionalFields->search({tablename => 'subscription'}); my $batchedit = $cgi->param('batchedit'); if ($batchedit) { @@ -64,9 +63,9 @@ if ($batchedit) { ); my $field_values = {}; - foreach my $field (@$additional_fields) { - my $value = $cgi->param('field_' . $field->{id}); - $field_values->{$field->{id}} = $value; + foreach my $field (@additional_fields) { + my $value = $cgi->param('field_' . $field->id); + $field_values->{$field->id} = $value; } foreach my $subscription (@subscriptions) { @@ -77,23 +76,21 @@ if ($batchedit) { } } - foreach my $field (@$additional_fields) { - my $value = $field_values->{$field->{id}}; + my @additional_field_values; + foreach my $field (@additional_fields) { + my $value = $field_values->{$field->id}; if (defined $value and $value ne '') { - $field->{values} //= {}; - $field->{values}->{$subscription->subscriptionid} = $value; + push @additional_field_values, { + id => $field->id, + value => $value, + }; } } + $subscription->set_additional_fields(\@additional_field_values); $subscription->store; } - foreach my $field (@$additional_fields) { - if (defined $field->{values}) { - $field->insert_values(); - } - } - my $redirect_url = $cgi->param('referrer') // '/cgi-bin/koha/serials/serials-home.pl'; print $cgi->redirect($redirect_url); exit; @@ -102,7 +99,7 @@ if ($batchedit) { $template->param( subscriptions => \@subscriptions, booksellers => [ Koha::Acquisition::Booksellers->search() ], - additional_fields => $additional_fields, + additional_fields => \@additional_fields, referrer => scalar $cgi->param('referrer'), );