diff --git a/src/business/business-core/file/gnc-employee-xml-v2.c b/src/business/business-core/file/gnc-employee-xml-v2.c index 625bef9d42..708983f558 100644 --- a/src/business/business-core/file/gnc-employee-xml-v2.c +++ b/src/business/business-core/file/gnc-employee-xml-v2.c @@ -76,7 +76,7 @@ maybe_add_string (xmlNodePtr ptr, const char *tag, const char *str) static xmlNodePtr employee_dom_tree_create (GncEmployee *employee) { - xmlNodePtr ret; + xmlNodePtr ret, kvpnode; gnc_numeric num; Account* ccard_acc; @@ -118,6 +118,10 @@ employee_dom_tree_create (GncEmployee *employee) xmlAddChild(ret, guid_to_dom_tree(employee_ccard_string, qof_instance_get_guid(QOF_INSTANCE(ccard_acc)))); + kvpnode = kvp_frame_to_dom_tree (employee_slots_string, + qof_instance_get_slots (QOF_INSTANCE(employee))); + if (kvpnode) xmlAddChild (ret, kvpnode); + return ret; } @@ -286,7 +290,9 @@ employee_ccard_handler (xmlNodePtr node, gpointer employee_pdata) static gboolean employee_slots_handler (xmlNodePtr node, gpointer employee_pdata) { - return TRUE; + struct employee_pdata *pdata = employee_pdata; + return dom_tree_to_kvp_frame_given ( + node, qof_instance_get_slots (QOF_INSTANCE(pdata->employee))); } static struct dom_tree_handler employee_handlers_v2[] = { diff --git a/src/business/business-core/file/gnc-vendor-xml-v2.c b/src/business/business-core/file/gnc-vendor-xml-v2.c index 38c9b7deac..e3bad5beb3 100644 --- a/src/business/business-core/file/gnc-vendor-xml-v2.c +++ b/src/business/business-core/file/gnc-vendor-xml-v2.c @@ -73,7 +73,7 @@ const gchar *vendor_version_string = "2.0.0"; static xmlNodePtr vendor_dom_tree_create (GncVendor *vendor) { - xmlNodePtr ret; + xmlNodePtr ret, kvpnode; GncBillTerm *term; GncTaxTable *taxtable; @@ -118,6 +118,10 @@ vendor_dom_tree_create (GncVendor *vendor) xmlAddChild (ret, guid_to_dom_tree (vendor_taxtable_string, qof_instance_get_guid(QOF_INSTANCE(taxtable)))); + kvpnode = kvp_frame_to_dom_tree (vendor_slots_string, + qof_instance_get_slots (QOF_INSTANCE(vendor))); + if (kvpnode) xmlAddChild (ret, kvpnode); + return ret; } @@ -303,7 +307,10 @@ vendor_taxtableoverride_handler (xmlNodePtr node, gpointer vendor_pdata) static gboolean vendor_slots_handler (xmlNodePtr node, gpointer vendor_pdata) { - return TRUE; + struct vendor_pdata *pdata = vendor_pdata; + return dom_tree_to_kvp_frame_given ( + node, qof_instance_get_slots (QOF_INSTANCE(pdata->vendor))); + } static struct dom_tree_handler vendor_handlers_v2[] = {