Esempio n. 1
0
void gncOwnerCommitEdit (GncOwner *owner)
{
    if (!owner) return;
    switch (owner->type)
    {
    case GNC_OWNER_NONE :
    case GNC_OWNER_UNDEFINED :
        break;
    case GNC_OWNER_CUSTOMER :
    {
        gncCustomerCommitEdit(owner->owner.customer);
        break;
    }
    case GNC_OWNER_JOB :
    {
        gncJobCommitEdit(owner->owner.job);
        break;
    }
    case GNC_OWNER_VENDOR :
    {
        gncVendorCommitEdit(owner->owner.vendor);
        break;
    }
    case GNC_OWNER_EMPLOYEE :
    {
        gncEmployeeCommitEdit(owner->owner.employee);
        break;
    }
    }
}
Esempio n. 2
0
static void
test_bool_fcn (QofBook *book, const char *message,
               void (*set) (GncVendor *, gboolean),
               gboolean (*get) (const GncVendor *))
{
    GncVendor *vendor = gncVendorCreate (book);
    gboolean num = get_random_boolean ();

    do_test (!gncVendorIsDirty (vendor), "test if start dirty");
    gncVendorBeginEdit (vendor);
    set (vendor, FALSE);
    set (vendor, TRUE);
    set (vendor, num);
    /* Vendor record should be dirty */
    do_test (gncVendorIsDirty (vendor), "test dirty later");
    gncVendorCommitEdit (vendor);
    /* Vendor record should be not dirty */
    /* Skip, because will always fail without a backend.
     * It's not possible to load a backend in the engine code
     * without having circular dependencies.
     */
    // do_test (!gncVendorIsDirty (vendor), "test dirty after commit");
    do_test (get (vendor) == num, message);
    gncVendorSetActive (vendor, FALSE);
    count++;
}
Esempio n. 3
0
static GncVendor*
dom_tree_to_vendor (xmlNodePtr node, QofBook* book)
{
    struct vendor_pdata vendor_pdata;
    gboolean successful;

    vendor_pdata.vendor = gncVendorCreate (book);
    vendor_pdata.book = book;
    gncVendorBeginEdit (vendor_pdata.vendor);

    successful = dom_tree_generic_parse (node, vendor_handlers_v2,
                                         &vendor_pdata);

    if (successful)
        gncVendorCommitEdit (vendor_pdata.vendor);
    else
    {
        PERR ("failed to parse vendor tree");
        gncVendorDestroy (vendor_pdata.vendor);
        vendor_pdata.vendor = NULL;
    }

    return vendor_pdata.vendor;
}