[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