[Gnucash-changes] Add support for HBCI internal bank transfers.

Christian Stimming cstim at cvs.gnucash.org
Sat Sep 10 05:51:48 EDT 2005


Log Message:
-----------
Add support for HBCI internal bank transfers.

Committed only to gnome2-branch so that it will arrive in HEAD
at the final gnome2->HEAD merge.

2005-09-10  Christian Stimming  <stimming at tuhh.de>

	* src/import-export/hbci/dialog-hbcitrans.[hc]: Add support for
	"internal bank transfers" as supported by latest aqbanking. If
	aqbanking >= 1.6.1 is available, it will automatically be compiled
	in, otherwise ifdef'd out.

Tags:
----
gnucash-gnome2-dev

Modified Files:
--------------
    gnucash:
        ChangeLog
    gnucash/src/import-export/hbci:
        dialog-hbcitrans.c
        dialog-hbcitrans.h
        gnc-hbci-transfer.c
        gnc-plugin-hbci.c

Revision Data
-------------
Index: ChangeLog
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/ChangeLog,v
retrieving revision 1.1487.2.282
retrieving revision 1.1487.2.283
diff -LChangeLog -LChangeLog -u -r1.1487.2.282 -r1.1487.2.283
--- ChangeLog
+++ ChangeLog
@@ -1,3 +1,10 @@
+2005-09-10  Christian Stimming  <stimming at tuhh.de>
+
+	* src/import-export/hbci/dialog-hbcitrans.[hc]: Add support for
+	"internal bank transfers" as supported by latest aqbanking. If
+	aqbanking >= 1.6.1 is available, it will automatically be compiled
+	in, otherwise ifdef'd out.
+
 2005-09-08  David Hampton  <hampton at employees.org>
 
 	* lib/libc/Makefile.am:
Index: dialog-hbcitrans.h
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/import-export/hbci/dialog-hbcitrans.h,v
retrieving revision 1.3.4.4
retrieving revision 1.3.4.5
diff -Lsrc/import-export/hbci/dialog-hbcitrans.h -Lsrc/import-export/hbci/dialog-hbcitrans.h -u -r1.3.4.4 -r1.3.4.5
--- src/import-export/hbci/dialog-hbcitrans.h
+++ src/import-export/hbci/dialog-hbcitrans.h
@@ -39,7 +39,8 @@
 
 typedef enum GNC_HBCI_Transtype {
   SINGLE_TRANSFER = 0,
-  SINGLE_DEBITNOTE
+  SINGLE_DEBITNOTE,
+  SINGLE_INTERNAL_TRANSFER
 } GNC_HBCI_Transtype;
 
 
Index: gnc-hbci-transfer.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/import-export/hbci/gnc-hbci-transfer.c,v
retrieving revision 1.7.4.8
retrieving revision 1.7.4.9
diff -Lsrc/import-export/hbci/gnc-hbci-transfer.c -Lsrc/import-export/hbci/gnc-hbci-transfer.c -u -r1.7.4.8 -r1.7.4.9
--- src/import-export/hbci/gnc-hbci-transfer.c
+++ src/import-export/hbci/gnc-hbci-transfer.c
@@ -232,6 +232,8 @@
   switch (trans_type) {
   case SINGLE_DEBITNOTE:
     gnc_xfer_dialog_set_title (transdialog, _("Online HBCI Direct Debit Note"));
+  case SINGLE_INTERNAL_TRANSFER:
+    gnc_xfer_dialog_set_title (transdialog, _("Online HBCI Bank-Internal Transfer"));
   case SINGLE_TRANSFER:
   default:
     gnc_xfer_dialog_set_title (transdialog, _("Online HBCI Transaction"));
Index: dialog-hbcitrans.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/import-export/hbci/dialog-hbcitrans.c,v
retrieving revision 1.9.4.14
retrieving revision 1.9.4.15
diff -Lsrc/import-export/hbci/dialog-hbcitrans.c -Lsrc/import-export/hbci/dialog-hbcitrans.c -u -r1.9.4.14 -r1.9.4.15
--- src/import-export/hbci/dialog-hbcitrans.c
+++ src/import-export/hbci/dialog-hbcitrans.c
@@ -31,6 +31,14 @@
 #include <aqbanking/account.h>
 #include <aqbanking/jobsingletransfer.h>
 #include <aqbanking/jobsingledebitnote.h>
+#if ((AQBANKING_VERSION_MAJOR > 1) || \
+     ((AQBANKING_VERSION_MAJOR == 1) && \
+      ((AQBANKING_VERSION_MINOR > 6) || \
+       ((AQBANKING_VERSION_MINOR == 6) && \
+        ((AQBANKING_VERSION_PATCHLEVEL > 0) || \
+	 (AQBANKING_VERSION_BUILD > 2))))))
+# include <aqbanking/jobinternaltransfer.h>
+#endif
 #include <iconv.h>
 
 #include "dialog-utils.h"
@@ -338,6 +346,7 @@
        the labels accordingly. */
     switch (trans_type) {
     case SINGLE_TRANSFER:
+    case SINGLE_INTERNAL_TRANSFER:
       /* all labels are already set */
       break;
     case SINGLE_DEBITNOTE:
@@ -703,6 +712,16 @@
   case SINGLE_DEBITNOTE:
     job = AB_JobSingleDebitNote_new(h_acc);
     break;
+  case SINGLE_INTERNAL_TRANSFER:
+#if ((AQBANKING_VERSION_MAJOR > 1) || \
+     ((AQBANKING_VERSION_MAJOR == 1) && \
+      ((AQBANKING_VERSION_MINOR > 6) || \
+       ((AQBANKING_VERSION_MINOR == 6) && \
+        ((AQBANKING_VERSION_PATCHLEVEL > 0) || \
+	 (AQBANKING_VERSION_BUILD > 2))))))
+    job = AB_JobInternalTransfer_new(h_acc);
+    break;
+#endif
   default:
   case SINGLE_TRANSFER:
     job = AB_JobSingleTransfer_new(h_acc);
