use SL::DBUtils;
use SL::DB::Chart;
use SL::DB::Draft;
+use SL::DB::ValidityToken;
+use SL::DB::GLTransaction;
use SL::Util qw(trim);
use SL::DB;
my ($self, $myconfig, $form) = @_;
$main::lxdebug->enter_sub();
+ my $validity_token;
+ if (!$form->{id}) {
+ $validity_token = SL::DB::Manager::ValidityToken->fetch_valid_token(
+ scope => SL::DB::ValidityToken::SCOPE_GL_TRANSACTION_POST(),
+ token => $form->{form_validity_token},
+ );
+
+ die $::locale->text('The form is not valid anymore.') if !$validity_token;
+ }
+
my ($debit, $credit) = (0, 0);
my $project_id;
}
}
+ $validity_token->delete if $validity_token;
+ delete $form->{form_validity_token};
+
return 1;
}
}
my %sort_columns = (
- 'id' => [ qw(id) ],
- 'transdate' => [ qw(transdate id) ],
- 'gldate' => [ qw(gldate id) ],
- 'reference' => [ qw(lower_reference id) ],
- 'description' => [ qw(lower_description id) ],
- 'accno' => [ qw(accno transdate id) ],
- 'department' => [ qw(department transdate id) ],
+ 'id' => [ qw(id) ],
+ 'transdate' => [ qw(transdate id) ],
+ 'gldate' => [ qw(gldate id) ],
+ 'reference' => [ qw(lower_reference id) ],
+ 'description' => [ qw(lower_description id) ],
+ 'accno' => [ qw(accno transdate id) ],
+ 'department' => [ qw(department transdate id) ],
'transaction_description' => [ qw(lower_transaction_description id) ],
);
my %lowered_columns = (
- 'reference' => { 'gl' => 'g.reference', 'arap' => 'a.invnumber', },
- 'source' => { 'gl' => 'ac.source', 'arap' => 'ac.source', },
- 'description' => { 'gl' => 'g.description', 'arap' => 'ct.name', },
- 'transaction_description' => { 'gl' => 'g.transaction_description', 'arap' => 'a.transaction_description', },
+ 'reference' => { 'gl' => 'g.reference', 'arap' => 'a.invnumber', },
+ 'source' => { 'gl' => 'ac.source', 'arap' => 'ac.source', },
+ 'description' => { 'gl' => 'g.description', 'arap' => 'ct.name', },
+ 'transaction_description' => { 'gl' => 'g.transaction_description', 'arap' => 'a.transaction_description', },
);
# sortdir = sort direction (ascending or descending)
g.storno, g.storno_id,
g.department_id, d.description AS department,
e.name AS employee, g.taxincluded, g.gldate,
- g.ob_transaction, g.cb_transaction,
- g.transaction_description
+ g.ob_transaction, g.cb_transaction,
+ g.transaction_description
FROM gl g
LEFT JOIN department d ON (d.id = g.department_id)
LEFT JOIN employee e ON (e.id = g.employee_id)
do_query($form, $dbh, $query, (values %$row));
}
+ if ($form->{workflow_email_journal_id}) {
+ my $ar_transaction_storno = SL::DB::GLTransaction->new(id => $new_id)->load;
+ my $email_journal = SL::DB::EmailJournal->new(
+ id => delete $form->{workflow_email_journal_id}
+ )->load;
+ $email_journal->link_to_record_with_attachment(
+ $ar_transaction_storno,
+ delete $form->{workflow_email_attachment_id}
+ );
+ $form->{callback} = delete $form->{workflow_email_callback};
+ }
+
+ $form->{storno_id} = $id;
return 1;
}