Hi Jean Guy,

Are you talking about record auditing???

You could do that with something like this:

# This sets a variable for user_id which is used frequently
# it must be set after db.py or in db.py but after auth tables have
been defined
# and before the table referring to it.

user_id = auth.user.id if auth.user else 0

db.define_table('application',
    Field('title'),
    Field('body', 'text'),
    Field('created_on', 'datetime', default=request.now),
    Field('created_by', db.auth_user, default=user_id))

db.application.title.requires = [IS_NOT_EMPTY(), IS_NOT_IN_DB(db,
'application.title')]
db.application.body.requires = IS_NOT_EMPTY()
db.application.created_by.readable = False
db.application.created_by.writable = False
db.application.created_on.readable = False
db.application.created_on.writable = False

If you are allowing editing you could copy the original record and
create a new one.

web2pyslices has a nice example.

Cheers,

Chris



On Jun 8, 6:29 pm, Jean Guy <jean...@gmail.com> wrote:
> Could it be a good practice to implement electronic signature of the
> database records like this :
>
> db.define_table('atable',
>     SQLField('var1'),
>     SQLField('var2',default=db(db.auth_user.id
> ==auth.user_id).select(db.auth_user.initials).first().initials))
>
> It needs that the user be authentified otherwise the app won't work, but as
> long as the user as to be authentified for doing accessing the database, it
> should be ok...
>
> What do you think?
>
> My goal is to have each records signed (stamped with users initials
> actually) at the database level.
>
> Thanks.
>
> Jonhy

Reply via email to