Found the answer by searching the forum for "sqlform.grid oncreate" and 
specifically the answer by Niphlod in this post 
https://groups.google.com/forum/#!searchin/web2py/sqlform.grid$20oncreate/web2py/ShebcblC9pM/rrdI9F6ZgV8J
 


On Thursday, September 12, 2013 12:05:45 AM UTC-5, P T wrote:
>
> Hello All,
>
> Just started to learn web2py and here is an idea that I am trying to 
> implement. Users creates scenarios, which includes an uploaded file. 
> After the new scenario is created, the uploaded file should be processed 
> and computed values written to results table. 
> So far, I am successful in creating the scenarios and uploading the files. 
> But, I am not sure where I would write the controller 
> form.process().accepted. 
> By the way, I am using SQLFORM.grid and here is complete code. Any help 
> and/or pointers is highly appreciated.
>
> -----------------
> db.py
> from gluon.tools import *
>
> db=DAL("sqlite://storage.sqlite")
> auth = Auth(db)
> auth.define_tables(username=True)
> crud = Crud(db)
>
> db.define_table("scenario", 
>     Field('title'),
>     Field('body', 'text'),
>     Field('created_on', 'datetime', default=request.now),
>     Field('created_by', 'reference auth_user', default=db.auth_user.id),
>     Field('file', 'upload'),
>     Field('file_status', default='file uploaded'))
>
> db.scenario.created_by.requires=IS_IN_DB(db, db.auth_user.id)
> db.scenario.title.requires = IS_NOT_EMPTY()
> db.scenario.created_on.readable = False
> db.scenario.created_by.readable = False
>
> db.define_table("results",
>     Field('scenario_id', 'reference scenario'),
>     Field('amps', 'double'),
>     Field('volts', 'double')) 
> default.py
> @auth.requires_login()
> def index():
>    query = (db.scenario.created_by == auth.user.id)
>    grid = SQLFORM.grid(query, selectable=lambda ids: [])
>    return dict(grid=grid)
>    
> default/index.html
> {{extend 'layout.html'}}
> {{if auth.user.id:}}
> <h2>Your Current Scenarios</h2>
> {{=grid}}
> {{pass}}
> ------------------
>
> I tested the following code and see that the "form accepted" is flashed. 
> But, how do I link this form to the "Add" button in the SQLFORM.grid 
> def scenario():
>     form = SQLFORM(db.scenario)
>     if form.process().accepted:
>         response.flash = "form accepted"
> ##get the uploaded file, process and write results    
>     return dict(form=form)
>
>
> Thanks,
> PT
>

-- 
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/groups/opt_out.

Reply via email to