[grisbi-cvs] grisbi/src barre_outils.c, 1.116, 1.117 categories_onglet.c, 1.178, 1.179 gsb_assistant_account.c, 1.20, 1.21 gsb_data_payment.c, 1.9, 1.10 gsb_data_payment.h, 1.5, 1.6 gsb_form_scheduler.c, 1.28, 1.29 gsb_form_widget.c, 1.24, 1.25 gsb_transactions_list.c, 1.142, 1.143 import.c, 1.250, 1.251 import.h, 1.36, 1.37 imputation_budgetaire.c, 1.143, 1.144 main.c, 1.131, 1.132 tiers_onglet.c, 1.138, 1.139 transaction_list.c, 1.23, 1.24 utils_str.c, 1.59, 1.60

Pierre Biava pbiava at users.sourceforge.net
Sun Nov 16 21:34:27 CET 2008


Update of /cvsroot/grisbi/grisbi/src
In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv3921/src

Modified Files:
	barre_outils.c categories_onglet.c gsb_assistant_account.c 
	gsb_data_payment.c gsb_data_payment.h gsb_form_scheduler.c 
	gsb_form_widget.c gsb_transactions_list.c import.c import.h 
	imputation_budgetaire.c main.c tiers_onglet.c 
	transaction_list.c utils_str.c 
Log Message:
modification de import.c pour initialiser automatiquement le mode de payement à partir du fichier ofx.

Index: gsb_form_widget.c
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/gsb_form_widget.c,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -d -r1.24 -r1.25
--- gsb_form_widget.c	16 Nov 2008 07:45:58 -0000	1.24
+++ gsb_form_widget.c	16 Nov 2008 20:34:25 -0000	1.25
@@ -47,9 +47,9 @@
 #include "./gsb_data_payment.h"
 #include "./gtk_combofix.h"
 #include "./include.h"
+#include "./structures.h"
 #include "./gsb_data_form.h"
 #include "./erreur.h"
-#include "./structures.h"
 /*END_INCLUDE*/
 
 /*START_STATIC*/

Index: imputation_budgetaire.c
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/imputation_budgetaire.c,v
retrieving revision 1.143
retrieving revision 1.144
diff -u -d -r1.143 -r1.144
--- imputation_budgetaire.c	13 Nov 2008 19:32:44 -0000	1.143
+++ imputation_budgetaire.c	16 Nov 2008 20:34:25 -0000	1.144
@@ -48,10 +48,10 @@
 #include "./utils_file_selection.h"
 #include "./gtk_combofix.h"
 #include "./metatree.h"
+#include "./structures.h"
 #include "./gsb_data_form.h"
 #include "./include.h"
 #include "./erreur.h"
-#include "./structures.h"
 /*END_INCLUDE*/
 
 /*START_STATIC*/

Index: transaction_list.c
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/transaction_list.c,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -d -r1.23 -r1.24
--- transaction_list.c	27 Oct 2008 23:16:51 -0000	1.23
+++ transaction_list.c	16 Nov 2008 20:34:25 -0000	1.24
@@ -35,6 +35,7 @@
 #include "transaction_list.h"
 #include "./custom_list.h"
 #include "./dialog.h"
+#include "./affichage_liste.h"
 #include "./gsb_transactions_list.h"
 #include "./gsb_data_account.h"
 #include "./gsb_data_archive.h"
@@ -55,7 +56,6 @@
 #include "./erreur.h"
 #include "./structures.h"
 #include "./gsb_real.h"
-#include "./affichage_liste.h"
 /*END_INCLUDE*/
 
 /*START_STATIC*/

Index: barre_outils.c
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/barre_outils.c,v
retrieving revision 1.116
retrieving revision 1.117
diff -u -d -r1.116 -r1.117
--- barre_outils.c	6 Nov 2008 21:04:37 -0000	1.116
+++ barre_outils.c	16 Nov 2008 20:34:25 -0000	1.117
@@ -42,8 +42,8 @@
 #include "./traitement_variables.h"
 #include "./print_transactions_list.h"
 #include "./utils_buttons.h"
-#include "./include.h"
 #include "./structures.h"
+#include "./include.h"
 /*END_INCLUDE*/
 
 /*START_STATIC*/

