Lines 100-106
sub enqueue {
Link Here
|
100 |
my $job_args = $params->{job_args}; |
100 |
my $job_args = $params->{job_args}; |
101 |
my $job_context = $params->{job_context} // C4::Context->userenv; |
101 |
my $job_context = $params->{job_context} // C4::Context->userenv; |
102 |
my $job_queue = $params->{job_queue} // 'default'; |
102 |
my $job_queue = $params->{job_queue} // 'default'; |
103 |
my $json = JSON->new; |
103 |
my $json = $self->json; |
104 |
|
104 |
|
105 |
my $borrowernumber = (C4::Context->userenv) ? C4::Context->userenv->{number} : undef; |
105 |
my $borrowernumber = (C4::Context->userenv) ? C4::Context->userenv->{number} : undef; |
106 |
$job_context->{interface} = C4::Context->interface; |
106 |
$job_context->{interface} = C4::Context->interface; |
Lines 167-173
sub process {
Link Here
|
167 |
$args ||= {}; |
167 |
$args ||= {}; |
168 |
|
168 |
|
169 |
if ( $self->context ) { |
169 |
if ( $self->context ) { |
170 |
my $context = JSON->new->decode($self->context); |
170 |
my $context = $self->json->decode($self->context); |
171 |
C4::Context->_new_userenv(-1); |
171 |
C4::Context->_new_userenv(-1); |
172 |
C4::Context->interface( $context->{interface} ); |
172 |
C4::Context->interface( $context->{interface} ); |
173 |
C4::Context->set_userenv( |
173 |
C4::Context->set_userenv( |
Lines 251-261
sub finish {
Link Here
|
251 |
return $self->set( |
251 |
return $self->set( |
252 |
{ |
252 |
{ |
253 |
ended_on => \'NOW()', |
253 |
ended_on => \'NOW()', |
254 |
data => JSON->new->encode($data), |
254 |
data => $self->json->encode($data), |
255 |
} |
255 |
} |
256 |
)->store; |
256 |
)->store; |
257 |
} |
257 |
} |
258 |
|
258 |
|
|
|
259 |
=head3 json |
260 |
|
261 |
my $JSON_object = $self->json; |
262 |
|
263 |
Returns a JSON object with utf8 disabled. Encoding to UTF-8 should be |
264 |
done later. |
265 |
|
266 |
=cut |
267 |
|
268 |
sub json { |
269 |
my ( $self ) = @_; |
270 |
$self->{_json} //= JSON->new->utf8(0); # TODO Should we allow_nonref ? |
271 |
return $self->{_json}; |
272 |
} |
273 |
|
259 |
=head3 decoded_data |
274 |
=head3 decoded_data |
260 |
|
275 |
|
261 |
my $job_data = $self->decoded_data; |
276 |
my $job_data = $self->decoded_data; |
Lines 267-273
Returns the decoded JSON contents from $self->data.
Link Here
|
267 |
sub decoded_data { |
282 |
sub decoded_data { |
268 |
my ($self) = @_; |
283 |
my ($self) = @_; |
269 |
|
284 |
|
270 |
return $self->data ? JSON->new->decode( $self->data ) : undef; |
285 |
return $self->data ? $self->json->decode( $self->data ) : undef; |
271 |
} |
286 |
} |
272 |
|
287 |
|
273 |
=head3 set_encoded_data |
288 |
=head3 set_encoded_data |
Lines 281-287
Serializes I<$data> as a JSON string and sets the I<data> attribute with it.
Link Here
|
281 |
sub set_encoded_data { |
296 |
sub set_encoded_data { |
282 |
my ( $self, $data ) = @_; |
297 |
my ( $self, $data ) = @_; |
283 |
|
298 |
|
284 |
return $self->data( $data ? JSON->new->encode($data) : undef ); |
299 |
return $self->data( $data ? $self->json->encode($data) : undef ); |
285 |
} |
300 |
} |
286 |
|
301 |
|
287 |
=head3 job_type |
302 |
=head3 job_type |
Lines 302-308
sub messages {
Link Here
|
302 |
my ( $self ) = @_; |
317 |
my ( $self ) = @_; |
303 |
|
318 |
|
304 |
my @messages; |
319 |
my @messages; |
305 |
my $data_dump = JSON->new->decode($self->data); |
320 |
my $data_dump = $self->json->decode($self->data); |
306 |
if ( exists $data_dump->{messages} ) { |
321 |
if ( exists $data_dump->{messages} ) { |
307 |
@messages = @{ $data_dump->{messages} }; |
322 |
@messages = @{ $data_dump->{messages} }; |
308 |
} |
323 |
} |
Lines 319-325
Report of the job.
Link Here
|
319 |
sub report { |
334 |
sub report { |
320 |
my ( $self ) = @_; |
335 |
my ( $self ) = @_; |
321 |
|
336 |
|
322 |
my $data_dump = JSON->new->decode($self->data); |
337 |
my $data_dump = $self->json->decode($self->data); |
323 |
return $data_dump->{report} || {}; |
338 |
return $data_dump->{report} || {}; |
324 |
} |
339 |
} |
325 |
|
340 |
|