What do you mean exactly but "does not work"? Do you see the tables in 
appadmin?

Make sure

auth.enable_record_versioning(db)

follows all the table definitions.

On Tuesday, 9 October 2012 08:40:07 UTC-5, Cliff Kachinske wrote:
>
> Actually, the code in my model was and is correct.
>
> Still not working. 
>
> Version 2.0.9
>
> On Monday, October 8, 2012 10:03:43 PM UTC-4, Cliff Kachinske wrote:
>>
>> OOPS.  No, that does not stand for object oriented programming superstar!
>>
>> On Monday, October 8, 2012 6:53:42 PM UTC-4, Massimo Di Pierro wrote:
>>>
>>> It is 
>>>
>>> auth.enable_record_versioning(db)
>>>
>>> not 
>>>
>>> auth.enable_record_versioning=True # Doh!
>>>
>>> On Monday, 8 October 2012 15:21:48 UTC-5, Massimo Di Pierro wrote:
>>>>
>>>> There are two ways to do record versioning in web2py:
>>>>
>>>> - the old way using auth.archive (the one you are using). When a record 
>>>> is modified the old record is copied into the archive table. When a record 
>>>> is deleted, it is actually deleted and a copy of the old one is saved.
>>>>
>>>> - the new way auth.enable_record_versioning(db) or 
>>>> db.table._enable_record_versioning(). This uses the before_* and after_* 
>>>> callbacks. When the record is modified it acts as in the case above. When 
>>>> the record is deleted it is not actually deleted but is_active is set to 
>>>> false and all queries are filtered by is_active = True.
>>>>
>>>>
>>>> On Monday, 8 October 2012 14:04:09 UTC-5, Cliff Kachinske wrote:
>>>>>
>>>>> I have the following, but checking the delete box actually deletes the 
>>>>> record rather than setting is_active to False.
>>>>>
>>>>> It creates records in the archive table, but I also want them to stay 
>>>>> in the main table with is_active set to False.
>>>>>
>>>>> What am I doing wrong?
>>>>>
>>>>> Thank you,
>>>>> Cliff Kachinske
>>>>>
>>>>> Model
>>>>> db.define_table('documentation',
>>>>>     Field('name', length=36, label='Name'),
>>>>>     # I put this in just before Massimo announced request_tenant
>>>>>     # Timing is everything!
>>>>>     Field('tenant_link', db.tenants, 
>>>>>          default=session.auth.user.tenant_link),
>>>>>     auth.signature,
>>>>>     format='%(name)s')
>>>>> db.documentation.tenant_link.requires = IS_IN_DB(
>>>>>     db, db.tenants.id, '%(name)s', zero='Choose')
>>>>> db.documentation.tenant_link.readable = False
>>>>> db.documentation.tenant_link.writable = False
>>>>>
>>>>> #More tables ...
>>>>>
>>>>> auth.enable_record_versioning(db)
>>>>> db.auth_permission.table_name.requires = IS_IN_SET(db.tables)
>>>>>
>>>>> Controller:
>>>>> def edit():
>>>>>     form = crud.update(
>>>>>            db.documentation, request.args(0), next=next,
>>>>>            # Commented out to avoid multiple records in the archive 
>>>>> table while testing
>>>>>            # Does not affect the problem either way
>>>>>            # onaccept=auth.archive,
>>>>>            )
>>>>>     return dict(form=form, h2='Edit')
>>>>>
>>>>>
>>>>>

-- 



Reply via email to