Index: gsb_assistant_account.c
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/gsb_assistant_account.c,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -d -r1.20 -r1.21
--- gsb_assistant_account.c	27 Oct 2008 21:33:22 -0000	1.20
+++ gsb_assistant_account.c	16 Nov 2008 20:34:25 -0000	1.21
@@ -39,8 +39,8 @@
 #include "./gsb_data_currency.h"
 #include "./gsb_real.h"
 #include "./utils.h"
-#include "./gsb_data_account.h"
 #include "./structures.h"
+#include "./gsb_data_account.h"
 #include "./include.h"
 /*END_INCLUDE*/
 

Index: main.c
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/main.c,v
retrieving revision 1.131
retrieving revision 1.132
diff -u -d -r1.131 -r1.132
--- main.c	27 Oct 2008 14:34:36 -0000	1.131
+++ main.c	16 Nov 2008 20:34:25 -0000	1.132
@@ -51,9 +51,9 @@
 #include "./parse_cmdline.h"
 #include "./import.h"
 #include "./parse_cmdline.h"
-#include "./structures.h"
 #include "./include.h"
 #include "./erreur.h"
+#include "./structures.h"
 /*END_INCLUDE*/
 
 

Index: gsb_data_payment.c
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/gsb_data_payment.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- gsb_data_payment.c	8 Oct 2008 15:23:50 -0000	1.9
+++ gsb_data_payment.c	16 Nov 2008 20:34:25 -0000	1.10
@@ -208,6 +208,41 @@
 
 
 /**
+ * return the number of the payment given in param
+ *
+ * \param the name of the payment
+ * \param the account_number
+ *
+ * \return the number of the payment, 0 if problem
+ * */
+gint gsb_data_payment_get_number_by_name ( const gchar *name,
+						    gint account_number )
+{
+    GSList *tmp_list;
+    gint payment_number = 0 ;
+    gint compare;
+    
+    tmp_list = payment_list;
+
+    while ( tmp_list )
+    {
+	struct_payment *payment;
+
+	payment = tmp_list -> data;
+
+	if ( payment -> account_number == account_number )
+    {
+        if ( (compare = gsb_strcasecmp (  (gchar *)name, payment -> payment_name ) ) == 0 )
+            return payment -> payment_number;
+    }
+	tmp_list = tmp_list -> next;
+    }
+
+    return payment_number;
+}
+
+
+/**
  * find and return the last number of payment
  * carrefull, it's an internal function to create a new payment number,
  * nothing to see to the number of cheque we want to increase

Index: categories_onglet.c
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/categories_onglet.c,v
retrieving revision 1.178
retrieving revision 1.179
diff -u -d -r1.178 -r1.179
--- categories_onglet.c	13 Nov 2008 19:32:44 -0000	1.178
+++ categories_onglet.c	16 Nov 2008 20:34:25 -0000	1.179
@@ -40,9 +40,9 @@
 #include "./gsb_transactions_list.h"
 #include "./utils_file_selection.h"
 #include "./metatree.h"
+#include "./structures.h"
 #include "./include.h"
 #include "./erreur.h"
-#include "./structures.h"
 /*END_INCLUDE*/
 
 /*START_STATIC*/

Index: import.c
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/import.c,v
retrieving revision 1.250
retrieving revision 1.251
diff -u -d -r1.250 -r1.251
--- import.c	16 Nov 2008 07:48:56 -0000	1.250
+++ import.c	16 Nov 2008 20:34:25 -0000	1.251
@@ -22,7 +22,8 @@
 
 
 #include "include.h"
-
+#include <libofx/libofx.h>
+ 
 /*START_INCLUDE*/
 #include "import.h"
 #include "./utils.h"
@@ -100,7 +101,7 @@
 static GSList *gsb_import_create_file_chooser (const char *enc);
 static gint gsb_import_create_imported_account ( struct struct_compte_importation *imported_account );
 static gint gsb_import_create_transaction ( struct struct_ope_importation *imported_transaction,
-				     gint account_number );
+				     gint account_number, gchar * origine );
 static gboolean gsb_import_set_tmp_file ( gchar * filename,
 				       gchar * pointeur_char );
 static gboolean import_account_action_activated ( GtkWidget * radio, gint action );
