AUDIT: r16726 - gnucash/trunk/src/gnome - Don't un-clear transactions improperly when postponing reconciliation (#497517)

Derek Atkins warlord at cvs.gnucash.org
Tue Dec 25 21:26:40 EST 2007


Author: warlord
Date: 2007-12-25 21:26:39 -0500 (Tue, 25 Dec 2007)
New Revision: 16726
Trac: http://svn.gnucash.org/trac/changeset/16726

Modified:
   gnucash/trunk/src/gnome/reconcile-list.c
   gnucash/trunk/src/gnome/reconcile-list.h
Log:
Don't un-clear transactions improperly when postponing reconciliation (#497517)
Patch by Jeff Green and Mark Jenkins
BP

Modified: gnucash/trunk/src/gnome/reconcile-list.c
===================================================================
--- gnucash/trunk/src/gnome/reconcile-list.c	2007-12-26 02:14:55 UTC (rev 16725)
+++ gnucash/trunk/src/gnome/reconcile-list.c	2007-12-26 02:26:39 UTC (rev 16726)
@@ -138,6 +138,7 @@
 
   list->account = account;
   list->list_type = type;
+  list->statement_date = statement_date;
 
   query = xaccMallocQuery();
   xaccQuerySetBook(query, gnc_get_current_book ());
@@ -577,9 +578,16 @@
 
     split = gtk_clist_get_row_data (clist, i);
 
-    recn = g_hash_table_lookup (list->reconciled, split) ? CREC : NREC;
+    // Don't change splits past reconciliation date that haven't been
+    // set to be reconciled
+    if ( difftime(list->statement_date,
+		  xaccTransGetDate(xaccSplitGetParent(split))) >= 0 ||
+	 g_hash_table_lookup(list->reconciled, split))
+    {
+      recn = g_hash_table_lookup (list->reconciled, split) ? CREC : NREC;
 
-    xaccSplitSetReconcile (split, recn);
+      xaccSplitSetReconcile (split, recn);
+    }
   }
   gnc_resume_gui_refresh();
 }

Modified: gnucash/trunk/src/gnome/reconcile-list.h
===================================================================
--- gnucash/trunk/src/gnome/reconcile-list.h	2007-12-26 02:14:55 UTC (rev 16725)
+++ gnucash/trunk/src/gnome/reconcile-list.h	2007-12-26 02:26:39 UTC (rev 16726)
@@ -49,6 +49,8 @@
   Account *account;
   GList *column_list;
 
+  time_t statement_date;
+
   GNCReconcileList *sibling;
   GNCReconcileListType list_type;
   gboolean no_toggle;



More information about the gnucash-changes mailing list