mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
Merge Peter Zimmer's 'pkzw_bug797631' into maint.
This commit is contained in:
commit
d825d74c86
@ -64,6 +64,7 @@
|
||||
#include "gnc-ui-util.h"
|
||||
#include "gnc-session.h"
|
||||
#include "import-account-matcher.h"
|
||||
#include "import-utilities.h"
|
||||
#ifndef AQBANKING6
|
||||
# include <aqbanking/dlg_setup.h>
|
||||
#endif
|
||||
@ -682,7 +683,8 @@ static void
|
||||
clear_kvp_acc_cb(gpointer gnc_acc, gpointer ab_acc, gpointer user_data)
|
||||
{
|
||||
g_return_if_fail(gnc_acc);
|
||||
/* Delete complete "hbci..." KVPs for GnuCash account */
|
||||
/* Delete "online-id" and complete "hbci..." KVPs for GnuCash account */
|
||||
gnc_account_delete_map_entry((Account *) gnc_acc, "online_id", NULL, NULL, FALSE);
|
||||
gnc_account_delete_map_entry((Account *) gnc_acc, "hbci", NULL, NULL, FALSE);
|
||||
}
|
||||
|
||||
@ -694,6 +696,10 @@ save_kvp_acc_cb(gpointer key, gpointer value, gpointer user_data)
|
||||
guint32 ab_account_uid;
|
||||
const gchar *ab_accountid, *gnc_accountid;
|
||||
const gchar *ab_bankcode, *gnc_bankcode;
|
||||
#ifdef AQBANKING6
|
||||
gchar *ab_online_id;
|
||||
const gchar *gnc_online_id;
|
||||
#endif
|
||||
|
||||
g_return_if_fail(ab_acc && gnc_acc);
|
||||
|
||||
@ -726,6 +732,14 @@ save_kvp_acc_cb(gpointer key, gpointer value, gpointer user_data)
|
||||
&& (!gnc_bankcode
|
||||
|| (strcmp(gnc_bankcode, ab_bankcode) != 0)))
|
||||
gnc_ab_set_account_bankcode(gnc_acc, ab_bankcode);
|
||||
|
||||
#ifdef AQBANKING6
|
||||
ab_online_id = gnc_ab_create_online_id(ab_bankcode, ab_accountid);
|
||||
gnc_online_id = gnc_import_get_acc_online_id(gnc_acc);
|
||||
if (ab_online_id && (!gnc_online_id || (strcmp(ab_online_id, gnc_online_id) != 0)))
|
||||
gnc_import_set_acc_online_id(gnc_acc, ab_online_id);
|
||||
g_free(ab_online_id);
|
||||
#endif
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -63,7 +63,6 @@ G_GNUC_UNUSED static QofLogModule log_module = G_LOG_DOMAIN;
|
||||
static AB_BANKING *gnc_AB_BANKING = NULL;
|
||||
static gint gnc_AB_BANKING_refcount = 0;
|
||||
|
||||
static gchar* create_online_id(const gchar *bankcode, const gchar *accountnumber);
|
||||
static gpointer join_ab_strings_cb(const gchar *str, gpointer user_data);
|
||||
static Account *gnc_ab_accinfo_to_gnc_acc(GtkWidget *parent,
|
||||
AB_IMEXPORTER_ACCOUNTINFO *account_info);
|
||||
@ -318,8 +317,8 @@ gnc_AB_VALUE_to_readable_string(const AB_VALUE *value)
|
||||
}
|
||||
|
||||
|
||||
static gchar*
|
||||
create_online_id(const gchar *bankcode, const gchar *accountnumber)
|
||||
gchar*
|
||||
gnc_ab_create_online_id(const gchar *bankcode, const gchar *accountnumber)
|
||||
{
|
||||
gchar *online_id;
|
||||
|
||||
@ -669,7 +668,7 @@ gnc_ab_accinfo_to_gnc_acc(GtkWidget *parent, AB_IMEXPORTER_ACCOUNTINFO *acc_info
|
||||
|
||||
bankcode = AB_ImExporterAccountInfo_GetBankCode(acc_info);
|
||||
accountnumber = AB_ImExporterAccountInfo_GetAccountNumber(acc_info);
|
||||
online_id = create_online_id(bankcode, accountnumber);
|
||||
online_id = gnc_ab_create_online_id(bankcode, accountnumber);
|
||||
gnc_acc = gnc_import_select_account(
|
||||
parent, online_id, 1, AB_ImExporterAccountInfo_GetAccountName(acc_info),
|
||||
NULL, ACCT_TYPE_NONE, NULL, NULL);
|
||||
@ -708,7 +707,7 @@ gnc_ab_txn_to_gnc_acc(GtkWidget *parent, const AB_TRANSACTION *transaction)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
online_id = create_online_id(bankcode, accountnumber);
|
||||
online_id = gnc_ab_create_online_id(bankcode, accountnumber);
|
||||
gnc_acc = gnc_import_select_account(
|
||||
parent, online_id, 1, AB_Transaction_GetLocalName(transaction),
|
||||
NULL, ACCT_TYPE_NONE, NULL, NULL);
|
||||
|
@ -276,6 +276,17 @@ gboolean gnc_ab_ieci_run_matcher(GncABImExContextImport *ieci);
|
||||
*/
|
||||
GWEN_DB_NODE *gnc_ab_get_permanent_certs(void);
|
||||
|
||||
/**
|
||||
* Creates an online ID from bank code and account number.
|
||||
*
|
||||
* The returned string must be g_free'd by the caller.
|
||||
*
|
||||
* @param bankcode Bank code
|
||||
* @param accountnumber Account number
|
||||
* @return an online ID
|
||||
*/
|
||||
gchar* gnc_ab_create_online_id(const gchar *bankcode, const gchar *accountnumber);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
/** @} */
|
||||
|
Loading…
Reference in New Issue
Block a user