@@ -1726,7 +1727,6 @@
 				     imported_account -> id_compte );
     }
 
-
     /* on fait un premier tour de la liste des opés pour repérer celles qui sont déjà entrées */
     /*   si on n'importe que du ofx, c'est facile, chaque opé est repérée par une id */
     /*     donc si l'opé importée a une id, il suffit de rechercher l'id dans le compte, si elle */
@@ -1768,9 +1768,9 @@
 	imported_transaction = list_tmp -> data;
     
     /* on remplace ici le caractère utilisé pour contourner le bug de la libofx "&"
-       par le bon caractère "°" */
-       
-    if ( imported_transaction -> cheque )
+       par le bon caractère "°" 
+       regarder si on ne pourrait pas utiliser imported_account -> type_de_compte */
+    if ( g_ascii_strcasecmp (imported_account -> origine, "OFX") == 0 && imported_transaction -> cheque )
     imported_transaction -> tiers = my_strdelimit (imported_transaction -> tiers, "&", "°");
 
 	/* on ne fait le tour de la liste des opés que si la date de l'opé importée est inférieure à la dernière date */
@@ -1880,7 +1880,7 @@
 		imported_transaction -> devise = gsb_data_currency_get_number_by_code_iso4217 (imported_account -> devise);
 
 	    transaction_number = gsb_import_create_transaction ( imported_transaction,
-								 account_number );
+								 account_number, imported_account -> origine );
 
 	    /* invert the amount of the transaction if asked */
 	    if (imported_account -> invert_transaction_amount)
@@ -2148,7 +2148,7 @@
  * \return the number of the new transaction
  * */
 gint gsb_import_create_transaction ( struct struct_ope_importation *imported_transaction,
-				     gint account_number )
+				     gint account_number, gchar * origine )
 {
     gchar **tab_str;
     gint transaction_number;
@@ -2259,7 +2259,69 @@
     /* récupération des notes */
     gsb_data_transaction_set_notes ( transaction_number,
 				     imported_transaction -> notes );
+    
+    if (origine && g_ascii_strcasecmp (origine, "OFX") == 0 )
+    {
+    gint payment_number = 0;
+    
+    switch ( imported_transaction -> type_de_transaction )
+	{
+	    case OFX_CHECK:
+        payment_number = gsb_data_payment_get_number_by_name ( _("Check"),
+						    account_number );
+        gsb_data_transaction_set_method_of_payment_number (transaction_number, payment_number);
+		break;
+	    //~ case OFX_INT:
+		//~ break;
+	    //~ case OFX_DIV:
+		//~ break;
+	    //~ case OFX_SRVCHG:
+		//~ break;
+	    //~ case OFX_FEE:
+		//~ break;
+	    case OFX_DEP:
+        payment_number = gsb_data_payment_get_number_by_name ( _("Direct deposit"),
+						    account_number );
+        gsb_data_transaction_set_method_of_payment_number (transaction_number, payment_number);
+		break;
+	    case OFX_ATM:
+        payment_number = gsb_data_payment_get_number_by_name ( _("Credit card"),
+						    account_number );
+        gsb_data_transaction_set_method_of_payment_number (transaction_number, payment_number);
+		break;
+	    //~ case OFX_POS:
+		//~ break;
+	    //~ case OFX_XFER:
+		//~ break;
+	    case OFX_PAYMENT:
+        payment_number = gsb_data_payment_get_number_by_name ( _("Direct debit"),
+						    account_number );
+        gsb_data_transaction_set_method_of_payment_number (transaction_number, payment_number);
+		break;
+	    //~ case OFX_CASH:
+		//~ break;
+	    case OFX_DIRECTDEP:
+		payment_number = gsb_data_payment_get_number_by_name ( _("Transfert"),
+						    account_number );
+        gsb_data_transaction_set_method_of_payment_number (transaction_number, payment_number);
+		break;
+	    case OFX_DIRECTDEBIT:
+         payment_number = gsb_data_payment_get_number_by_name ( _("Direct debit"),
+						    account_number );
+        gsb_data_transaction_set_method_of_payment_number (transaction_number, payment_number);
+
+		break;
+	    //~ case OFX_REPEATPMT:
+		//~ break;
 
+	    case OFX_DEBIT:
+	    case OFX_CREDIT:
+	    case OFX_OTHER:
+		break;
+	}  
+    }
+    else
+    {
     /* récupération du chèque et mise en forme du type d'opération */
     if ( imported_transaction -> cheque )
     {
@@ -2343,7 +2405,7 @@
 	    gsb_data_transaction_set_method_of_payment_number ( transaction_number,
 								gsb_data_account_get_default_credit (account_number));
     }
-
+    }
     /* récupération du pointé */
     gsb_data_transaction_set_marked_transaction ( transaction_number,
 						  imported_transaction -> p_r );
@@ -2834,7 +2896,7 @@
 		    ope_import = list_tmp -> data;
 
 		    transaction_number = gsb_import_create_transaction ( ope_import,
-									 ope_import -> no_compte );
+									 ope_import -> no_compte , NULL);
 		    gsb_data_transaction_set_marked_transaction ( transaction_number,
 								  2 );
 

