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

(-)a/Koha/BackgroundJob/BatchUpdateBiblioHoldsQueue.pm (-14 / +9 lines)
Lines 20-25 use Modern::Perl; Link Here
20
use JSON qw( encode_json decode_json );
20
use JSON qw( encode_json decode_json );
21
use Try::Tiny;
21
use Try::Tiny;
22
22
23
use Koha::Biblios;
23
use Koha::Exceptions;
24
use Koha::Exceptions;
24
25
25
use C4::HoldsQueue
26
use C4::HoldsQueue
Lines 59-70 sub process { Link Here
59
60
60
    my $schema = Koha::Database->new->schema;
61
    my $schema = Koha::Database->new->schema;
61
62
62
    my $job_progress = 0;
63
64
    $self->set(
63
    $self->set(
65
        {
64
        {
66
            started_on => \'NOW()',
65
            started_on => \'NOW()',
67
            progress   => $job_progress,
66
            progress   => 0,
68
            status     => 'started',
67
            status     => 'started',
69
        }
68
        }
70
    )->store;
69
    )->store;
Lines 100-125 sub process { Link Here
100
                type           => 'success',
99
                type           => 'success',
101
                code           => 'holds_queue_updated',
100
                code           => 'holds_queue_updated',
102
                biblio_id      => $biblio_id,
101
                biblio_id      => $biblio_id,
103
                available_items => $result->{available_items},
104
                mapped_items   => $result->{mapped_items},
105
                requests       => $result->{requests},
106
              };
102
              };
107
            $report->{total_success}++;
103
            $report->{total_success}++;
108
104
109
            $schema->storage->txn_commit;
105
            $schema->storage->txn_commit;
110
        }
106
        }
111
        catch {
107
        catch {
112
            push @messages, {
108
109
            push @messages,
110
              {
113
                type      => 'error',
111
                type      => 'error',
114
                code      => 'holds_queue_update_error',
112
                code      => 'holds_queue_update_error',
115
                biblio_id => $biblio_id,
113
                biblio_id => $biblio_id,
116
                error     => "$_",
114
                error     => "$_",
117
            };
115
              };
118
116
119
            $schema->storage->txn_rollback;
117
            $schema->storage->txn_rollback;
120
        };
118
        };
121
119
122
        $self->progress( $job_progress++ )->store;
120
        $self->progress( $self->progress + 1 )->store;
123
    }
121
    }
124
122
125
    my $job_data = decode_json $self->data;
123
    my $job_data = decode_json $self->data;
Lines 130-141 sub process { Link Here
130
        {
128
        {
131
            ended_on => \'NOW()',
129
            ended_on => \'NOW()',
132
            data     => encode_json $job_data,
130
            data     => encode_json $job_data,
131
            status   => 'finished',
133
        }
132
        }
134
    );
133
    )->store;
135
    $self->status('finished')
136
      unless $self->status ne 'cancelled';
137
138
    $self->store;
139
}
134
}
140
135
141
=head3 enqueue
136
=head3 enqueue
(-)a/koha-tmpl/intranet-tmpl/prog/en/includes/background_jobs/update_holds_queue_for_biblios.inc (+41 lines)
Line 0 Link Here
1
[% USE KohaSpan %]
2
[% BLOCK report %]
3
    [% SET report = job.report %]
4
    [% IF report %]
5
        [% IF report.total_biblios == report.total_success %]
6
            <div class="dialog message">
7
                Holds queue successfully updated.
8
            </div>
9
        [% ELSE %]
10
            <div class="dialog message">
11
                <span>Holds queue for [% report.total_success | html %] / [% report.total_biblios | html %] has been successfully updated. Some errors occurred.</span>
12
                [% IF job.status == 'cancelled' %]<span>The job has been cancelled before it finished.</span>[% END %]
13
            </div>
14
        [% END %]
15
    [% END %]
16
17
[% END %]
18
19
[% BLOCK detail %]
20
    [% FOR m IN report_messages %]
21
        <div class="dialog message">
22
            [% IF m.type == 'success' %]
23
                <i class="fa fa-check success"></i>
24
            [% ELSIF m.type == 'warning' %]
25
                <i class="fa fa-warning warn"></i>
26
            [% ELSIF m.type == 'error' %]
27
                <i class="fa fa-exclamation error"></i>
28
            [% END %]
29
            [% SWITCH m.code %]
30
            [% CASE 'holds_queue_update_error' %]
31
                [% IF m.biblio_id %]
32
                    <span>Holds queue for biblio <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% m.biblio_id | uri %]">[% m.biblio.title | html %]</a>.</span>
33
                [% END %]
34
                <span>An error occurred ([% m.error | html %])</span>
35
            [% END %]
36
        </div>
37
    [% END %]
38
[% END %]
39
40
[% BLOCK js %]
41
[% END %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/background_jobs.tt (-1 / +2 lines)
Lines 37-42 Link Here
37
        <span>Batch item record deletion</span>
37
        <span>Batch item record deletion</span>
38
    [% CASE "batch_hold_cancel" %]
38
    [% CASE "batch_hold_cancel" %]
39
        <span>Batch hold cancellation</span>
39
        <span>Batch hold cancellation</span>
40
    [% CASE 'update_holds_queue_for_biblios' %]
41
        <span>Holds queue update</span>
40
    [% CASE %]<span>Unknown job type '[% job_type | html %]'</span>
42
    [% CASE %]<span>Unknown job type '[% job_type | html %]'</span>
41
    [% END %]
43
    [% END %]
42
44
43
- 

Return to bug 29346