From 7a867668a4459de3cc474000930f245aea01468d Mon Sep 17 00:00:00 2001 From: einhverfr Date: Mon, 14 Jan 2008 17:26:53 +0000 Subject: Correcting bug 1839776-- reposting sales invoice causes duplication. git-svn-id: https://ledger-smb.svn.sourceforge.net/svnroot/ledger-smb/branches/1.2@2043 4979c152-3d1c-0410-bac9-87ea11338e46 --- LedgerSMB/IS.pm | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/LedgerSMB/IS.pm b/LedgerSMB/IS.pm index 2f3eebef..9946b891 100755 --- a/LedgerSMB/IS.pm +++ b/LedgerSMB/IS.pm @@ -821,6 +821,10 @@ sub post_invoice { %$form->{acc_trans} = (); + if ($form->{id}){ + delete_invoice($self, $myconfig, $form); + } + ( $null, $form->{employee_id} ) = split /--/, $form->{employee}; unless ( $form->{employee_id} ) { ( $form->{employee}, $form->{employee_id} ) = $form->get_employee($dbh); @@ -1820,9 +1824,20 @@ sub delete_invoice { $form->audittrail( $dbh, "", \%audittrail ); # delete AR record - my $query = qq|DELETE FROM ar WHERE id = ?|; + + my $query = qq|DELETE FROM invoice WHERE trans_id = ?|; + $sth = $dbh->prepare($query); + $sth->execute( $form->{id} ) || $form->dberror($query); + $sth->finish; + $query = qq|DELETE FROM acc_trans WHERE trans_id = ?|; $sth = $dbh->prepare($query); $sth->execute( $form->{id} ) || $form->dberror($query); + $sth->finish; + + $query = qq|DELETE FROM ar WHERE id = ?|; + $sth = $dbh->prepare($query); + $sth->execute( $form->{id} ) || $form->dberror($query); + $sth->finish; # delete spool files $query = qq| -- cgit v1.2.3