Index: gsb_data_payment.h
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/gsb_data_payment.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- gsb_data_payment.h	8 Oct 2008 15:23:50 -0000	1.5
+++ gsb_data_payment.h	16 Nov 2008 20:34:25 -0000	1.6
@@ -17,6 +17,8 @@
 GSList *gsb_data_payment_get_list_for_account ( gint account_number );
 const gchar *gsb_data_payment_get_name ( gint payment_number );
 gint gsb_data_payment_get_number ( gpointer payment_ptr );
+gint gsb_data_payment_get_number_by_name ( const gchar *name,
+						    gint account_number );
 GSList *gsb_data_payment_get_payments_list ( void );
 gint gsb_data_payment_get_show_entry ( gint payment_number );
 gint gsb_data_payment_get_sign ( gint payment_number );

Index: gsb_transactions_list.c
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/gsb_transactions_list.c,v
retrieving revision 1.142
retrieving revision 1.143
diff -u -d -r1.142 -r1.143
--- gsb_transactions_list.c	12 Nov 2008 22:30:22 -0000	1.142
+++ gsb_transactions_list.c	16 Nov 2008 20:34:25 -0000	1.143
@@ -58,13 +58,13 @@
 #include "./transaction_list_select.h"
 #include "./transaction_list_sort.h"
 #include "./transaction_model.h"
+#include "./structures.h"
 #include "./custom_list.h"
 #include "./fenetre_principale.h"
 #include "./include.h"
 #include "./gsb_data_transaction.h"
 #include "./mouse.h"
 #include "./erreur.h"
-#include "./structures.h"
 #include "./gsb_real.h"
 /*END_INCLUDE*/
 

