r18302 - gnucash/trunk/src/business/business-core/sql - Fix Bug 590458 - Invoices are incomplete or miss specifications

Phil Longstaff plongstaff at code.gnucash.org
Mon Sep 7 16:16:36 EDT 2009


Author: plongstaff
Date: 2009-09-07 16:16:35 -0400 (Mon, 07 Sep 2009)
New Revision: 18302
Trac: http://svn.gnucash.org/trac/changeset/18302

Modified:
   gnucash/trunk/src/business/business-core/sql/gnc-entry-sql.c
Log:
Fix Bug 590458 -  Invoices are incomplete or miss specifications

Replace call to gncEntrySetInvoice() with gncInvoiceAddEntry() which is the real function.


Modified: gnucash/trunk/src/business/business-core/sql/gnc-entry-sql.c
===================================================================
--- gnucash/trunk/src/business/business-core/sql/gnc-entry-sql.c	2009-09-07 16:48:27 UTC (rev 18301)
+++ gnucash/trunk/src/business/business-core/sql/gnc-entry-sql.c	2009-09-07 20:16:35 UTC (rev 18302)
@@ -60,6 +60,8 @@
 #define MAX_DISCTYPE_LEN 2048
 #define MAX_DISCHOW_LEN 2048
 
+static void entry_set_invoice( gpointer pObject, gpointer val );
+
 static GncSqlColumnTableEntry col_table[] =
 {
 	{ "guid",          CT_GUID,        0,                   COL_NNUL|COL_PKEY, "guid" },
@@ -74,7 +76,7 @@
 	{ "i_discount",    CT_NUMERIC,     0,                   0,                 NULL, NULL,
 			(QofAccessFunc)gncEntryGetInvDiscount, (QofSetterFunc)gncEntrySetInvDiscount },
 	{ "invoice",       CT_INVOICEREF,  0,                   0,                 NULL, NULL,
-			(QofAccessFunc)gncEntryGetInvoice, (QofSetterFunc)gncEntrySetInvoice },
+			(QofAccessFunc)gncEntryGetInvoice, (QofSetterFunc)entry_set_invoice },
 	{ "i_disc_type",   CT_STRING,      MAX_DISCTYPE_LEN,    0,        			NULL, ENTRY_INV_DISC_TYPE },
 	{ "i_disc_how",    CT_STRING,      MAX_DISCHOW_LEN,     0,        			NULL, ENTRY_INV_DISC_HOW },
 	{ "i_taxable",     CT_BOOLEAN,     0,                   0,        			NULL, ENTRY_INV_TAXABLE },
@@ -98,6 +100,23 @@
 	{ NULL }
 };
 
+static void
+entry_set_invoice( gpointer pObject, gpointer val )
+{
+	GncEntry* entry;
+	GncInvoice* invoice;
+
+	g_return_if_fail( pObject != NULL );
+	g_return_if_fail( GNC_IS_ENTRY(pObject) );
+	g_return_if_fail( val != NULL );
+	g_return_if_fail( GNC_IS_INVOICE(val) );
+
+	entry = GNC_ENTRY(pObject);
+	invoice = GNC_INVOICE(val);
+
+	gncInvoiceAddEntry( invoice, entry );
+}
+
 static GncEntry*
 load_single_entry( GncSqlBackend* be, GncSqlRow* row )
 {



More information about the gnucash-changes mailing list