Bug 22417: Add missing POD and html filters

Also remove "authnotrequired => 0,"

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
This commit is contained in:
Jonathan Druart 2020-08-31 13:08:53 +02:00
parent 991456b092
commit 504e0a2e6a
6 changed files with 210 additions and 5 deletions

View File

@ -1,5 +1,20 @@
package Koha::BackgroundJob;
# This file is part of Koha.
#
# Koha is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# Koha is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Koha; if not, see <http://www.gnu.org/licenses>.
use Modern::Perl;
use JSON qw( encode_json decode_json );
use Carp qw( croak );
@ -13,6 +28,37 @@ use Koha::BackgroundJob::BatchUpdateAuthority;
use base qw( Koha::Object );
=head1 NAME
Koha::BackgroundJob - Koha BackgroundJob Object class
This is a base class for BackgroundJob, some methods must be subclassed.
Example of usage:
Producer:
my $job_id = Koha::BackgroundJob->enqueue(
{
job_type => $job_type,
job_size => $job_size,
job_args => $job_args
}
);
Consumer:
Koha::BackgrounJobs->find($job_id)->process;
See also C<misc/background_jobs_worker.pl> for a full example
=head1 API
=head2 Class methods
=head3 connect
Connect to the message broker using default guest/guest credential
=cut
sub connect {
my ( $self );
my $stomp = Net::Stomp->new( { hostname => 'localhost', port => '61613' } );
@ -20,6 +66,17 @@ sub connect {
return $stomp;
}
=head3 enqueue
Enqueue a new job. It will insert a new row in the DB table and notify the broker that a new job has been enqueued.
C<job_size> is the size of the job
C<job_args> is the arguments of the job. It's a structure that will be JSON encoded.
Return the job_id of the newly created job.
=cut
sub enqueue {
my ( $self, $params ) = @_;
@ -61,6 +118,12 @@ sub enqueue {
return $job_id;
}
=head3 process
Process the job!
=cut
sub process {
my ( $self, $args ) = @_;
@ -72,8 +135,20 @@ sub process {
: Koha::Exceptions::Exception->throw('->process called without valid job_type');
}
=head3 job_type
Return the job type of the job. Must be a string.
=cut
sub job_type { croak "This method must be subclassed" }
=head3 messages
Messages let during the processing of the job.
=cut
sub messages {
my ( $self ) = @_;
@ -86,6 +161,12 @@ sub messages {
return @messages;
}
=head3 report
Report of the job.
=cut
sub report {
my ( $self ) = @_;
@ -93,6 +174,12 @@ sub report {
return $data_dump->{report};
}
=head3 cancel
Cancel a job.
=cut
sub cancel {
my ( $self ) = @_;
$self->status('cancelled')->store;

View File

@ -1,5 +1,20 @@
package Koha::BackgroundJob::BatchUpdateAuthority;
# This file is part of Koha.
#
# Koha is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# Koha is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Koha; if not, see <http://www.gnu.org/licenses>.
use Modern::Perl;
use JSON qw( encode_json decode_json );
@ -11,10 +26,32 @@ use Koha::MetadataRecord::Authority;
use base 'Koha::BackgroundJob';
=head1 NAME
Koha::BackgroundJob::BatchUpdateAuthority - Batch update authorities
This is a subclass of Koha::BackgroundJob.
=head1 API
=head2 Class methods
=head3 job_type
Define the job type of this job: batch_authority_record_modification
=cut
sub job_type {
return 'batch_authority_record_modification';
}
=head3 process
Process the modification.
=cut
sub process {
my ( $self, $args ) = @_;
@ -79,6 +116,12 @@ sub process {
}
=head3 enqueue
Enqueue the new job
=cut
sub enqueue {
my ( $self, $args) = @_;

View File

@ -1,5 +1,20 @@
package Koha::BackgroundJob::BatchUpdateBiblio;
# This file is part of Koha.
#
# Koha is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# Koha is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Koha; if not, see <http://www.gnu.org/licenses>.
use Modern::Perl;
use JSON qw( encode_json decode_json );
@ -10,10 +25,32 @@ use C4::MarcModificationTemplates;
use base 'Koha::BackgroundJob';
=head1 NAME
Koha::BackgroundJob::BatchUpdateBiblio - Batch update bibliographic records
This is a subclass of Koha::BackgroundJob.
=head1 API
=head2 Class methods
=head3 job_type
Define the job type of this job: batch_biblio_record_modification
=cut
sub job_type {
return 'batch_biblio_record_modification';
}
=head3 process
Process the modification.
=cut
sub process {
my ( $self, $args ) = @_;
@ -85,6 +122,12 @@ sub process {
$job->store;
}
=head3 enqueue
Enqueue the new job
=cut
sub enqueue {
my ( $self, $args) = @_;

View File

@ -1,13 +1,46 @@
package Koha::BackgroundJobs;
# This file is part of Koha.
#
# Koha is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# Koha is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Koha; if not, see <http://www.gnu.org/licenses>.
use Modern::Perl;
use base qw(Koha::Objects);
use Koha::BackgroundJob;
=head1 NAME
Koha::BackgroundJobs - Koha BackgroundJob Object set class
=head1 API
=head2 Class Methods
=cut
=head3 _type
=cut
sub _type {
return 'BackgroundJob';
}
=head3 object_class
=cut
sub object_class {
return 'Koha::BackgroundJob';
}

View File

@ -39,7 +39,6 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
template_name => "admin/background_jobs.tt",
query => $input,
type => "intranet",
authnotrequired => 0,
flagsrequired => $flags_required,
debug => 1,
}

View File

@ -24,7 +24,7 @@
<div class="dialog message">
[% SWITCH m.code %]
[% CASE 'cannot_retrieve_jobs' %]
<div><i class="fa fa-exclamation error"></i>Cannot retrieve pending jobs ([% m.error %])</div>
<div><i class="fa fa-exclamation error"></i>Cannot retrieve pending jobs ([% m.error | html %])</div>
[% CASE 'cannot_view_job' %]
<div><i class="fa fa-exclamation error"></i>Insufficient permission to see this job.</div>
[% CASE %]
@ -104,7 +104,7 @@
[% END %]
[% SWITCH m.code %]
[% CASE 'biblio_not_modified' %]
Bibliographic record <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% m.biblionumber | uri %]">[% m.biblionumber | html %]</a> has not been modified. An error occurred on modifying it.[% IF m.error %] ([% m.error %])[% END %].
Bibliographic record <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% m.biblionumber | uri %]">[% m.biblionumber | html %]</a> has not been modified. An error occurred on modifying it.[% IF m.error %] ([% m.error | html %])[% END %].
[% CASE 'biblio_modified' %]
Bibliographic record <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% m.biblionumber | uri %]">[% m.biblionumber | html %]</a> has successfully been modified.
[% END %]
@ -122,7 +122,7 @@
[% END %]
[% SWITCH m.code %]
[% CASE 'authority_not_modified' %]
Authority record <a href="/cgi-bin/koha/authorities/detail.pl?authid=[% m.authid | uri %]">[% m.authid | html %]</a> has not been modified. An error occurred on modifying it[% IF m.error %] ([% m.error %])[% END %].
Authority record <a href="/cgi-bin/koha/authorities/detail.pl?authid=[% m.authid | uri %]">[% m.authid | html %]</a> has not been modified. An error occurred on modifying it[% IF m.error %] ([% m.error | html %])[% END %].
[% CASE 'authority_modified' %]
Authority record <a href="/cgi-bin/koha/authorities/detail.pl?authid=[% m.authid | uri %]">[% m.authid | html %]</a> has successfully been modified..
[% END %]
@ -146,7 +146,7 @@
<div class="dialog message">
<i class="fa fa-info"></i>
[% IF pending_jobs.size > 0 %]
There is [% pending_jobs.size %] pending jobs on the server: [% pending_jobs.join(', ') %].
There is [% pending_jobs.size | html %] pending jobs on the server: [% pending_jobs.join(', ') | html %].
[% ELSE %]
There is no pending jobs on the server.
[% END %]