X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/9bf9acdff05a8047d0561c68cdd93b0a03deb568..d38eaef8d62fc0826fa963c0ebea4fced33f5410:/SL/CP.pm diff --git a/SL/CP.pm b/SL/CP.pm index e2b9f48cb..508dada31 100644 --- a/SL/CP.pm +++ b/SL/CP.pm @@ -36,6 +36,7 @@ package CP; use SL::DBUtils; +use SL::DB; use strict; @@ -76,7 +77,7 @@ sub paymentaccounts { qq|FROM chart | . qq|WHERE link LIKE ? |. qq|ORDER BY accno|; - my $sth = prepare_execute_query($form, $dbh, $query, '%' . $ARAP . '%'); + my $sth = prepare_execute_query($form, $dbh, $query, like($ARAP)); $form->{PR}{ $form->{ARAP} } = (); $form->{PR}{"$form->{ARAP}_paid"} = (); @@ -192,13 +193,20 @@ SQL } sub process_payment { + my ($self, $myconfig, $form) = @_; $main::lxdebug->enter_sub(); + my $rc = SL::DB->client->with_transaction(\&_process_payment, $self, $myconfig, $form); + + $::lxdebug->leave_sub; + return $rc; +} + +sub _process_payment { my ($self, $myconfig, $form) = @_; my $amount; - # connect to database, turn AutoCommit off - my $dbh = $form->dbconnect_noauto($myconfig); + my $dbh = SL::DB->client->dbh; my ($paymentaccno) = split /--/, $form->{account}; @@ -348,24 +356,16 @@ sub process_payment { # saving the history $form->{id} = $form->{"id_$i"}; if(!exists $form->{addition}) { - $form->{snumbers} = qq|invnumber_| . $form->{"invnumber_$i"}; - $form->{addition} = "POSTED"; + $form->{snumbers} = qq|invnumber_| . $form->{"invnumber_$i"}; + $form->{what_done} = "invoice"; + $form->{addition} = "PAYMENT POSTED"; $form->save_history; } # /saving the history } } - my $rc; - # Hier wurden negativen Zahlungseingänge abgefangen - # da Zahlungsein- und ausgänge immer positiv sind - # Besser: in Oberfläche schon prüfen erledigt jb 10.2010 - $rc = $dbh->commit; - $dbh->disconnect; - - $main::lxdebug->leave_sub(); - - return $rc; + return 1; } 1;