Hi Massimo, thanks for helping out again...

Re (1), interaction between T2 and args passed in the query string,
here's the basic code:

in default.py:
def buy_one():
    prod=db(db.product.id==request.args[0]).select()[0]
    form = t2.display(db.t2_person,query=
(db.t2_person.id==t2.person_id))
    return dict(form=form,prod=prod)

in buy_one.html:
   {{extend 'layout.html'}}
   <!-- ...some use of { {=prod.fields} }, presentation of product to
buy... -->
   {{=form}} <!-- show personal details, present edit -->
   <p><a href="{{=URL(r=request,f='edit_details',vars=dict
(next='buy_one'))}}">Click here</a> to edit your details.</p><br/>

The initial URL is eg ".../default/buy_one/3" (ie, prod_id=3)
When I click on the image presented (very nicely, by the way) by
t2.display, the resulting URL is
>>>  "...buy_one/3#zoom-t2_person-foto-41" which clearly can't work.
Using a request.var (?prod_id=3) leads to a similar result.

None of this is a dealbreaker, but I was starting to wonder if it was
generally unwise (ie, stupid) to use request.args and .vars in
combination with T2 forms.
The default "args[-1]=t2.id" behavior in T2 also points in that
direction. If it's just a fluke, I can try to work around it. Elements
(...) again... ;-)

Re (2), using the elements(...) fix-- it IS attractive for lots of
little issues I have. When do you expect this functionality to appear
in a production release? If that is within a week or two, I can use
trunk for my current project...

Cheers & thanks for a great tool,
-Peter

On Dec 29, 3:21 pm, mdipierro <mdipie...@cs.depaul.edu> wrote:
> 1) I am sorry. I do not understand without a code example.
>
> 2) not possible. I agree there should be a way to do it.
> Using the latest trunk you can do
>
> form.element(_type='submit').update(_value='click me!')
>
> Massimo
>
> On Dec 29, 5:21 am, Peter <peter.kleyn...@gmail.com> wrote:
>
> > Thank you -- based on all of your input I'm having another stab at
> > using T2.
> > Two more questions:
>
> > - How do you pass variables to T2-enabled pages without breaking T2
> > behaviors? For instance, I have a page where person X buys product P;
> > prod_id is passed as a var or an arg in the query string. The T2 form
> > shows person X's details, including an inline image (very nice ;-)),
> > but the #zoom anchor doesn't work because the prod_id in the URL gets
> > in the way. What's the best practice here?? I can sneak prod_id into
> > the session vars, but that doesn't seem very RESTful -- apart from it
> > being a pain not being able to embed the prod_id in a link...
>
> > - Call me stupid, I can't find the way to rename the submit button on
> > T2 update/create forms? I know you can do this with submit_button= in
> > SQLFORM, but this doesn't seem to get passed into T2 forms. The only
> > way is to manipulate the components[..] stuff -- eg, through the new
> > elements interface?
>
> > Cheers again...
> > -Peter
>
> > On Dec 29, 7:10 am, mdipierro <mdipie...@cs.depaul.edu> wrote:
>
> > > define a widget, something like:
>
> > > def myhelper(field,value):
> > >     field_id='%s_%s' % (field._tablename,field.name)
> > >     inp=INPUT(_type='file',_id=field_id,_class=field.type,
> > >                             _name=field.name, requires=field.requires)
> > >     if not value: return inp
> > >     url='app/controller/download/'+value  ###### edit this line
> > >     return DIV(inp,IMG(_src=url,_width=200),
> > >                     INPUT(_type='checkbox',_name=field.name
> > > +'__delete'),'delete]')
>
> > > tell web2py that the field should be represented by the widget.
>
> > > works with sqlform, t2 and t3.
>
> > > Massimo
>
> > > db.yourtable.yourfield.represent=myhelper
>
> > > On Dec 28, 3:42 pm, Peter <peter.kleyn...@gmail.com> wrote:
>
> > > > I need to display a form with images inline, ie with <img> tags. The
> > > > default behavior for SQLFORM is to only show a <file> link on the form
> > > > (assuming I provide a download URL in the constructor, which I do).
>
> > > > What's the best way to do this -- if at all? Again, I have difficulty
> > > > "breaking into" the SQLFORM object... Am I doomed to write my own
> > > > upload logic?
>
> > > > BTW, I would really appreciate a more formal API for SQLFORM that is
> > > > more geared towards using it piecemeal rather than the single
> > > > {{=form}}, which is suitable less than half of my current
> > > > application's forms. Ideally, any magic that SQLFORM provides should
> > > > be exposed in a lower-level API as well...
>
> > > > Note: I'm not a hardcore Pythonhead, more the type of "enterprise"
> > > > developer that I think Massimo seems to have had in mind when he
> > > > called web2py a "enterprise" framework. ;-) I thought I would be able
> > > > to get going quickly with SQLFORM and T2 CRUD, but so far, it's been a
> > > > bit of an uphill battle, I'm afraid... All the more frustrating
> > > > because I think it's very very close to what I need.
>
> > > > Cheers,
> > > > -Peter
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py Web Framework" group.
To post to this group, send email to web2py@googlegroups.com
To unsubscribe from this group, send email to 
web2py+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to