no I have to correct myself, order of edits can be reconstructed by the id of the archived records
On Jul 2, 1:40 pm, selecta <gr...@delarue-berlin.de> wrote: > I tried it and this is NOT how it works > the current_record Field always points to the latest version > thus you can do > > current_record_version = db(getattr(db,table_info.sql_name > +"_archive").current_record==current_record.id).count() > > and saving created_on for every version is essential since otherwise > the edit history cannot be constructed properly > > On Jul 2, 12:10 pm, mdipierro <mdipie...@cs.depaul.edu> wrote: > > > > > Looks good. This assumes you you created the table_name+'_archive' > > according to crud.archive. > > > On 2 Lug, 04:09, selecta <gr...@delarue-berlin.de> wrote: > > > > How do I display the edit history? > > > > For example I want to preserve the original creator and see who edited > > > it. How I understand this right now I would add the following fields > > > to each table that is archived > > > > Field('created_by',default=auth.user_id,update=auth.user_id,writable=False), > > > Field('edited_by',default=auth.user_id,update=auth.user_id,writable=False), > > > Field('created_on',default=request.now,update=request.now,writable=False) > > > > and then get the history with > > > > table_name = 'example' > > > current_record = record > > > history = [] > > > while current_record: > > > current_record = db(getattr(db,table_name+"_archive").current_record > > > ==current_record.id).select().first() > > > history.insert(0, current_record) > > > > and then display the history with something like > > > versions: {{= ' '.join(["v%s (%s %s)"%(i, record.edited_by, > > > record.created_on) for i,record in enumerate(history)]}} > > > > is this right?