@@ -716,6 +735,16 @@
   case SINGLE_DEBITNOTE:
     AB_JobSingleDebitNote_SetTransaction(job, td->hbci_trans);
     break;
+  case SINGLE_INTERNAL_TRANSFER:
+#if ((AQBANKING_VERSION_MAJOR > 1) || \
+     ((AQBANKING_VERSION_MAJOR == 1) && \
+      ((AQBANKING_VERSION_MINOR > 6) || \
+       ((AQBANKING_VERSION_MINOR == 6) && \
+        ((AQBANKING_VERSION_PATCHLEVEL > 0) || \
+	 (AQBANKING_VERSION_BUILD > 2))))))
+    AB_JobInternalTransfer_SetTransaction(job, td->hbci_trans);
+    break;
+#endif
   default:
   case SINGLE_TRANSFER:
     AB_JobSingleTransfer_SetTransaction(job, td->hbci_trans);
Index: gnc-plugin-hbci.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/import-export/hbci/Attic/gnc-plugin-hbci.c,v
retrieving revision 1.1.2.6
retrieving revision 1.1.2.7
diff -Lsrc/import-export/hbci/gnc-plugin-hbci.c -Lsrc/import-export/hbci/gnc-plugin-hbci.c -u -r1.1.2.6 -r1.1.2.7
--- src/import-export/hbci/gnc-plugin-hbci.c
+++ src/import-export/hbci/gnc-plugin-hbci.c
@@ -64,6 +64,14 @@
 static void gnc_plugin_hbci_cmd_get_balance (GtkAction *action, GncMainWindowActionData *data);
 static void gnc_plugin_hbci_cmd_get_transactions (GtkAction *action, GncMainWindowActionData *data);
 static void gnc_plugin_hbci_cmd_issue_transaction (GtkAction *action, GncMainWindowActionData *data);
+#if ((AQBANKING_VERSION_MAJOR > 1) || \
+     ((AQBANKING_VERSION_MAJOR == 1) && \
+      ((AQBANKING_VERSION_MINOR > 6) || \
+       ((AQBANKING_VERSION_MINOR == 6) && \
+        ((AQBANKING_VERSION_PATCHLEVEL > 0) || \
+	 (AQBANKING_VERSION_BUILD > 2))))))
+static void gnc_plugin_hbci_cmd_issue_inttransaction (GtkAction *action, GncMainWindowActionData *data);
+#endif
 static void gnc_plugin_hbci_cmd_issue_direct_debit (GtkAction *action, GncMainWindowActionData *data);
 
 
@@ -84,9 +92,19 @@
   { "HbciGetTransAction", NULL, N_("HBCI Get _Transactions"), NULL,
     N_("Get the transactions online through HBCI"),
     G_CALLBACK (gnc_plugin_hbci_cmd_get_transactions) },
-  { "HbciIssueTransAction", NULL, N_("HBCI _Issue Transactions"), NULL,
+  { "HbciIssueTransAction", NULL, N_("HBCI _Issue Transaction"), NULL,
     N_("Issue a new transaction online through HBCI"),
     G_CALLBACK (gnc_plugin_hbci_cmd_issue_transaction) },
+#if ((AQBANKING_VERSION_MAJOR > 1) || \
+     ((AQBANKING_VERSION_MAJOR == 1) && \
+      ((AQBANKING_VERSION_MINOR > 6) || \
+       ((AQBANKING_VERSION_MINOR == 6) && \
+        ((AQBANKING_VERSION_PATCHLEVEL > 0) || \
+	 (AQBANKING_VERSION_BUILD > 2))))))
+  { "HbciIssueIntTransAction", NULL, N_("HBCI Issue Internal Transaction"), NULL,
+    N_("Issue a new bank-internal transaction online through HBCI"),
+    G_CALLBACK (gnc_plugin_hbci_cmd_issue_inttransaction) },
+#endif
   { "HbciIssueDirectDebitAction", NULL, N_("HBCI Issue _Direct Debit"), NULL,
     N_("Issue a new direct debit note online through HBCI"),
     G_CALLBACK (gnc_plugin_hbci_cmd_issue_direct_debit) },
@@ -433,6 +451,30 @@
   LEAVE(" ");
 }
 
+#if ((AQBANKING_VERSION_MAJOR > 1) || \
+     ((AQBANKING_VERSION_MAJOR == 1) && \
+      ((AQBANKING_VERSION_MINOR > 6) || \
+       ((AQBANKING_VERSION_MINOR == 6) && \
+        ((AQBANKING_VERSION_PATCHLEVEL > 0) || \
+	 (AQBANKING_VERSION_BUILD > 2))))))
+static void
+gnc_plugin_hbci_cmd_issue_inttransaction (GtkAction *action,
+					GncMainWindowActionData *data)
+{
+  Account *account;
+
+  ENTER("action %p, main window data %p", action, data);
+  account = main_window_to_account(data->window);
+  if (account == NULL) {
+    LEAVE("no account");
+    return;
+  }
+
+  gnc_hbci_maketrans(GTK_WIDGET(data->window), account, SINGLE_INTERNAL_TRANSFER);
+  LEAVE(" ");
+}
+#endif
+
 static void
 gnc_plugin_hbci_cmd_issue_direct_debit (GtkAction *action,
 					GncMainWindowActionData *data)


More information about the gnucash-changes mailing list