Why not create a simple condition using

# The form should have the same name in both conditions.
if request.now.time().hour < 12:
    # Show morning form including the edit and submit buttons.
else:
    # Show afternoon form including the edit and submit buttons.

# If you want to validate anything use the following line.
if form.process(onvalidation=on_validation).accepted:
# Or use the next line if you don't.
# if form.process().accepted:
   # Do whatever you want when success
elif form.errors:
  # Do whatever you want when there are form errors.

domingo, 12 de Maio de 2019 às 08:17:20 UTC+1, Maurice Waka escreveu:
>
> I i'm trying to use one chart to alternate between two forms. A user logs 
> in data in the morning hrs, meaning the form should be active and the 
> evening form inactive. When the time comes ....after 12 pm the morning form 
> is inactive and the evening form is active.
> While trying out this morning, both are inactive all through.
> Here is the code:
>
> def mg_sugar_chart():
>     response.files.append(URL('e_dextrose',
> 'static/js/pygal-tooltips.min.js'))
>     response.headers['Content-Type']='image/svg+xml'
>
>
>     custom_style = Style(
>         background='transparent',
>         plot_background='transparent',
>         foreground='#53E89B',
>         foreground_strong='#53A0E8',
>         foreground_subtle='#630C0D',
>         opacity='.6',
>         opacity_hover='.9',
>         transition='400ms ease-in',
>         colors=('#E853A0', '#E8537A', '#E95355', '#E87653', '#E89B53')
>         )
>     chart = pygal.Line(fill=True, interpolate='cubic', style=BlueStyle, 
> x_label_rotation=45, print_values=True, show_y_guides=False, 
> print_values_position='top')
>     data = db(db.amg_sugar).select()
>     data1 = db(db.pmg_sugar).select()
>     
>     chart.x_labels = al_date
>     chart.x_labels = pl_date
>     chart.add('AM', [i.am_dext for i in data])
>     chart.add('PM', [i.pm_dext for i in data1])
>
>     return chart.render()
>
>
> #***sugar***
> @auth.requires_login()
> def mgSugar():
>     db.amg_sugar.modified_on.readable = db.amg_sugar.modified_on.writable 
> =False
>     db.pmg_sugar.modified_on.readable = db.pmg_sugar.modified_on.writable 
> =False
>     chart= URL('e_dextrose', 'mg_sugar_chart')
>     row = db(db.amg_sugar.author == auth.user_id).select().first()
>
>
>     #***open and close for sugar logs***
>     early_str = '05::00::00'
>     late_str = '22::00::00'
>     am_str = '11::59::00'
>     pm_str = '12::00::00'
>     am_line = dt.strptime(am_str, '%H::%M::%S').time()#deadline to post 
> sugar
>     pm_line = dt.strptime(pm_str, '%H::%M::%S').time()#deadline to post 
> sugar
>     early_line = dt.strptime(early_str, '%H::%M::%S').time()#deadline to 
> post sugar
>     late_line = dt.strptime(late_str, '%H::%M::%S').time()#deadline to 
> post sugar
>
>
>     #***check if row is empty***
>     am_row = [r.am_dext for r in db(db.amg_sugar.author == auth.user.id).
> select(db.amg_sugar.ALL)[-1:]]
>     pm_row = [r.pm_dext for r in db(db.pmg_sugar.author == auth.user.id).
> select(db.pmg_sugar.ALL)[-1:]]
>     #***AM logs***
>     if request.now.date():# == amd.date():
>         form = SQLFORM(db.amg_sugar)
>         form.add_button('Edit', URL('edit_amgSugar'))
>         am_row1 = [r.am_dext for r in db(db.amg_sugar.author == auth.user.
> id).select(db.amg_sugar.ALL)[-1:]]
>         if request.now.time() >= early_line and am_row1[0] == None:       
>  
>             form = SQLFORM(db.amg_sugar, submit_button=T('Submit')).
> process()
>             form.add_button('Edit', URL('edit_amgSugar'))
>     else:
>         session.flash = ''.join(str(item) for item in ["Your next sugar 
> log is in the next morning. "])
>         form = session.flash
>
>
>     if request.now.date():# == amd.date():
>         form1 = SQLFORM(db.pmg_sugar)
>         form1.add_button('Edit', URL('edit_pmgSugar'))
>         pm_row1 = [r.pm_dext for r in db(db.pmg_sugar.author == auth.user.
> id).select(db.pmg_sugar.ALL)[-1:]]
>         if request.now.time() >= pm_line and pm_row1[0] ==None:        
>             form1 = SQLFORM(db.pmg_sugar, submit_button=T('Submit')).
> process()
>             form1.add_button('Edit', URL('edit_pmgSugar'))
>     else:
>         session.flash = ''.join(str(item) for item in ["Your next sugar 
> log is in the next afternoon. "])
>         form1 = session.flash
>
>     return dict(chart = chart,form=form, form1=form1)
>
>
> Could someone give me a better idea/solution.
> Much appreciated
>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/web2py/2f4e84ce-9674-46a6-abac-09a744badb5d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to