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

(-)a/C4/Budgets.pm (-1 / +43 lines)
Lines 23-28 use Koha::Database; Link Here
23
use Koha::Patrons;
23
use Koha::Patrons;
24
use Koha::Acquisition::Invoice::Adjustments;
24
use Koha::Acquisition::Invoice::Adjustments;
25
use C4::Acquisition;
25
use C4::Acquisition;
26
use C4::Log qw(logaction);
26
27
27
our (@ISA, @EXPORT_OK);
28
our (@ISA, @EXPORT_OK);
28
BEGIN {
29
BEGIN {
Lines 640-646 sub AddBudget { Link Here
640
    undef $budget->{budget_encumb}   if defined $budget->{budget_encumb}   && $budget->{budget_encumb}   eq '';
641
    undef $budget->{budget_encumb}   if defined $budget->{budget_encumb}   && $budget->{budget_encumb}   eq '';
641
    undef $budget->{budget_owner_id} if defined $budget->{budget_owner_id} && $budget->{budget_owner_id} eq '';
642
    undef $budget->{budget_owner_id} if defined $budget->{budget_owner_id} && $budget->{budget_owner_id} eq '';
642
    my $resultset = Koha::Database->new()->schema->resultset('Aqbudget');
643
    my $resultset = Koha::Database->new()->schema->resultset('Aqbudget');
643
    return $resultset->create($budget)->id;
644
    my $id = $resultset->create($budget)->id;
645
646
    # Log the addition
647
    if (C4::Context->preference("AcqLog")) {
648
        my $infos =
649
            sprintf("%010d", $budget->{budget_amount}) .
650
            sprintf("%010d", $budget->{budget_encumb}) .
651
            sprintf("%010d", $budget->{budget_expend});
652
        logaction(
653
            'ACQUISITIONS',
654
            'CREATE_FUND',
655
            $id,
656
            $infos
657
        );
658
    }
659
    return $id;
644
}
660
}
645
661
646
# -------------------------------------------------------------------
662
# -------------------------------------------------------------------
Lines 650-655 sub ModBudget { Link Here
650
    my $result = Koha::Database->new()->schema->resultset('Aqbudget')->find($budget);
666
    my $result = Koha::Database->new()->schema->resultset('Aqbudget')->find($budget);
651
    return unless($result);
667
    return unless($result);
652
668
669
    # Log this modification
670
    if (C4::Context->preference("AcqLog")) {
671
        my $infos =
672
            sprintf("%010d", $budget->{budget_amount}) .
673
            sprintf("%010d", $budget->{budget_encumb}) .
674
            sprintf("%010d", $budget->{budget_expend}) .
675
            sprintf("%010d", $result->budget_amount) .
676
            sprintf("%010d", $result->budget_encumb) .
677
            sprintf("%010d", $result->budget_expend) .
678
            sprintf("%010d", 0 - ($result->budget_amount - $budget->{budget_amount}));
679
        logaction(
680
            'ACQUISITIONS',
681
            'MODIFY_FUND',
682
            $budget->{budget_id},
683
            $infos
684
        );
685
    }
686
653
    undef $budget->{budget_encumb}   if defined $budget->{budget_encumb}   && $budget->{budget_encumb}   eq '';
687
    undef $budget->{budget_encumb}   if defined $budget->{budget_encumb}   && $budget->{budget_encumb}   eq '';
654
    undef $budget->{budget_owner_id} if defined $budget->{budget_owner_id} && $budget->{budget_owner_id} eq '';
688
    undef $budget->{budget_owner_id} if defined $budget->{budget_owner_id} && $budget->{budget_owner_id} eq '';
655
    $result = $result->update($budget);
689
    $result = $result->update($budget);
Lines 663-668 sub DelBudget { Link Here
663
	my $dbh         = C4::Context->dbh;
697
	my $dbh         = C4::Context->dbh;
664
	my $sth         = $dbh->prepare("delete from aqbudgets where budget_id=?");
698
	my $sth         = $dbh->prepare("delete from aqbudgets where budget_id=?");
665
	my $rc          = $sth->execute($budget_id);
699
	my $rc          = $sth->execute($budget_id);
700
    # Log the deletion
701
    if (C4::Context->preference("AcqLog")) {
702
        logaction(
703
            'ACQUISITIONS',
704
            'DELETE_FUND',
705
            $budget_id
706
        );
707
    }
666
	return $rc;
708
	return $rc;
667
}
709
}
668
710
(-)a/acqui/addorder.pl (+43 lines)
Lines 237-242 my $user = $input->remote_user; Link Here
237
my $basketno = $$orderinfo{basketno};
237
my $basketno = $$orderinfo{basketno};
238
my $basket   = Koha::Acquisition::Baskets->find($basketno);
238
my $basket   = Koha::Acquisition::Baskets->find($basketno);
239
239
240
# Order related fields we're going to log
241
my @log_order_fields = (
242
    'quantity',
243
    'listprice',
244
    'unitprice',
245
    'unitprice_tax_excluded',
246
    'unitprice_tax_included',
247
    'rrp',
248
    'replacementprice',
249
    'rrp_tax_excluded',
250
    'rrp_tax_included',
251
    'ecost',
252
    'ecost_tax_excluded',
253
    'ecost_tax_included',
254
    'tax_rate_on_ordering'
255
);
256
240
# create, modify or delete biblio
257
# create, modify or delete biblio
241
# create if $quantity>0 and $existing='no'
258
# create if $quantity>0 and $existing='no'
242
# modify if $quantity>0 and $existing='yes'
259
# modify if $quantity>0 and $existing='yes'
Lines 301-309 if ( $basket->{is_standing} || $orderinfo->{quantity} ne '0' ) { Link Here
301
    my $order = Koha::Acquisition::Order->new($orderinfo);
318
    my $order = Koha::Acquisition::Order->new($orderinfo);
302
    if ( $orderinfo->{ordernumber} ) {
319
    if ( $orderinfo->{ordernumber} ) {
303
        ModOrder($orderinfo);
320
        ModOrder($orderinfo);
321
        # Log the order modification
322
        if (C4::Context->preference("AcqLog")) {
323
            my $infos = '';
324
            foreach my $field(@log_order_fields) {
325
                $infos .= sprintf("%010d", $orderinfo->{$field});
326
            }
327
            logaction(
328
                'ACQUISITIONS',
329
                'MODIFY_ORDER',
330
                $orderinfo->{ordernumber},
331
                $infos
332
            );
333
        }
304
    }
334
    }
305
    else { # else, it's a new line
335
    else { # else, it's a new line
306
        $order->store;
336
        $order->store;
337
        # Log the order creation
338
        if (C4::Context->preference("AcqLog")) {
339
            my $infos = '';
340
            foreach my $field(@log_order_fields) {
341
                $infos .= sprintf("%010d", $orderinfo->{$field});
342
            }
343
            logaction(
344
                'ACQUISITIONS',
345
                'CREATE_ORDER',
346
                $order->ordernumber,
347
                $infos
348
            );
349
        }
307
    }
350
    }
308
    my $order_users_ids = $input->param('users_ids');
351
    my $order_users_ids = $input->param('users_ids');
309
    my @order_users = split( /:/, $order_users_ids );
352
    my @order_users = split( /:/, $order_users_ids );
(-)a/acqui/cancelorder.pl (+5 lines)
Lines 34-39 use Modern::Perl; Link Here
34
use CGI;
34
use CGI;
35
use C4::Auth qw( get_template_and_user );
35
use C4::Auth qw( get_template_and_user );
36
use C4::Output qw( output_html_with_http_headers );
36
use C4::Output qw( output_html_with_http_headers );
37
use C4::Log qw(logaction);
37
use Koha::Acquisition::Baskets;
38
use Koha::Acquisition::Baskets;
38
39
39
my $input = CGI->new;
40
my $input = CGI->new;
Lines 65-70 if( $action and $action eq "confirmcancel" ) { Link Here
65
            if $messages[0]->message eq 'error_delbiblio';
66
            if $messages[0]->message eq 'error_delbiblio';
66
    } else {
67
    } else {
67
        $template->param(success_cancelorder => 1);
68
        $template->param(success_cancelorder => 1);
69
        # Log the cancellation of the order
70
        if (C4::Context->preference("AcqLog")) {
71
            logaction('ACQUISITIONS', 'CANCEL_ORDER', $ordernumber);
72
        }
68
    }
73
    }
69
    $template->param(confirmcancel => 1);
74
    $template->param(confirmcancel => 1);
70
}
75
}
(-)a/acqui/finishreceive.pl (+18 lines)
Lines 28-33 use C4::Context; Link Here
28
use C4::Acquisition qw( GetInvoice GetOrder populate_order_with_prices ModReceiveOrder );
28
use C4::Acquisition qw( GetInvoice GetOrder populate_order_with_prices ModReceiveOrder );
29
use C4::Biblio qw( GetFrameworkCode GetMarcFromKohaField TransformHtmlToXml );
29
use C4::Biblio qw( GetFrameworkCode GetMarcFromKohaField TransformHtmlToXml );
30
use C4::Items qw( GetMarcItem ModItemFromMarc AddItemFromMarc );
30
use C4::Items qw( GetMarcItem ModItemFromMarc AddItemFromMarc );
31
use C4::Log qw(logaction);
31
use C4::Search;
32
use C4::Search;
32
33
33
use Koha::Number::Price;
34
use Koha::Number::Price;
Lines 189-192 if ($suggestion_id) { Link Here
189
    $suggestion->update( { reason => $reason } ) if $suggestion;
190
    $suggestion->update( { reason => $reason } ) if $suggestion;
190
}
191
}
191
192
193
# Log the receipt
194
if (C4::Context->preference("AcqLog")) {
195
    my $infos =
196
        sprintf("%010d", $quantityrec) .
197
        sprintf("%010d", $bookfund) .
198
        sprintf("%010.2f", $input->param("tax_rate")) .
199
        sprintf("%010.2f", $replacementprice) .
200
        sprintf("%010.2f", $unitprice);
201
202
    logaction(
203
        'ACQUISITIONS',
204
        'RECEIVE_ORDER',
205
        $ordernumber,
206
        $infos
207
    );
208
}
209
192
print $input->redirect("/cgi-bin/koha/acqui/parcel.pl?invoiceid=$invoiceid");
210
print $input->redirect("/cgi-bin/koha/acqui/parcel.pl?invoiceid=$invoiceid");
(-)a/acqui/invoice.pl (-2 / +83 lines)
Lines 33-38 use C4::Auth qw( get_template_and_user ); Link Here
33
use C4::Output qw( output_and_exit output_html_with_http_headers );
33
use C4::Output qw( output_and_exit output_html_with_http_headers );
34
use C4::Acquisition qw( CloseInvoice ReopenInvoice ModInvoice MergeInvoices DelInvoice GetInvoice GetInvoiceDetails get_rounded_price );
34
use C4::Acquisition qw( CloseInvoice ReopenInvoice ModInvoice MergeInvoices DelInvoice GetInvoice GetInvoiceDetails get_rounded_price );
35
use C4::Budgets qw( GetBudgetHierarchy GetBudget CanUserUseBudget );
35
use C4::Budgets qw( GetBudgetHierarchy GetBudget CanUserUseBudget );
36
use C4::Log qw(logaction);
36
37
37
use Koha::Acquisition::Booksellers;
38
use Koha::Acquisition::Booksellers;
38
use Koha::Acquisition::Currencies qw( get_active );
39
use Koha::Acquisition::Currencies qw( get_active );
Lines 145-151 elsif ( $op && $op eq 'del_adj' ) { Link Here
145
146
146
    my $adjustment_id  = $input->param('adjustment_id');
147
    my $adjustment_id  = $input->param('adjustment_id');
147
    my $del_adj = Koha::Acquisition::Invoice::Adjustments->find( $adjustment_id );
148
    my $del_adj = Koha::Acquisition::Invoice::Adjustments->find( $adjustment_id );
148
    $del_adj->delete() if ($del_adj);
149
    if ($del_adj) {
150
        if (C4::Context->preference("AcqLog")) {
151
            my $reason_length = length $del_adj->reason;
152
            my $reason_padded = ( ' ' x (80 - $reason_length) ) . $del_adj->reason;
153
            my $infos =
154
                sprintf("%010d", $del_adj->invoiceid) .
155
                sprintf("%010d", $del_adj->budget_id) .
156
                sprintf("%010d", $del_adj->encumber_open) .
157
                sprintf("%010.2f", $del_adj->adjustment) .
158
                $reason_padded;
159
            logaction(
160
                'ACQUISITIONS',
161
                'DELETE_INVOICE_ADJUSTMENT',
162
                $adjustment_id,
163
                $infos
164
            );
165
        }
166
        $del_adj->delete();
167
    }
149
}
168
}
150
elsif ( $op && $op eq 'mod_adj' ) {
169
elsif ( $op && $op eq 'mod_adj' ) {
151
170
Lines 160-169 elsif ( $op && $op eq 'mod_adj' ) { Link Here
160
    my @encumber_open  = $input->multi_param('encumber_open');
179
    my @encumber_open  = $input->multi_param('encumber_open');
161
    my %e_open = map { $_ => 1 } @encumber_open;
180
    my %e_open = map { $_ => 1 } @encumber_open;
162
181
182
    my @keys = ('adjustment', 'reason', 'budget_id', 'encumber_open');
163
    for( my $i=0; $i < scalar @adjustment; $i++ ){
183
    for( my $i=0; $i < scalar @adjustment; $i++ ){
164
        if( $adjustment_id[$i] eq 'new' ){
184
        if( $adjustment_id[$i] eq 'new' ){
165
            next unless ( $adjustment[$i] || $reason[$i] );
185
            next unless ( $adjustment[$i] || $reason[$i] );
166
            my $new_adj = Koha::Acquisition::Invoice::Adjustment->new({
186
            my $adj = {
167
                invoiceid => $invoiceid,
187
                invoiceid => $invoiceid,
168
                adjustment => $adjustment[$i],
188
                adjustment => $adjustment[$i],
169
                reason => $reason[$i],
189
                reason => $reason[$i],
Lines 171-181 elsif ( $op && $op eq 'mod_adj' ) { Link Here
171
                budget_id => $budget_id[$i] || undef,
191
                budget_id => $budget_id[$i] || undef,
172
                encumber_open => defined $e_open{ $adjustment_id[$i] } ? 1 : 0,
192
                encumber_open => defined $e_open{ $adjustment_id[$i] } ? 1 : 0,
173
            });
193
            });
194
            my $new_adj = Koha::Acquisition::Invoice::Adjustment->new($adj);
174
            $new_adj->store();
195
            $new_adj->store();
196
            # Log this addition
197
            if (C4::Context->preference("AcqLog")) {
198
                my $infos = get_log_string($adj);
199
                logaction(
200
                    'ACQUISITIONS',
201
                    'CREATE_INVOICE_ADJUSTMENT',
202
                    $new_adj->adjustment_id,
203
                    $infos
204
                );
205
            }
175
        }
206
        }
176
        else {
207
        else {
177
            my $old_adj = Koha::Acquisition::Invoice::Adjustments->find( $adjustment_id[$i] );
208
            my $old_adj = Koha::Acquisition::Invoice::Adjustments->find( $adjustment_id[$i] );
178
            unless ( $old_adj->adjustment == $adjustment[$i] && $old_adj->reason eq $reason[$i] && $old_adj->budget_id == $budget_id[$i] && $old_adj->encumber_open == $e_open{$adjustment_id[$i]} && $old_adj->note eq $note[$i] ){
209
            unless ( $old_adj->adjustment == $adjustment[$i] && $old_adj->reason eq $reason[$i] && $old_adj->budget_id == $budget_id[$i] && $old_adj->encumber_open == $e_open{$adjustment_id[$i]} && $old_adj->note eq $note[$i] ){
210
                # Log this modification
211
                if (C4::Context->preference("AcqLog")) {
212
                    my $infos = get_log_string({
213
                        adjustment        => $adjustment[$i],
214
                        reason            => $reason[$i],
215
                        budget_id         => $budget_id[$i],
216
                        encumber_open     => $e_open{$adjustment_id[$i]},
217
                        adjustment_old    => $old_adj->adjustment,
218
                        reason_old        => $old_adj->reason,
219
                        budget_id_old     => $old_adj->budget_id,
220
                        encumber_open_old => $old_adj->encumber_open
221
                    });
222
                    logaction(
223
                        'ACQUISITIONS',
224
                        'UPDATE_INVOICE_ADJUSTMENT',
225
                        $adjustment_id[$i],
226
                        $infos
227
                    );
228
                }
179
                $old_adj->timestamp(undef);
229
                $old_adj->timestamp(undef);
180
                $old_adj->adjustment( $adjustment[$i] );
230
                $old_adj->adjustment( $adjustment[$i] );
181
                $old_adj->reason( $reason[$i] );
231
                $old_adj->reason( $reason[$i] );
Lines 300-303 sub get_infos { Link Here
300
    return \%line;
350
    return \%line;
301
}
351
}
302
352
353
sub get_log_string {
354
    my ($data) = @_;
355
356
    # We specify the keys we're dealing for logging within an array in order
357
    # to preserve order, if we just iterate the hash keys, we could get
358
    # the values in any order
359
    my @keys = (
360
        'budget_id',
361
        'encumber_open',
362
        'budget_id_old',
363
        'encumber_open_old'
364
    );
365
    # Adjustment amount
366
    my $return = sprintf("%010.2f", $data->{adjustment});
367
    # Left pad "reason" to the maximum length of aqinvoice_adjustments.reason
368
    # (80 characters)
369
    my $reason_len = length $data->{reason};
370
    $return .= ( ' ' x (80 - $reason_len) ) . $data->{reason};
371
    # Append the remaining fields
372
    foreach my $key(@keys) {
373
        $return .= sprintf("%010d", $data->{$key});
374
    }
375
    # Old adjustment amount
376
    $return .= sprintf("%010.2f", $data->{adjustment_old});
377
    # Left pad "reason_old" to the maximum length of aqinvoice_adjustments.reason
378
    # (80 characters)
379
    my $reason_old_len = length $data->{reason_old};
380
    $return .= ( ' ' x (80 - $reason_old_len) ) . $data->{reason_old};
381
    return $return;
382
}
383
303
output_html_with_http_headers $input, $cookie, $template->output;
384
output_html_with_http_headers $input, $cookie, $template->output;
(-)a/admin/aqbudgetperiods.pl (-8 / +29 lines)
Lines 55-60 use C4::Auth qw( get_template_and_user ); Link Here
55
use C4::Output qw( output_html_with_http_headers );
55
use C4::Output qw( output_html_with_http_headers );
56
use C4::Acquisition;
56
use C4::Acquisition;
57
use C4::Budgets qw( GetBudgetPeriod GetBudgetPeriods ModBudgetPeriod AddBudgetPeriod GetBudgets DelBudgetPeriod CloneBudgetPeriod MoveOrders );
57
use C4::Budgets qw( GetBudgetPeriod GetBudgetPeriods ModBudgetPeriod AddBudgetPeriod GetBudgets DelBudgetPeriod CloneBudgetPeriod MoveOrders );
58
use C4::Log qw(logaction);
58
use Koha::Acquisition::Currencies;
59
use Koha::Acquisition::Currencies;
59
60
60
my $dbh = C4::Context->dbh;
61
my $dbh = C4::Context->dbh;
Lines 112-125 elsif ( $op eq 'add_validate' ) { Link Here
112
## add or modify a budget period (confirmation)
113
## add or modify a budget period (confirmation)
113
114
114
    ## update budget period data
115
    ## update budget period data
115
	if ( $budget_period_id ne '' ) {
116
    if ( $budget_period_id ne '' ) {
116
		$$budget_period_hashref{$_}||=0 for qw(budget_period_active budget_period_locked);
117
        # Grab the previous values so we can log them
117
		my $status=ModBudgetPeriod($budget_period_hashref);
118
        my $budgetperiod_old=GetBudgetPeriod($budget_period_id);
118
	} 
119
        $$budget_period_hashref{$_}||=0 for qw(budget_period_active budget_period_locked);
119
	else {    # ELSE ITS AN ADD
120
        my $status=ModBudgetPeriod($budget_period_hashref);
120
		my $budget_period_id=AddBudgetPeriod($budget_period_hashref);
121
        # Log the budget modification
121
	}
122
        if (C4::Context->preference("AcqLog")) {
122
	$op='else';
123
            my $diff = 0 - ($budgetperiod_old->{budget_period_total} - $budget_period_hashref->{budget_period_total});
124
            my $infos =
125
                eval { output_pref({ dt => dt_from_string( $input->param('budget_period_startdate') ), dateformat => 'iso', dateonly => 1 } ); } .
126
                eval { output_pref({ dt => dt_from_string( $input->param('budget_period_enddate') ), dateformat => 'iso', dateonly => 1 } ); } .
127
                sprintf("%010d", $budget_period_hashref->{budget_period_total}) .
128
                eval { output_pref({ dt => dt_from_string( $budgetperiod_old->{budget_period_startdate} ), dateformat => 'iso', dateonly => 1 } ); } .
129
                eval { output_pref({ dt => dt_from_string( $budgetperiod_old->{budget_period_enddate} ), dateformat => 'iso', dateonly => 1 } ); } .
130
                sprintf("%010d", $budgetperiod_old->{budget_period_total}) .
131
                sprintf("%010d", $diff);
132
            logaction(
133
                'ACQUISITIONS',
134
                'MODIFY_BUDGET',
135
                $budget_period_id,
136
                $infos
137
            );
138
        }
139
    }
140
    else {    # ELSE ITS AN ADD
141
        my $budget_period_id=AddBudgetPeriod($budget_period_hashref);
142
    }
143
    $op='else';
123
}
144
}
124
145
125
#--------------------------------------------------
146
#--------------------------------------------------
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/viewlog.tt (-2 / +12 lines)
Lines 125-130 Link Here
125
[%        CASE 'CLOSE_BASKET' %]Close an acquisitions basket
125
[%        CASE 'CLOSE_BASKET' %]Close an acquisitions basket
126
[%        CASE 'APPROVE_BASKET' %]Approve an acquisitions basket
126
[%        CASE 'APPROVE_BASKET' %]Approve an acquisitions basket
127
[%        CASE 'REOPEN_BASKET' %]Reopen an acquisitions basket
127
[%        CASE 'REOPEN_BASKET' %]Reopen an acquisitions basket
128
[%        CASE 'CANCEL_ORDER' %]Cancel an order
129
[%        CASE 'CREATE_ORDER' %]Create an order
130
[%        CASE 'MODIFY_ORDER' %]Modify an order
131
[%        CASE 'CREATE_INVOICE_ADJUSTMENT' %]Create an invoice adjustment
132
[%        CASE 'UPDATE_INVOICE_ADJUSTMENT' %]Modify an invoice adjustment
133
[%        CASE 'DELETE_INVOICE_ADJUSTMENT' %]Delete an invoice adjustment
134
[%        CASE 'RECEIVE_ORDER' %]Receive an order
135
[%        CASE 'MODIFY_BUDGET' %]Modify a budget
136
[%        CASE 'CREATE_FUND' %]Create a fund
137
[%        CASE 'MODIFY_FUND' %]Modify a fund
138
[%        CASE 'DELETE_FUND' %]Delete a fund
128
[%        CASE 'Run'    %]Run
139
[%        CASE 'Run'    %]Run
129
[%        CASE 'EDIT_MAPPINGS' %]Edit mappings
140
[%        CASE 'EDIT_MAPPINGS' %]Edit mappings
130
[%        CASE 'RESET_MAPPINGS' %]Reset mappings
141
[%        CASE 'RESET_MAPPINGS' %]Reset mappings
Lines 223-229 Link Here
223
                                        <label for="actionALL" class="viewlog"><input type="checkbox" id="actionALL" name="actions" value=""> All</label>
234
                                        <label for="actionALL" class="viewlog"><input type="checkbox" id="actionALL" name="actions" value=""> All</label>
224
                                    [% END %]
235
                                    [% END %]
225
236
226
                                    [% FOREACH actx IN [ 'ADD' 'DELETE' 'MODIFY' 'ISSUE' 'RETURN' 'RENEW' 'CREATE' 'CANCEL' 'SUSPEND' 'RESUME' 'ADDCIRCMESSAGE' 'DELCIRCMESSAGE' 'STATUS_CHANGE' 'PATRON_NOTICE' 'CHANGE PASS' 'Run' 'EDIT_MAPPINGS' 'RESET_MAPPINGS' 'ADD_BASKET' 'MODIFY_BASKET' 'MODIFY_BASKET_HEADER' 'MODIFY_BASKET_USERS' 'CLOSE_BASKET' 'APPROVE_BASKET' 'REOPEN_BASKET' ] %]
237
                                    [% FOREACH actx IN [ 'ADD' 'DELETE' 'MODIFY' 'ISSUE' 'RETURN' 'RENEW' 'CREATE' 'CANCEL' 'SUSPEND' 'RESUME' 'ADDCIRCMESSAGE' 'DELCIRCMESSAGE' 'STATUS_CHANGE' 'PATRON_NOTICE' 'CHANGE PASS' 'Run' 'EDIT_MAPPINGS' 'RESET_MAPPINGS' 'ADD_BASKET' 'MODIFY_BASKET' 'MODIFY_BASKET_HEADER' 'MODIFY_BASKET_USERS' 'CLOSE_BASKET' 'APPROVE_BASKET' 'REOPEN_BASKET' 'CANCEL_ORDER' 'CREATE_ORDER' 'MODIFY_ORDER' 'CREATE_INVOICE_ADJUSTMENT' 'UPDATE_INVOICE_ADJUSTMENT' 'DELETE_INVOICE_ADJUSTMENT' 'RECEIVE_ORDER' 'MODIFY_BUDGET' 'MODIFY_FUND' 'CREATE_FUND' 'DELETE_FUND' ] %]
227
                                        [% IF actions.grep(actx).size %]
238
                                        [% IF actions.grep(actx).size %]
228
                                            <label for="action[% actx| replace('\s+', '_') | html %]" class="viewlog"><input type="checkbox" id="action[% actx | replace('\s+', '_') | html %]" name="actions" value="[% actx | html %]" checked="checked"> [% PROCESS translate_log_action action=actx %]</label>
239
                                            <label for="action[% actx| replace('\s+', '_') | html %]" class="viewlog"><input type="checkbox" id="action[% actx | replace('\s+', '_') | html %]" name="actions" value="[% actx | html %]" checked="checked"> [% PROCESS translate_log_action action=actx %]</label>
229
                                        [% ELSE %]
240
                                        [% ELSE %]
230
- 

Return to bug 24190