On 25 Aug 2012, at 12:27 PM, SeamusSeamus <[email protected]> wrote:
> When I do this:
>     form=SQLFORM.factory(
>         Field('your_email',requires=IS_EMAIL()),
>         Field('your_phone'),
>         Field('subject'),
>         Field('question', 'text', requires=IS_NOT_EMPTY()))
>     form.vars = dict(subject='Item %s: %s' % (database.id, database.title))

form.vars needs to be Storage, not dict.

>     if form.process().accepted:
>         if mail.send(to='[email protected]',
>         subject='Regarding %s' % form.vars.subject,
>         message='From %s at %s: %s' % (form.vars.your_email, 
> form.vars.your_phone, form.vars.question)):
>             response.flash='Your message has been sent! We will contact you 
> shortly.'
>     elif form.errors:
>         form.errors.your_email='Unable to send email'
> 
>     return dict(equipment=equipment, form=form)
> 
> 
> I get this error:
> 
> Traceback (most recent call last):
>   File "/home/james/web2py/gluon/restricted.py", line 205, in restricted
>     exec ccode in environment
>   File "/home/james/web2py/applications/equipment/controllers/default.py", 
> line 309, in <module>
>   File "/home/james/web2py/gluon/globals.py", line 173, in <lambda>
>     self._caller = lambda f: f()
>   File "/home/james/web2py/applications/equipment/controllers/default.py", 
> line 179, in details
>     if form.process().accepted:
>   File "/home/james/web2py/gluon/html.py", line 1994, in process
>     self.validate(**kwargs)
>   File "/home/james/web2py/gluon/html.py", line 1941, in validate
>     if self.accepts(**kwargs):
>   File "/home/james/web2py/gluon/sqlhtml.py", line 1274, in accepts
>     self.vars.id = self.table.insert(**fields)
> AttributeError: 'dict' object has no attribute 'id'
> 
> 
> PS: What is the best way to provide a condition in case mail sending fails?
> 
> -- 
>  
>  
>  


-- 



Reply via email to