Ok, I figured it out, I can include db.submission.contest_id among the 
fields, and before calling SQLGRID.form, do
db.submission.contest_id.readable = False

Luca

On Friday, December 21, 2012 12:42:37 PM UTC-8, Luca wrote:
>
> I have a problem using SQLFORM.grid and its fields option. 
> fields= enables me to specify which fields to retrieve from the db, and 
> those fields are then displayed to the user. 
> The problem is, I would like to read from the database also some 
> additional fields, which are NOT displayed to the user, but that can be 
> used in generating links.  For instance, I would like this code to work. 
>  Notice how I am not including db.submission.contest_id in the fields, but 
> I would like to use it in the links (hence, this code is currently broken). 
>
> Is there a way to do this?  Shall I implement in web2py a new optional 
> parameter for SQLFORM.grid called extra_fields? 
> Many thanks! --Luca
>
>     grid = SQLFORM.grid(q,
>         fields=[db.submission.id, db.submission.date],
>         csv=False, details=False, create=False, editable=False,
>         user_signature=False,
>         args=request.args[1:],
>         links=[
>             dict(header=T('Contest'), body = lambda r: 
>                 A(T('Contest'), _href=URL('contests', 'view_contest', 
> args=[r.contest_id]))),
>             dict(header=T('Submission'), body = lambda r: 
>                 A(T('submission'), _href=URL('submission', 
> 'view_own_submission', args=[r.id]))),
>             dict(header=T('Feedback'), body = lambda r:
>                 A(T('feedback'), _href=URL('view_feedback', args=[r.id
> ]))),
>             ],
>         )
>
>

-- 



Reply via email to