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

Christian Stimming cstim at cvs.gnucash.org
Sat Sep 10 05:50:11 EDT 2005


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

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-1-8-branch

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

Revision Data
-------------
Index: ChangeLog
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/ChangeLog,v
retrieving revision 1.1461.2.419
retrieving revision 1.1461.2.420
diff -LChangeLog -LChangeLog -u -r1.1461.2.419 -r1.1461.2.420
--- 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-08-29  Derek Atkins  <derek at ihtfp.com>
 
 	* src/engine/date.[ch]: fix for bug #170444 -- pass a better
Index: dialog-hbcitrans.h
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/import-export/hbci/dialog-hbcitrans.h,v
retrieving revision 1.3.2.6
retrieving revision 1.3.2.7
diff -Lsrc/import-export/hbci/dialog-hbcitrans.h -Lsrc/import-export/hbci/dialog-hbcitrans.h -u -r1.3.2.6 -r1.3.2.7
--- 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.2.11
retrieving revision 1.7.2.12
diff -Lsrc/import-export/hbci/gnc-hbci-transfer.c -Lsrc/import-export/hbci/gnc-hbci-transfer.c -u -r1.7.2.11 -r1.7.2.12
--- src/import-export/hbci/gnc-hbci-transfer.c
+++ src/import-export/hbci/gnc-hbci-transfer.c
@@ -229,6 +229,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.2.25
retrieving revision 1.9.2.26
diff -Lsrc/import-export/hbci/dialog-hbcitrans.c -Lsrc/import-export/hbci/dialog-hbcitrans.c -u -r1.9.2.25 -r1.9.2.26
--- 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"
@@ -326,6 +334,7 @@
        the labels accordingly. */
     switch (trans_type) {
     case SINGLE_TRANSFER:
+    case SINGLE_INTERNAL_TRANSFER:
       /* all labels are already set */
       break;
     case SINGLE_DEBITNOTE:
@@ -689,6 +698,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);
@@ -702,6 +721,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: gncmod-hbci.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/import-export/hbci/gncmod-hbci.c,v
retrieving revision 1.16.2.3
retrieving revision 1.16.2.4
diff -Lsrc/import-export/hbci/gncmod-hbci.c -Lsrc/import-export/hbci/gncmod-hbci.c -u -r1.16.2.3 -r1.16.2.4
--- src/import-export/hbci/gncmod-hbci.c
+++ src/import-export/hbci/gncmod-hbci.c
@@ -108,6 +108,17 @@
 			 N_("Issue a new transaction online through HBCI"),
 			 gnc_hbci_register_menu_maketrans_cb, 
 			 GNOME_APP_PIXMAP_NONE),
+#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))))))
+      GNOMEUIINFO_ITEM ( N_("HBCI Issue Internal Transaction"),
+			 N_("Issue a new bank-internal transaction online through HBCI"),
+			 gnc_hbci_register_menu_makeinttrans_cb, 
+			 GNOME_APP_PIXMAP_NONE),
+#endif
       GNOMEUIINFO_ITEM ( N_("HBCI Issue Direct Debit"),
 			 N_("Issue a new direct debit note online through HBCI"),
 			 gnc_hbci_register_menu_makedebnote_cb, 
Index: gnc-hbci-cb.h
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/import-export/hbci/gnc-hbci-cb.h,v
retrieving revision 1.5
retrieving revision 1.5.2.1
diff -Lsrc/import-export/hbci/gnc-hbci-cb.h -Lsrc/import-export/hbci/gnc-hbci-cb.h -u -r1.5 -r1.5.2.1
--- src/import-export/hbci/gnc-hbci-cb.h
+++ src/import-export/hbci/gnc-hbci-cb.h
@@ -51,6 +51,11 @@
 gnc_hbci_register_menu_maketrans_cb (GtkWidget * widget, 
 				     gpointer data);
 
+/* Callback from register window to invoke Internal Transaction invocation. */
+void
+gnc_hbci_register_menu_makeinttrans_cb (GtkWidget * widget, 
+					gpointer data);
+
 /* Callback from register window to invoke Debit Note invocation. */
 void
 gnc_hbci_register_menu_makedebnote_cb (GtkWidget * widget, 
Index: gnc-hbci-cb.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/import-export/hbci/gnc-hbci-cb.c,v
retrieving revision 1.8
retrieving revision 1.8.2.1
diff -Lsrc/import-export/hbci/gnc-hbci-cb.c -Lsrc/import-export/hbci/gnc-hbci-cb.c -u -r1.8 -r1.8.2.1
--- src/import-export/hbci/gnc-hbci-cb.c
+++ src/import-export/hbci/gnc-hbci-cb.c
@@ -129,6 +129,25 @@
 }
 
 void
+gnc_hbci_register_menu_makeinttrans_cb (GtkWidget * widget, 
+					gpointer data)
+{
+  RegWindow *regData = data;
+  GNCLedgerDisplay *ledger = NULL;
+  Account *account = NULL;
+
+  g_assert (regData);
+  ledger = gnc_RegWindow_ledger (regData);
+  g_assert (ledger);
+  account = gnc_ledger_display_leader (ledger);
+  if (!account)
+      return;
+    
+  gnc_hbci_maketrans (gnc_RegWindow_window (regData), account, 
+		      SINGLE_INTERNAL_TRANSFER);
+}
+
+void
 gnc_hbci_register_menu_makedebnote_cb (GtkWidget * widget, 
 				       gpointer data)
 {


More information about the gnucash-changes mailing list