[web2py] Re: multiple functions in one view

2014-06-26 Thread Richard
Hi,

I try to do exactly the same and have the following in my app:

controller:

def index():

response.js = '$.web2py.component(%s, target=graph1);' % 
URL('default', 'graph1.load')

index.html:

 div id=graph1 style=width: 400px; height: 400px; margin: 0 auto
 /div


graph1.load contains a graph in pure JS

What am I overlooking?

KInd regards


On Tuesday, January 21, 2014 5:15:17 PM UTC+1, Anthony wrote:

 You could put both the form and the grid in ajax components. When the form 
 is submitted, it could send back a JS command to load the grid:

 In index.html:

 {{=LOAD('default', 'tracker_form.load', ajax=True)}}
 div id='content_grid'/div

 Change your two existing views to a .load extension (not required, but 
 done by convention for component views), and remove the {{extend 
 'layout.html'}} from each.

 In tracker_form, do:

 if form.process().accepted:
 response.js = '$.web2py.component(%s, target=content_grid);' % 
 URL('default', 'show_form.load')
 response.flash = 'Submitted Successfully!'

 Whenever the form is submitted and accepted, it will reload the grid in 
 the content_grid div.

 Anthony

 On Tuesday, January 21, 2014 10:37:04 AM UTC-5, En Ware wrote:

 Hello, 

   I am trying to figure out how to call more then function per view.
 I would like to be to have users fill out a form and and then as soon as 
 they submit 
 show the results sort of like SQLFORM. I also want to make the grid 
 editable so
 that users can hide rows and columns. 

 Thanks in Advance.



 #controller default.py

 def index():
 return dict()


 def tracker_form():
 record = db.content(request.args(0))
 show_record = request.args(0)
 form = SQLFORM(db.content, record, show_record)
 if form.process().accepted:
 response.flash = 'Submitted Successfully!'
 #response.view = 'http://127.0.0.1:8000/WnD/default/show_form'
 #return dict(show_record=show_record)
 elif form.errors: 
 response.flash = 'Form is not correct; please correct and submit 
 again'
 else:
 response.flash = 'Please fill out the damn form'
 return dict(form=form)
  


 def show_form():
 #rows = db().select(db.content.ALL)
 return dict(grid=SQLFORM.grid(db.content))





 #views 

 #tracker_form.html

 {{extend 'layout.html'}}
 h4centerTracking/center/h4
 {{=form}}
 {{=BEAUTIFY(request.vars)}}


 #show_form.html

 {{extend 'layout.html'}}
 h4centerRecords processed/center/h4

 {{=grid}}

 a href=http://127.0.0.1:8000/WnD/default/tracker_form;Back/a


 #index.html

 {{extend 'layout.html'}}
 titleWatch and Defend/title
 h4
 Current customers:
 /h4
 H4


 a href=http://127.0.0.1:8000/WnD/default/tracker_formcenterTracker 
 Monitoring click on the link/a/center
 
 /H4





-- 
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 web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[web2py] Re: multiple functions in one view

2014-01-21 Thread Anthony
You could put both the form and the grid in ajax components. When the form 
is submitted, it could send back a JS command to load the grid:

In index.html:

{{=LOAD('default', 'tracker_form.load', ajax=True)}}
div id='content_grid'/div

Change your two existing views to a .load extension (not required, but done 
by convention for component views), and remove the {{extend 'layout.html'}} 
from each.

In tracker_form, do:

if form.process().accepted:
response.js = '$.web2py.component(%s, target=content_grid);' %URL
('default', 'show_form.load')
response.flash = 'Submitted Successfully!'

Whenever the form is submitted and accepted, it will reload the grid in the 
content_grid div.

Anthony

On Tuesday, January 21, 2014 10:37:04 AM UTC-5, En Ware wrote:

 Hello, 

   I am trying to figure out how to call more then function per view.
 I would like to be to have users fill out a form and and then as soon as they 
 submit 
 show the results sort of like SQLFORM. I also want to make the grid 
 editable so
 that users can hide rows and columns. 

 Thanks in Advance.



 #controller default.py

 def index():
 return dict()


 def tracker_form():
 record = db.content(request.args(0))
 show_record = request.args(0)
 form = SQLFORM(db.content, record, show_record)
 if form.process().accepted:
 response.flash = 'Submitted Successfully!'
 #response.view = 'http://127.0.0.1:8000/WnD/default/show_form'
 #return dict(show_record=show_record)
 elif form.errors: 
 response.flash = 'Form is not correct; please correct and submit 
 again'
 else:
 response.flash = 'Please fill out the damn form'
 return dict(form=form)
  


 def show_form():
 #rows = db().select(db.content.ALL)
 return dict(grid=SQLFORM.grid(db.content))





 #views 

 #tracker_form.html

 {{extend 'layout.html'}}
 h4centerTracking/center/h4
 {{=form}}
 {{=BEAUTIFY(request.vars)}}


 #show_form.html

 {{extend 'layout.html'}}
 h4centerRecords processed/center/h4

 {{=grid}}

 a href=http://127.0.0.1:8000/WnD/default/tracker_form;Back/a


 #index.html

 {{extend 'layout.html'}}
 titleWatch and Defend/title
 h4
 Current customers:
 /h4
 H4


 a href=http://127.0.0.1:8000/WnD/default/tracker_formcenterTracker 
 Monitoring click on the link/a/center
 
 /H4





-- 
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 web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


[web2py] Re: multiple functions in one view

2014-01-21 Thread En Ware
Thank you so much; this awesome I appreciate your time.

On Tuesday, January 21, 2014 9:37:04 AM UTC-6, En Ware wrote:

 Hello, 

   I am trying to figure out how to call more then function per view.
 I would like to be to have users fill out a form and and then as soon as they 
 submit 
 show the results sort of like SQLFORM. I also want to make the grid 
 editable so
 that users can hide rows and columns. 

 Thanks in Advance.



 #controller default.py

 def index():
 return dict()


 def tracker_form():
 record = db.content(request.args(0))
 show_record = request.args(0)
 form = SQLFORM(db.content, record, show_record)
 if form.process().accepted:
 response.flash = 'Submitted Successfully!'
 #response.view = 'http://127.0.0.1:8000/WnD/default/show_form'
 #return dict(show_record=show_record)
 elif form.errors: 
 response.flash = 'Form is not correct; please correct and submit 
 again'
 else:
 response.flash = 'Please fill out the damn form'
 return dict(form=form)
  


 def show_form():
 #rows = db().select(db.content.ALL)
 return dict(grid=SQLFORM.grid(db.content))





 #views 

 #tracker_form.html

 {{extend 'layout.html'}}
 h4centerTracking/center/h4
 {{=form}}
 {{=BEAUTIFY(request.vars)}}


 #show_form.html

 {{extend 'layout.html'}}
 h4centerRecords processed/center/h4

 {{=grid}}

 a href=http://127.0.0.1:8000/WnD/default/tracker_form;Back/a


 #index.html

 {{extend 'layout.html'}}
 titleWatch and Defend/title
 h4
 Current customers:
 /h4
 H4


 a href=http://127.0.0.1:8000/WnD/default/tracker_formcenterTracker 
 Monitoring click on the link/a/center
 
 /H4





-- 
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 web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.