Hi,

Sometimes, when re-posting an existing invoice, LedgerSMB
crashes with a primary-key constraint violation and
the invoice is lost!  This is very bad.

To replicate the problem:

1) Create an invoice and post it.

2) Go into the invoice and change something (for example, a description)
and repost.  Confirm that you want to post to an existing transaction.

3) If step (2) succeeded, try doing it again.  The second time, it should
blow up.

Here is a patch against LedgerSMB/IS.pm that fixes it.

Regards,

David.


--- IS.pm.ORIG  2009-02-12 10:52:17.000000000 -0500
+++ IS.pm       2009-02-12 10:50:32.000000000 -0500
@@ -1837,6 +1837,11 @@
    $sth->execute( $form->{id} ) || $form->dberror($query);
    $sth->finish;

+    $query = qq|DELETE FROM transactions WHERE id = ?|;
+    $sth = $dbh->prepare($query);
+    $sth->execute( $form->{id} ) || $form->dberror($query);
+    $sth->finish;
+
    # delete spool files
    $query = qq|
               SELECT spoolfile FROM status


------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Ledger-smb-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ledger-smb-devel

Reply via email to