Thanks Anthony for your suggestion! Works just fine :)
For anyone looking at a similar problem, here's what I've done now.
form = SQLFORM.factory(
Field('appStart','datetime',label='App-Period Start Time'),
Field('appEnd','datetime',label='App-Period End Time'),
Field('nomStart','datetime',label='Nom-Period Start Time'),
Field('nomEnd','datetime',label='Nom-Period End Time')
)
if form.process().accepted:
app_msg_flash = 'Application Period Unchanged'
nom_msg_flash = 'Nomination Period Unchanged'
if form.vars.appStart:
if not form.vars.appEnd:
session.flash = 'Application Period End-Time not specified!'
redirect(URL('overall_admin','set_deadline'))
else:
db.AppDeadline.insert(start=form.vars.appStart,
end=form.vars.appEnd)
db.UserLogs.insert(activity='Application Period Set :
'+str(form.vars.appStart)+' to '+str(form.vars.appEnd))
app_msg_flash = 'Application Period Set :
'+str(form.vars.appStart)+' to '+str(form.vars.appEnd)
elif form.vars.appEnd:
session.flash = 'Application Period Start-Time not specified!'
redirect(URL('overall_admin','set_deadline'))
if form.vars.nomStart:
if not form.vars.nomEnd:
session.flash = 'Nomination Period End-Time not specified!'
redirect(URL('overall_admin','set_deadline'))
else:
db.NomDeadline.insert(start=form.vars.nomStart,
end=form.vars.nomEnd)
db.UserLogs.insert(activity='Nomination Period Set :
'+str(form.vars.nomStart)+' to '+str(form.vars.nomEnd))
nom_msg_flash = 'Nomination Period Set :
'+str(form.vars.nomStart)+' to '+str(form.vars.nomEnd)
elif form.vars.nomEnd:
session.flash = 'Nomination Period Start-Time not specified!'
redirect(URL('overall_admin','set_deadline'))
response.flash = DIV(app_msg_flash,BR(),nom_msg_flash)
elif form.errors:
response.flash = 'Deadlines not Set : Form has error(s)!'
On Sunday, May 22, 2016 at 11:31:27 PM UTC+5:30, Mohit Jain wrote:
>
> Hello,
> I have 2 tables (ApplicationDeadline & NominationDeadline). Both of
> them have only 2 fields (start-time and end-time). I would like to create a
> form where the user can see 4 fields and only one submit button that can be
> used to insert new values of these fields. Only the fields that have been
> filled by the user must be inserted (blank fields must not have new
> insertions). This is somewhat similar to what is given in the manual (
> http://web2py.com/books/default/chapter/29/07/forms-and-validators#One-form-for-multiple-tables)
>
> however, I don't have a common foreign-key (like the client-id of the given
> example) and hence would like to know how to do such a thing, if at all
> possible.
>
> models/db.py
> #######################################
> # Set the Application Period Deadline.#
> #######################################
> db.define_table(
> 'AppDeadline',
> Field('start','datetime',required=True, label='Start Time'),
> Field('end','datetime',required=True, label='End Time')
> )
>
>
> #######################################
> # Set the Nomination Period Deadline.#
> #######################################
> db.define_table(
> 'NomDeadline',
> Field('start','datetime',required=True, label='Start Time'),
> Field('end','datetime',required=True, label='End Time')
> )
>
> What I want is *something like,*
>
> form = SQLFORM.factory(db.AppDeadline, db.NomDeadline)
> if form.process().accepted:
> if form.vars.appTime: #To check if application-fields have been
> updated
> response.flash = 'Application Period Set : '+str(form.vars.start)+'
> to '+str(form.vars.end)
> db.UserLogs.insert(activity='Application Period Set : '+str(form.
> vars.start)+' to '+str(form.vars.end))
> if form.vars.nomTime: #To check if nomination-fields have been updated
> response.flash = 'Nomination Period Set : '+str(form.vars.start)+'
> to '+str(form.vars.end)
> db.UserLogs.insert(activity='Nomination Period Set : '+str(form.
> vars.start)+' to '+str(form.vars.end))
> elif form.errors:
> response.flash = 'Form has error(s)!'
>
>
> Regards,
> Mohit
>
--
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].
For more options, visit https://groups.google.com/d/optout.