projects
/
kivitendo-erp.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
800378d
)
GL: single-dbh
author
Sven Schöling
<s.schoeling@linet-services.de>
Thu, 28 Jul 2016 15:31:06 +0000
(17:31 +0200)
committer
Sven Schöling
<s.schoeling@linet-services.de>
Fri, 2 Sep 2016 12:21:28 +0000
(14:21 +0200)
SL/GL.pm
patch
|
blob
|
history
diff --git
a/SL/GL.pm
b/SL/GL.pm
index
60b54e2
..
bd8113e
100644
(file)
--- a/
SL/GL.pm
+++ b/
SL/GL.pm
@@
-42,6
+42,7
@@
use Data::Dumper;
use SL::DATEV qw(:CONSTANTS);
use SL::DBUtils;
use SL::Util qw(trim);
use SL::DATEV qw(:CONSTANTS);
use SL::DBUtils;
use SL::Util qw(trim);
+use SL::DB;
use strict;
use strict;
@@
-49,22
+50,24
@@
sub delete_transaction {
my ($self, $myconfig, $form) = @_;
$main::lxdebug->enter_sub();
my ($self, $myconfig, $form) = @_;
$main::lxdebug->enter_sub();
- # connect to database
- my $dbh = $form->dbconnect_noauto($myconfig);
-
- # acc_trans entries are deleted by database triggers.
- do_query($form, $dbh, qq|DELETE FROM gl WHERE id = ?|, conv_i($form->{id}));
+ SL::DB->with_transaction(sub {
+ do_query($form, SL::DB->client->dbh, qq|DELETE FROM gl WHERE id = ?|, conv_i($form->{id}));
+ });
- # commit and redirect
- my $rc = $dbh->commit;
- $dbh->disconnect;
$main::lxdebug->leave_sub();
$main::lxdebug->leave_sub();
+}
- $rc;
+sub post_transaction {
+ my ($self, $myconfig, $form) = @_;
+ $main::lxdebug->enter_sub();
+
+ my $rc = SL::DB->client->with_transaction(\&_post_transaction, $self, $myconfig, $form);
+ $::lxdebug->leave_sub;
+ return $rc;
}
}
-sub post_transaction {
+sub
_
post_transaction {
my ($self, $myconfig, $form) = @_;
$main::lxdebug->enter_sub();
my ($self, $myconfig, $form) = @_;
$main::lxdebug->enter_sub();
@@
-73,8
+76,7
@@
sub post_transaction {
my $i;
my $i;
- # connect to database, turn off AutoCommit
- my $dbh = $form->dbconnect_noauto($myconfig);
+ my $dbh = SL::DB->client->dbh;
# post the transaction
# make up a unique handle and store in reference field
# post the transaction
# make up a unique handle and store in reference field
@@
-203,17
+205,11
@@
sub post_transaction {
$datev->export;
if ($datev->errors) {
$datev->export;
if ($datev->errors) {
- $dbh->rollback;
die join "\n", $::locale->text('DATEV check returned errors:'), $datev->errors;
}
}
die join "\n", $::locale->text('DATEV check returned errors:'), $datev->errors;
}
}
- # commit and redirect
- my $rc = $dbh->commit;
- $dbh->disconnect;
- $main::lxdebug->leave_sub();
-
- return $rc;
+ return 1;
}
sub all_transactions {
}
sub all_transactions {
@@
-710,12
+706,20
@@
sub transaction {
}
sub storno {
}
sub storno {
+ my ($self, $form, $myconfig, $id) = @_;
$main::lxdebug->enter_sub();
$main::lxdebug->enter_sub();
+ my $rc = SL::DB->client->with_transaction(\&_storno, $self, $form, $myconfig, $id);
+
+ $::lxdebug->leave_sub;
+ return $rc;
+}
+
+sub _storno {
my ($self, $form, $myconfig, $id) = @_;
my ($query, $new_id, $storno_row, $acc_trans_rows);
my ($self, $form, $myconfig, $id) = @_;
my ($query, $new_id, $storno_row, $acc_trans_rows);
- my $dbh =
$form->get_standard_dbh($myconfig)
;
+ my $dbh =
SL::DB->client->dbh
;
$query = qq|SELECT nextval('glid')|;
($new_id) = selectrow_query($form, $dbh, $query);
$query = qq|SELECT nextval('glid')|;
($new_id) = selectrow_query($form, $dbh, $query);
@@
-752,9
+756,7
@@
sub storno {
do_query($form, $dbh, $query, (values %$row));
}
do_query($form, $dbh, $query, (values %$row));
}
- $dbh->commit;
-
- $main::lxdebug->leave_sub();
+ return 1;
}
sub get_chart_balances {
}
sub get_chart_balances {