Index: import.h
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/import.h,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -d -r1.36 -r1.37
--- import.h	3 Sep 2008 21:45:44 -0000	1.36
+++ import.h	16 Nov 2008 20:34:25 -0000	1.37
@@ -60,16 +60,16 @@
 {
     gchar *id_operation;
 
-    gint no_compte;    /*  mis à jour si lors du marquage, si pas d'opé associée trouvée */
-    gint devise;      /* mis à jour au moment de l'enregistrement de l'opé */
+    gint no_compte;             /* mis à jour si lors du marquage, si pas d'opé associée trouvée */
+    gint devise;                /* mis à jour au moment de l'enregistrement de l'opé */
     GDate *date;
     GDate *date_de_valeur;
-    gchar *date_tmp;      /* pour un fichier qif, utilisé en tmp avant de le transformer en gdate */
-
-    gint action;		/* IMPORT_TRANSACTION_GET_TRANSACTION, IMPORT_TRANSACTION_ASK_FOR_TRANSACTION, IMPORT_TRANSACTION_LEAVE_TRANSACTION*/
-    gint ope_correspondante; /* contient l'adrde l'opé qui correspond peut être à l'opé importée pour la présentation à l'utilisateur */
-    GtkWidget *bouton;  /*  adr du bouton si cette opé est douteuse et vérifiée par l'utilisateur */
+    gchar *date_tmp;            /* pour un fichier qif, utilisé en tmp avant de le transformer en gdate */
 
+    gint action;		        /* IMPORT_TRANSACTION_GET_TRANSACTION, IMPORT_TRANSACTION_ASK_FOR_TRANSACTION, IMPORT_TRANSACTION_LEAVE_TRANSACTION*/
+    gint ope_correspondante;    /* contient l'adr de l'opé qui correspond peut être à l'opé importée pour la présentation à l'utilisateur */
+    GtkWidget *bouton;          /*  adr du bouton si cette opé est douteuse et vérifiée par l'utilisateur */
+    
     gchar *tiers;
     gchar *notes;
     gulong cheque;

Index: tiers_onglet.c
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/tiers_onglet.c,v
retrieving revision 1.138
retrieving revision 1.139
diff -u -d -r1.138 -r1.139
--- tiers_onglet.c	13 Nov 2008 19:32:44 -0000	1.138
+++ tiers_onglet.c	16 Nov 2008 20:34:25 -0000	1.139
@@ -51,10 +51,10 @@
 #include "./gsb_transactions_list.h"
 #include "./gtk_combofix.h"
 #include "./metatree.h"
+#include "./structures.h"
 #include "./gsb_data_form.h"
 #include "./include.h"
 #include "./erreur.h"
-#include "./structures.h"
 /*END_INCLUDE*/
 
 /*START_STATIC*/

Index: utils_str.c
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/utils_str.c,v
retrieving revision 1.59
retrieving revision 1.60
diff -u -d -r1.59 -r1.60
--- utils_str.c	14 Oct 2008 16:37:51 -0000	1.59
+++ utils_str.c	16 Nov 2008 20:34:25 -0000	1.60
@@ -135,7 +135,7 @@
 
 
 /***********************************************************************************************************/
-/* cette fonction protÚge atoi qui plante quand on lui envoie un null */
+/* cette fonction protège atoi qui plante quand on lui envoie un null */
 /***********************************************************************************************************/
 /*!
  * @brief Secured version of atoi
@@ -165,17 +165,17 @@
 
 /******************************************************************************/
 /* Fonction my_strtod (string to decimal)                                    */
-/* Convertie une chaine de caractÚres en un nombre                            */
-/* ParamÚtres d'entrée :                                                      */
+/* Convertie une chaine de caractères en un nombre                            */
+/* Paramètres d'entrée :                                                      */
 /*   - nptr : pointeur sur la chaine de caractÚres à convertir                */
-/*   - endptr : n'est pas utilisé, alors à quoi peut-il bien servir ?         */
+/*   - endptr : n'est pas utilisé, alors à quoi peut-il bien servir ?         */
 /* Valeur de retour :                                                         */
-/*   - resultat : le résultat de la conversion                                */
+/*   - resultat : le résultat de la conversion                                */
 /* Variables locales :                                                        */
-/*   - entier : la partie entiÚre du résultat                                 */
-/*   - mantisse : la partie décimale du résultat                              */
-/*   - invert : le signe du résultat (0 -> positif, 1 -> négatif)             */
-/*   - p, m : pointeurs locaux sur la chaine de caractÚres à convertir        */
+/*   - entier : la partie entière du résultat                                 */
+/*   - mantisse : la partie décimale du résultat                              */
+/*   - invert : le signe du résultat (0 -> positif, 1 -> négatif)             */
+/*   - p, m : pointeurs locaux sur la chaine de caractères à convertir        */
 /******************************************************************************/
 double my_strtod ( const char *nptr, const char **endptr )
 {

Index: gsb_form_scheduler.c
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/gsb_form_scheduler.c,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -d -r1.28 -r1.29
--- gsb_form_scheduler.c	29 Oct 2008 22:50:30 -0000	1.28
+++ gsb_form_scheduler.c	16 Nov 2008 20:34:25 -0000	1.29
@@ -45,11 +45,11 @@
 #include "./utils_str.h"
 #include "./gtk_combofix.h"
 #include "./gsb_form.h"
+#include "./structures.h"
 #include "./gsb_data_form.h"
 #include "./include.h"
 #include "./erreur.h"
 #include "./gsb_form_widget.h"
-#include "./structures.h"
 /*END_INCLUDE*/
 
 /*START_STATIC*/



More information about the cvs mailing list