This
{{if record.id == user.auth_user.default_card: print
'checked="checked''}}
should be
{{if record.id == auth.user.default_card:}} checked="checked" {{pass}}
or
{{if record.id == auth.user.default_card: response.write('
checked="checked"')}}
On Aug 17, 2:57 pm, Eric Scott <[email protected]> wrote:
> I'm new to both Python and web2py and am having difficulty coding a
> web2py radio form where each input field displays a name and an
> image. One (and only one) of these images should be set as the user's
> default image. I'm having trouble figuring out how to do this in
> web2py. I was able to produce the dict and then loop through to list
> them accordingly:
>
> CONTROLLER:
> @auth.requires_login()
> def show_cards():
> records = db((db.card.owner == session.auth.user.id) |
> (db.card.is_active == True)).select()
> user = db(db.auth_user.id == session.auth.user.id).select()
> return dict(records=records,user=user)
>
> VIEW (show_cards.html):
>
> {{for record in records:}} <input type='radio' name='mylist'
> _value="{{=record.id}}"> <img src="{{=URL('download',
> args=record.image)}}"/><br> {{pass}}
>
> MODEL:
>
> db.define_table('auth_user',
> Field('id','id'),
> Field('username', type='string',
> label=T('Username')),
> Field('password', type='password',
> readable=False,
> label=T('Password')),
> Field('default_card', 'reference card')
>
> db.define_table('card',
> Field('id','id'),
> Field('image', 'upload',
> uploadfield='image_file',label=T('Image')),
> Field('image_file', 'blob'),
> Field('nick',label=T('Nickname')),
> Field('owner', db.auth_user),
> Field('is_active','boolean',default=False,
> label=T('Active')),
>
> The problem now is, I have no idea how to structure the view so that
> "checked=checked" is printed if the card value is equal to the owner's
> default value. I know it's going to involve a nested "if" clause, but
> I'm not sure how to do this in a view. Something like: "{{if record.id
> == user.auth_user.default_card: print 'checked="checked''}}" How
> should I include this in the code? I've not yet seen how to format
> nested logic in a view.
>
> I also think that I could do this with a widget, but the more I read
> on radio buttons and widgets, the more lost I become. I know there
> are probably much better ways to do this, but this is all I could hack
> together.
>
> Any guidance would be greatly appreciated, even if it's just a pointer
> in the right direction.
>
> Thanks in advance for your help.
>
> Eric