Hello,
I would like to make sure if it is my function that is not correct or
the crud.update behavior...
Here are my create function and update fuction :
@auth.requires_login()
def create():
if auth.has_membership(auth.id_group('tech')):
form = crud.create(db.atable)
db.atable.initials.default=auth.user and auth.user.initials
db.atable.initials_date.default=request.now
if form.accepts(request.vars, session):
response.flash = T('form accepted')
redirect(URL(somewhere))
elif form.errors:
response.flash = T('form has errors')
else:
response.flash = T('please fill out the form')
return dict(form=form)
@auth.requires_login()
def update():
if auth.has_membership(auth.id_group('tech')):
form=crud.update(db.atable,request.args[1],deletable=False)
db.atable.initials.default=auth.user and auth.user.initials
db.atable.initials_date.default=request.now
if form.accepts(request.vars, session):
response.flash = T('form accepted')
redirect(URL(somewhere))
elif form.errors:
response.flash = T('form has errors')
else:
response.flash = T('please correct the form')
return dict(form=form)
The problematic lines are in red in the function update
The database field initials is not updated when the update form is submit...
Is it normal?
Could it be reliated to .default= ??
I thought the problem were coming from the next argument that were
included in the crud.update like this :
form=crud.update(db.atable,
request.args[1],
next=URL(request.application,'home','index'),
deletable=False)
So i change it for what I wrote up there...
Thanks.
Jonhy