From 0ea268012be34ede207ffa6e511965f54644d3f7 Mon Sep 17 00:00:00 2001 From: Massimo Di Pierro Date: Thu, 5 Apr 2012 20:28:34 -0500 Subject: [PATCH] is active is not a parameter --- VERSION | 2 +- gluon/dal.py | 20 ++++++++++---------- gluon/tools.py | 9 +++++---- 3 files changed, 16 insertions(+), 15 deletions(-) diff --git a/VERSION b/VERSION index 5a47785b..dfb0ed86 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -Version 1.99.7 (2012-04-05 20:19:10) dev +Version 1.99.7 (2012-04-05 20:28:05) dev diff --git a/gluon/dal.py b/gluon/dal.py index d8872cc4..609066b0 100644 --- a/gluon/dal.py +++ b/gluon/dal.py @@ -6950,19 +6950,19 @@ class Table(dict): def _archive_records(self, archive_db=None, archive_name = '%(tablename)_archive', - current_record = 'current_record'): + current_record = 'current_record', + is_active = 'is_active'): archive_db = archive_db or self._db fieldnames = self.fields() archive_name = archive_name % dict(tablename=self._tablename) - if 'modified_by' in fieldnames and 'modified_on' in fieldnames: - archive_table = archive_db.define_table( - archive_name, - Field(current_record,self), - self) - self._before_update.append( - lambda qset,fs,at=archive_table,cn=current_record: - archive_record(qset,fs,at,cn)) - if 'is_active' in fieldnames: + archive_table = archive_db.define_table( + archive_name, + Field(current_record,self), + self) + self._before_update.append( + lambda qset,fs,at=archive_table,cn=current_record: + archive_record(qset,fs,at,cn)) + if is_active and is_active in fieldnames: self._before_delete.append( lambda qset: qset.update(is_active=False)) newquery = lambda query, t=self: t.is_active == True diff --git a/gluon/tools.py b/gluon/tools.py index 0af4f907..2f11056a 100644 --- a/gluon/tools.py +++ b/gluon/tools.py @@ -1290,10 +1290,11 @@ class Auth(object): """ tables = [table for table in tables] for table in tables: - table._archive_records( - archive_db = archive_db, - archive_name = archive_names, - current_record = current_record) + if 'modifed_on' in table.fields(): + table._archive_records( + archive_db = archive_db, + archive_name = archive_names, + current_record = current_record) def define_tables(self, username=False, signature=None, migrate=True, fake_migrate=False):