View | Details | Raw Unified | Return to bug 35277
Collapse All | Expand All

(-)a/Koha/BackgroundJob.pm (+1 lines)
Lines 428-433 sub core_types_to_classes { Link Here
428
        stage_marc_for_import               => 'Koha::BackgroundJob::StageMARCForImport',
428
        stage_marc_for_import               => 'Koha::BackgroundJob::StageMARCForImport',
429
        marc_import_commit_batch            => 'Koha::BackgroundJob::MARCImportCommitBatch',
429
        marc_import_commit_batch            => 'Koha::BackgroundJob::MARCImportCommitBatch',
430
        marc_import_revert_batch            => 'Koha::BackgroundJob::MARCImportRevertBatch',
430
        marc_import_revert_batch            => 'Koha::BackgroundJob::MARCImportRevertBatch',
431
        pseudonymize_statistic              => 'Koha::BackgroundJob::PseudonymizeStatistic',
431
    };
432
    };
432
}
433
}
433
434
(-)a/Koha/BackgroundJob/PseudonymizeStatistic.pm (+82 lines)
Line 0 Link Here
1
package Koha::BackgroundJob::PseudonymizeStatistic;
2
3
# This file is part of Koha.
4
#
5
# Koha is free software; you can redistribute it and/or modify it
6
# under the terms of the GNU General Public License as published by
7
# the Free Software Foundation; either version 3 of the License, or
8
# (at your option) any later version.
9
#
10
# Koha is distributed in the hope that it will be useful, but
11
# WITHOUT ANY WARRANTY; without even the implied warranty of
12
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
# GNU General Public License for more details.
14
#
15
# You should have received a copy of the GNU General Public License
16
# along with Koha; if not, see <http://www.gnu.org/licenses>.
17
18
use Modern::Perl;
19
20
use Koha::PseudonymizedTransactions;
21
22
use base 'Koha::BackgroundJob';
23
24
=head1 NAME
25
26
Koha::BackgroundJob::BatchCancelHold - Batch cancel holds
27
28
This is a subclass of Koha::BackgroundJob.
29
30
=head1 API
31
32
=head2 Class methods
33
34
=head3 job_type
35
36
Define the job type of this job: batch_hold_cancel
37
38
=cut
39
40
sub job_type {
41
    return 'pseudonymize_statistic';
42
}
43
44
=head3 process
45
46
Process the modification.
47
48
=cut
49
50
sub process {
51
    my ( $self, $args ) = @_;
52
    $self->start;
53
    my $statistic   = $args->{statistic};
54
    my $stat_object = Koha::Statistic->new($statistic);
55
    Koha::PseudonymizedTransaction->new_from_statistic($stat_object)->store();
56
    $self->finish( { data => "" } );    # We want to clear the job data to avoid storing patron information
57
58
}
59
60
=head3 enqueue
61
62
Enqueue the new job
63
64
=cut
65
66
sub enqueue {
67
    my ( $self, $args ) = @_;
68
69
    my $statistic = $args->{statistic};
70
    Koha::Exceptions::MissingParameter->throw("Missing statistic parameter is mandatory")
71
        unless $statistic;
72
73
    $self->SUPER::enqueue(
74
        {
75
            job_size  => 1,                             # Only handling one at time
76
            job_args  => { statistic => $statistic },
77
            job_queue => 'default',
78
        }
79
    );
80
}
81
82
1;
(-)a/Koha/Statistic.pm (-2 / +2 lines)
Lines 23-29 use C4::Context; Link Here
23
use Koha::Database;
23
use Koha::Database;
24
use Koha::DateUtils qw/dt_from_string/;
24
use Koha::DateUtils qw/dt_from_string/;
25
use Koha::Items;
25
use Koha::Items;
26
use Koha::PseudonymizedTransaction;
26
use Koha::BackgroundJob::PseudonymizeStatistic;
27
27
28
use base qw(Koha::Object);
28
use base qw(Koha::Object);
29
29
Lines 121-127 sub new { Link Here
121
sub store {
121
sub store {
122
    my ($self) = @_;
122
    my ($self) = @_;
123
    $self->SUPER::store;
123
    $self->SUPER::store;
124
    Koha::PseudonymizedTransaction->new_from_statistic($self)->store
124
    Koha::BackgroundJob::PseudonymizeStatistic->new->enqueue( { statistic => $self->unblessed } )
125
        if C4::Context->preference('Pseudonymization')
125
        if C4::Context->preference('Pseudonymization')
126
        && $self->borrowernumber    # Not a real transaction if the patron does not exist
126
        && $self->borrowernumber    # Not a real transaction if the patron does not exist
127
                                    # For instance can be a transfer, or hold trigger
127
                                    # For instance can be a transfer, or hold trigger
(-)a/koha-tmpl/intranet-tmpl/prog/en/includes/background_jobs/pseudonymize_statistic.inc (+25 lines)
Line 0 Link Here
1
[% USE KohaSpan %]
2
[% BLOCK report %]
3
    [% IF job.status == 'finished' %]
4
        <div class="dialog message">
5
            Statistic has been Pseudonymized.
6
        </div>
7
    [% ELSIF job.status == 'cancelled' %]
8
        <div class="dialog message">
9
            Pseudonymization has been cancelled.
10
        </div>
11
    [% ELSE %]
12
        <div class="dialog message">
13
            Pseudonymization is pending.
14
        </div>
15
    [% END %]
16
[% END %]
17
18
[% BLOCK detail %]
19
    <div class="dialog message">
20
        Pseudonymization.
21
    </div>
22
[% END %]
23
24
[% BLOCK js %]
25
[% END %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/background_jobs.tt (-1 / +4 lines)
Lines 209-214 Link Here
209
                '_id': 'batch_hold_cancel',
209
                '_id': 'batch_hold_cancel',
210
                '_str': _("Batch hold cancellation")
210
                '_str': _("Batch hold cancellation")
211
            },
211
            },
212
            {
213
                '_id': 'pseudonymize_statistic',
214
                '_str': _("Pseudonymize statistic")
215
            },
212
            {
216
            {
213
                '_id': 'create_eholdings_from_biblios',
217
                '_id': 'create_eholdings_from_biblios',
214
                '_str': _("Create eHolding titles")
218
                '_str': _("Create eHolding titles")
215
- 

Return to bug 35277