Commit Graph

6 Commits

Author SHA1 Message Date
Derek Atkins
499a4d5e76 * src/business/business-core/file/gnc-*.c:
Add a "slots" parameter to allow for future expansion.  Right
	  now this is completely ignored (which will allow future releases
	  to add a kvp-frame slots to any business function and allow that
	  file to be read by older versions).  Right now the slot is ignored,
	  but that's better than barfing on the data file.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@9285 57a11ea4-9604-0410-9ed3-97b8803252fd
2003-09-11 17:37:01 +00:00
Derek Atkins
a436587841 * src/business/business-core/gncBillTerm.c: fix gncBillTermCopy()
so it PROPERLY copies the bill term.  Oops!
	* src/business/business-core/file/gnc-tax-table-xml-v2.c:
	  when rebuilding the refcount, make sure we fix the grandparent
	  problems first so we refcount the correct object.
	* src/business/business-core/file/gnc-bill-term-xml-v2.c:
	  when rebuilding the refcount, make sure we fix the grandparent
	  problems first so we refcount the correct object.  Also cope
	  with the broken gncBillTermCopy() and hope that the existing
	  parent is correct.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@8638 57a11ea4-9604-0410-9ed3-97b8803252fd
2003-06-17 21:38:41 +00:00
Derek Atkins
d2c193825a * src/backend/file/io-gncxml-v2.[ch]: add API to the plugin
modules to allow post-processing (scrubbing) of the book after
	  it is loaded from XML.  This allows a plug-in to post-process
	  the complete book.
	* src/business/business-core/file/gnc-customer-xml-v2.c:
	* src/business/business-core/file/gnc-employee-xml-v2.c:
	* src/business/business-core/file/gnc-entry-xml-v2.c:
	* src/business/business-core/file/gnc-invoice-xml-v2.c:
	* src/business/business-core/file/gnc-job-xml-v2.c:
	* src/business/business-core/file/gnc-order-xml-v2.c:
	* src/business/business-core/file/gnc-vendor-xml-v2.c:
	  add a NULL scrub member to the XML plugin API.
	* src/business/business-core/file/gnc-tax-table-xml-v2.c:
	  create a scrub function to clear up bogus tax tables due
	  to bug #114888 (and related bugs) which could cause
	  tax tables to get created ad-nausium if you post and then
	  unpost an invoice.  Scrubs all the entries for bogus
	  tax tables, and then clears out the bogus tax tables.
	* src/business/business-core/file/gnc-bill-term-xml-v2.c:
	  Hook in an empty scrub routine, because I think the same
	  bug exists here, but I'll work on that later.
	* src/business/business-core/gncEntry.c:
	  make sure we properly dereference tax tables when we destroy
	  an entry.
	* src/business/business-core/gncTaxTable.c:
	  - keep a list of children so we can unref ourselves from our
	    children when we get destroyed
	  - deal with parentless children
	Fixes bug #114888 -- don't generate phantom (parent) tax tables
	and clean up any existing bogus tax tables.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@8595 57a11ea4-9604-0410-9ed3-97b8803252fd
2003-06-14 04:31:03 +00:00
Derek Atkins
ac574a38eb * engine/gnc-be-utils.h: implement macro helpers for begin/commit functions
* business/business-core/*.c: Implement BeginEdit()/CommitEdit() functions
	  for all the business-accounting data objects.
	* Use the begin/commit calls in the GUI and file-backend.
	* mostly fixes bug #96855.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@7431 57a11ea4-9604-0410-9ed3-97b8803252fd
2002-11-03 20:21:42 +00:00
Derek Atkins
52b503aca9 * fix the business XML to use symbolic names for enums (instead of
their integer values).  This is an incompatible change -- old
	business XML objects will not load properly.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@7053 57a11ea4-9604-0410-9ed3-97b8803252fd
2002-07-01 18:31:48 +00:00
Derek Atkins
3738df9fc4 * business-core/file/gnc-tax-table-xml-v2.*: Create a preliminary
xml implementation for storing tax tables.

* add some more functions to gncTaxTable.[ch]


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@6965 57a11ea4-9604-0410-9ed3-97b8803252fd
2002-06-14 20:18:34 +00:00