Thanks for the feedback. I have been making progress but not quit
there.
Massimo - I did find some logic problems with my initial select that
were contributing to the problem.
Anthony - I do think that how the form is being populated is part of
the problem
I've been trying to build this incrementally to see at what point I'm
having a problem and I've narrowed it down to the SQLFORM.
I can successfully create a record manually using this code.
event_users = db((db.event_users.event==event_id) &
(db.event_users.user_name==auth.user.id)).select(groupby=db.event_users.user_name).first()
user = event_users.id
date = date.today()
value = '111'
db.entries.insert(user=user, date_entered=date, value=value)
I can also successfully create a record when I use SQLFORM and have
the user enter all fields.
But I don't want them to enter the user or date. I want the user to
enter only the value and have the other fields be pre-populated.
When I put it all together with the following code I get the errors.
event_users = db((db.event_users.event==event_id) &
(db.event_users.user_name==auth.user.id)).select(groupby=db.event_users.user_name).first()
form = SQLFORM(db.entries)
form.vars.date_entered = date.today()
form.vars.user = event_users.id
if form.process().accepted:
response.flash = 'form accepted'
redirect(URL('home'))
elif form.errors:
response.flash = 'form has errors'
else:
response.flash = 'please fill the form'
Adrian
On Nov 22, 9:24 am, Anthony <[email protected]> wrote:
> On Tuesday, November 22, 2011 12:30:42 AM UTC-5, Adrian Edwards wrote:
>
> > form = SQLFORM(db.entries)
> > form.date_entered = date.today()
> > form.user = user
> > if form.process().accepted:
>
> > But the form won't submit. When I debug it through Eclipse it says
> > "lazyT: value not in database"
>
> I don't think this is related to your error, but note that to pre-populate
> fields, you need to set form.vars.fieldname, not form.fieldname.
>
> Anthony