Bug 23682: Dedup plugin calls my moving to a single call in process_invoice()
[koha.git] / acqui / edifactmsgs.pl
blob5aa677072a8832fe1de985e4a2a8f17044c75a99
1 #!/usr/bin/perl
3 # Copyright 2014 PTFS Europe Ltd.
4 # This file is part of Koha.
6 # Koha is free software; you can redistribute it and/or modify it
7 # under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 3 of the License, or
9 # (at your option) any later version.
11 # Koha is distributed in the hope that it will be useful, but
12 # WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License
17 # along with Koha; if not, see <http://www.gnu.org/licenses>.
19 use Modern::Perl;
21 use CGI;
23 use C4::Auth;
24 use C4::Koha;
25 use C4::Output;
26 use Koha::Database;
27 use Koha::EDI qw(process_invoice);
28 use Koha::Plugins::Handler;
30 my $q = CGI->new;
31 my ( $template, $loggedinuser, $cookie, $userflags ) = get_template_and_user(
33 template_name => 'acqui/edifactmsgs.tt',
34 query => $q,
35 type => 'intranet',
36 flagsrequired => { acquisition => 'edi_manage' },
37 debug => 1,
41 my $schema = Koha::Database->new()->schema();
42 my $cmd = $q->param('op');
43 if ( $cmd && $cmd eq 'delete' ) {
44 my $id = $q->param('message_id');
45 my $msg = $schema->resultset('EdifactMessage')->find($id);
46 $msg->deleted(1);
47 $msg->update;
50 if ( $cmd && $cmd eq 'import' ) {
51 my $id = $q->param('message_id');
52 my $invoice = $schema->resultset('EdifactMessage')->find($id);
53 process_invoice($invoice);
56 my @msgs = $schema->resultset('EdifactMessage')->search(
58 deleted => 0,
61 join => 'vendor',
62 order_by => { -desc => 'transfer_date' },
65 )->all;
67 $template->param( messages => \@msgs );
69 output_html_with_http_headers( $q, $cookie, $template->output );