Lines 21-28
use Modern::Perl;
Link Here
|
21 |
|
21 |
|
22 |
use CGI qw( -utf8 ); |
22 |
use CGI qw( -utf8 ); |
23 |
|
23 |
|
24 |
use C4::Auth qw( get_template_and_user ); |
24 |
use C4::Auth qw( get_template_and_user ); |
25 |
use C4::Output qw( output_html_with_http_headers ); |
25 |
use C4::Output qw( output_html_with_http_headers ); |
26 |
use C4::Serials qw( can_edit_subscription ); |
26 |
use C4::Serials qw( can_edit_subscription ); |
27 |
use Koha::Subscriptions; |
27 |
use Koha::Subscriptions; |
28 |
use Koha::Acquisition::Booksellers; |
28 |
use Koha::Acquisition::Booksellers; |
Lines 31-42
use Koha::DateUtils qw( dt_from_string );
Link Here
|
31 |
|
31 |
|
32 |
my $cgi = CGI->new; |
32 |
my $cgi = CGI->new; |
33 |
|
33 |
|
34 |
my ($template, $loggedinuser, $cookie) = get_template_and_user({ |
34 |
my ( $template, $loggedinuser, $cookie ) = get_template_and_user( |
35 |
template_name => 'serials/subscription-batchedit.tt', |
35 |
{ |
36 |
query => $cgi, |
36 |
template_name => 'serials/subscription-batchedit.tt', |
37 |
type => 'intranet', |
37 |
query => $cgi, |
38 |
flagsrequired => {serials => 'edit_subscription'}, |
38 |
type => 'intranet', |
39 |
}); |
39 |
flagsrequired => { serials => 'edit_subscription' }, |
|
|
40 |
} |
41 |
); |
40 |
|
42 |
|
41 |
my @subscriptionids = $cgi->multi_param('subscriptionid'); |
43 |
my @subscriptionids = $cgi->multi_param('subscriptionid'); |
42 |
|
44 |
|
Lines 47-92
foreach my $subscriptionid (@subscriptionids) {
Link Here
|
47 |
push @subscriptions, $subscription if $subscription; |
49 |
push @subscriptions, $subscription if $subscription; |
48 |
} |
50 |
} |
49 |
|
51 |
|
50 |
my @available_additional_fields = Koha::AdditionalFields->search({tablename => 'subscription'})->as_list; |
52 |
my @available_additional_fields = Koha::AdditionalFields->search( { tablename => 'subscription' } )->as_list; |
51 |
|
53 |
|
52 |
my $batchedit = $cgi->param('batchedit'); |
54 |
my $batchedit = $cgi->param('batchedit'); |
53 |
if ($batchedit) { |
55 |
if ($batchedit) { |
54 |
my %params = ( |
56 |
my %params = ( |
55 |
aqbooksellerid => scalar $cgi->param('booksellerid'), |
57 |
aqbooksellerid => scalar $cgi->param('booksellerid'), |
56 |
location => scalar $cgi->param('location'), |
58 |
location => scalar $cgi->param('location'), |
57 |
branchcode => scalar $cgi->param('branchcode'), |
59 |
branchcode => scalar $cgi->param('branchcode'), |
58 |
itemtype => scalar $cgi->param('itemtype'), |
60 |
itemtype => scalar $cgi->param('itemtype'), |
59 |
notes => scalar $cgi->param('notes'), |
61 |
notes => scalar $cgi->param('notes'), |
60 |
internalnotes => scalar $cgi->param('internalnotes'), |
62 |
internalnotes => scalar $cgi->param('internalnotes'), |
61 |
serialsadditems => scalar $cgi->param('serialsadditems'), |
63 |
serialsadditems => scalar $cgi->param('serialsadditems'), |
62 |
enddate => dt_from_string(scalar $cgi->param('enddate')), |
64 |
enddate => dt_from_string( scalar $cgi->param('enddate') ), |
63 |
); |
65 |
); |
64 |
|
66 |
|
65 |
my $field_values = {}; |
67 |
my $field_values = {}; |
66 |
foreach my $field (@available_additional_fields) { |
68 |
foreach my $field (@available_additional_fields) { |
67 |
my $value = $cgi->param('field_' . $field->id); |
69 |
my $value = $cgi->param( 'field_' . $field->id ); |
68 |
$field_values->{$field->id} = $value; |
70 |
$field_values->{ $field->id } = $value; |
69 |
} |
71 |
} |
70 |
|
72 |
|
71 |
foreach my $subscription (@subscriptions) { |
73 |
foreach my $subscription (@subscriptions) { |
72 |
next unless C4::Serials::can_edit_subscription( $subscription->unblessed ); # This should be moved to Koha::Subscription->can_edit |
74 |
next |
73 |
while (my ($key, $value) = each %params) { |
75 |
unless C4::Serials::can_edit_subscription( $subscription->unblessed ) |
74 |
if (defined $value and $value ne '') { |
76 |
; # This should be moved to Koha::Subscription->can_edit |
|
|
77 |
while ( my ( $key, $value ) = each %params ) { |
78 |
if ( defined $value and $value ne '' ) { |
75 |
$subscription->$key($value); |
79 |
$subscription->$key($value); |
76 |
} |
80 |
} |
77 |
} |
81 |
} |
78 |
|
82 |
|
79 |
my @additional_field_values; |
83 |
my @additional_field_values; |
80 |
foreach my $field (@available_additional_fields) { |
84 |
foreach my $field (@available_additional_fields) { |
81 |
my $value = $field_values->{$field->id}; |
85 |
my $value = $field_values->{ $field->id }; |
82 |
if (defined $value and $value ne '') { |
86 |
if ( defined $value and $value ne '' ) { |
83 |
push @additional_field_values, { |
87 |
push @additional_field_values, { |
84 |
id => $field->id, |
88 |
id => $field->id, |
85 |
value => $value, |
89 |
value => $value, |
86 |
}; |
90 |
}; |
87 |
}else{ |
91 |
} else { |
88 |
my $existing = $subscription->additional_field_values->search( { field_id => $field->id } )->last; |
92 |
my $existing = $subscription->additional_field_values->search( { field_id => $field->id } )->last; |
89 |
if($existing && $existing->value){ |
93 |
if ( $existing && $existing->value ) { |
90 |
push @additional_field_values, { |
94 |
push @additional_field_values, { |
91 |
id => $field->id, |
95 |
id => $field->id, |
92 |
value => $existing->value, |
96 |
value => $existing->value, |
Lines 94-100
if ($batchedit) {
Link Here
|
94 |
} |
98 |
} |
95 |
} |
99 |
} |
96 |
} |
100 |
} |
97 |
$subscription->set_additional_fields(\@additional_field_values); |
101 |
$subscription->set_additional_fields( \@additional_field_values ); |
98 |
|
102 |
|
99 |
$subscription->store; |
103 |
$subscription->store; |
100 |
} |
104 |
} |
Lines 105-114
if ($batchedit) {
Link Here
|
105 |
} |
109 |
} |
106 |
|
110 |
|
107 |
$template->param( |
111 |
$template->param( |
108 |
subscriptions => \@subscriptions, |
112 |
subscriptions => \@subscriptions, |
109 |
booksellers => [ Koha::Acquisition::Booksellers->search->as_list ], |
113 |
booksellers => [ Koha::Acquisition::Booksellers->search->as_list ], |
110 |
additional_fields => \@available_additional_fields, |
114 |
additional_fields => \@available_additional_fields, |
111 |
referrer => scalar $cgi->param('referrer'), |
115 |
referrer => scalar $cgi->param('referrer'), |
112 |
); |
116 |
); |
113 |
|
117 |
|
114 |
output_html_with_http_headers $cgi, $cookie, $template->output; |
118 |
output_html_with_http_headers $cgi, $cookie, $template->output; |
115 |
- |
|
|