yes, new in trunk

On Jan 14, 12:24 pm, vince <[email protected]> wrote:
> nice one! time saver!
> what is a display form? is that a form generated readonly? i didn't
> know there is a helper to generate display form. can you tell me more?
>
> vincent
>
> On Jan 15, 2:04 am, mdipierro <[email protected]> wrote:
>
> > Consider the following table:
>
> > db.define_table('cirlce',
> >    db.Field('radius','double'),
> >    db.Field('area','double'),
> >    db.Field('modified_on','datetime'))
>
> > now you can do:
>
> > # add a comment in the forms
> > db.circle.area.comment="(this is a comment)"
>
> > # do not show area in create/edit forms
> > db.circle.area.writable=False
>
> >  # do not show now in display forms
> > db.circle.modified_on.readable=False
>
> > # automatically timestamp when record cretaed
> > db.circle.modified_on.default=request.now
>
> > # automatically timestamp when record is modified
> > db.circle.modified_on.update=request.now
>
> > # make the radius appear in bold in display and table
> > db.circle.radius.represent=lambda value: B(value)
>
> > # make a form that automatically computes area
> > pi=3.1415
> > form=SQLFOM(db.circle)
> > if form.accepts(request.vars,
> > onvalidation=lambda form: form.vars.area=pi*form.vars.radius**2): ...
>
> > # make a create form in two possible ways:
> > form=SQLFORM(db.circle)
> > form=SQLFORM(db.circle,0)
>
> > # make an update form in two possible ways:
> > form=SQLFORM(db.circle,record)
> > form=SQLFORM(db.circle,record_id)
>
> > # make a display form in two possible ways:
> > form=SQLFORM(db.circle,record,readonly=True)
> > form=SQLFORM(db.circle,record_id,readonly=True)
>
> > # so now you can do...
>
> > form=SQLFORM(db.circle,request.args[-1])
>
> > and you get a create form if the URL ends in /0, you get an update
> > form if the URL ends in /[valid_record_id]
>
> > #you can also define once for all
>
> > timestamp=SQLTable(None,'timestamp',
> >             SQLField('created_on','datetime',
> >                           writable=False,
> >                           default=request.now),
> >             SQLField('modified_on','datetime',
> >                           writable=False,
> >                           default=request.now,update=request.now))
>
> > #and use it in all your tables
>
> > db.define_table('mytable',db.Field('somefield'),timestamp)
>
> > so that created_on and modified_on are not shown in create/update but
> > are automatically updated and are shown in display forms.
>
> > Comments?
>
> > Please TEST TEST TEST
>
> > Massimo
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py Web Framework" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to