In a model, after all tables have been defined, you could do something like 
this:

from functools import partial

def after_insert_event(f, id, table):
    db.auth_event.insert(time_stamp = request.now, client_ip = request.
client, user_id = auth.user_id,
                         origin = '%s/%s' % (request.controller, request.
function), 
                         description = 'ID %s created in table %s' % (id, 
table))

for table in db.tables:
    db[table]._after_insert.append(partial(after_insert_event, table=table))

You could do something for _after_update and _after_delete, though keep in 
mind that those operations can affect more than one record, so there won't 
necessarily be just a single record ID to record.

Anthony

On Tuesday, April 7, 2015 at 12:10:26 PM UTC-4, 黄祥 wrote:
>
> basically i've already create a function for it, either put it on form 
> level or database level, but the problem is i can't get the table name to 
> put it on auth_event table (description field).
> *e.g. event recorded on form level*
> def oncreate_event(form):
> db.auth_event.insert(time_stamp = request.now, client_ip = request.client, 
>  user_id = auth.user_id, origin = '%s/%s' % (request.controller, 
> request.function), 
>  description = 'ID %s created' % (form.vars.id) )
>
> *e.g. event recorded on database level with after_insert callback*
> def after_insert_event(f, id):
> db.auth_event.insert(time_stamp = request.now, client_ip = request.client, 
>  user_id = auth.user_id, origin = '%s/%s' % (request.controller, 
> request.function), 
>  description = 'ID %s created' % (id) )
>
> so perhaps there is a way in web2py to achieve it, i want to know about it.
>
> thanks and best regards,
> stifan
>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to