gboolean gsb_data_mix_set_sub_category_number ( gint transaction_number, gint no_sub_category, gboolean is_transaction ) { if ( is_transaction ) return (gsb_data_transaction_set_sub_category_number ( transaction_number, no_sub_category ) ); else return (gsb_data_scheduled_set_sub_category_number ( transaction_number, no_sub_category ) ); }
/** * used to catch a transaction from a scheduled transaction * take the category, check if it's a transfer or a split and * do the necessary (create contra-transaction) * don't execute the children if it's a split, need to call * gsb_scheduler_execute_children_of_scheduled_transaction later * * * \param transaction_number * \param scheduled_number * * \return TRUE if ok, FALSE else * */ gboolean gsb_scheduler_get_category_for_transaction_from_transaction ( gint transaction_number, gint scheduled_number ) { /* if category is set, it's a normal category */ if ( gsb_data_scheduled_get_category_number (scheduled_number)) { /* it's a normal category */ gsb_data_transaction_set_category_number ( transaction_number, gsb_data_scheduled_get_category_number (scheduled_number)); gsb_data_transaction_set_sub_category_number ( transaction_number, gsb_data_scheduled_get_sub_category_number (scheduled_number)); return TRUE; } if ( gsb_data_scheduled_get_split_of_scheduled (scheduled_number)) { /* it's a split of transaction, * we don't append the children here, we need to call later * the function gsb_scheduler_execute_children_of_scheduled_transaction */ gsb_data_transaction_set_split_of_transaction ( transaction_number, 1 ); } else { /* it's not a split of transaction and not a normal category so it's a transfer * except if the target account is -1 then it's a * transaction with no category */ if ( gsb_data_scheduled_get_account_number_transfer (scheduled_number) != -1 ) { gint contra_transaction_number; contra_transaction_number = gsb_form_transaction_validate_transfer ( transaction_number, TRUE, gsb_data_scheduled_get_account_number_transfer (scheduled_number)); gsb_data_transaction_set_method_of_payment_number ( contra_transaction_number, gsb_data_scheduled_get_contra_method_of_payment_number (scheduled_number)); } } return TRUE; }