One way to do it. There are others I'm certain...
Controller
if time_in_range:
form = SQLFORM(....
if something_else:
form = 'something else' # or any expression you like
if another_thing:
form = 'another thing'
return dict(form=form....)
If you want to use different views, check out response.view in ch 4 of
the Official Web2py Book.
On Nov 22, 4:12 pm, Adrian Edwards <[email protected]> wrote:
> Hello again,
>
> This time I have a form design question.
> I have a view who's content is date dependent where if date.today() is
> in-between start_date and end_date then a SQLFORM is displayed.
> Otherwise display a custom message, i.e. "Time has expired".
>
> In my first solution I added the logic in the controller that checks
> the date range, and then in the view did a check where if form is
> NoneType display the "Time has expired" message, otherwise display the
> SQLFORM fields.
>
> While this works, its not very expandable. If I now want multiple
> types of messages, or behavior it will make the view unwieldy.
>
> How do you think is the best way to handle this?
>
> Adrian