I have to submit the form twice in order to update a record,
sometimes request.post_vars['id'] returns a list without changing the view
if i perform rows = db(db.agencias).select() it queries the database twice.
Should i report these behaviours as bugs or am i doin something wrong?
Ive compared the formkey with the session key by throwing them into the view
and they doesnt match when i visit the page but they does if i view the
page's source code,
i have to submit the form once so they match
formkey = form.formkey
sessionkey = session.items()[0][1][0]
This is the form displayed for the first time using custom.begin and
custom.end.
It doesnt have any links, css, js neither any image is just plain html text.
<html>
<head>
<title>Myapp</title>
<style>
table{width: 500px; border-spacing: 0}
td{width:100%; border: 0px solid black;}
table td{width: 100px}
td input {width: 100%}
</style>
</head>
<body>
<p>welcome to agencies</p>
<table>
<tr>
<td>id</td>
<td>agencia</td>
<td>precio</td>
<td>Actions</td>
</tr>
<tr>
<td colspan="4">
<form action="#" enctype="multipart/form-data" method="post">
<table>
<tr>
<td><input name="id" value="1" type="text"></td>
<td><input name="agencia" value="traveltour"
type="text"></td>
<td><input name="precio" value="234.0" type="text"></td>
<td><input value="update" type="submit"></td>
</tr>
</table>
<div style="display:none;"><input name="_formkey"
value="bb23ab13-c589-4b39-a2a0-6bab13d764d8" type="hidden"><input
name="_formname" value="agencias/create" type="hidden"></div></form>
</td>
</tr>
</table>
<p>formkey:bb23ab13-c589-4b39-a2a0-6bab13d764d8</p>
<p>sessionkey:463dee54-ca64-4c83-98f3-89e01a03f362</p>
<div id="link64_vdp_tabid" style="display:none;">1144</div></body></html>
</body>
</html>
controller:
def index():
id = request.post_vars['id']
print id
if isinstance(id, list):
print id
id = id[0]
record = db.agencias[id]
print "vars", request.post_vars, id, record
form = SQLFORM(db.agencias, record)
if form.process().accepted:
print "all good, proceed"
response.flash = "all good, proceed"
elif form.errors:
print "errors in form"
response.flash = "errors in form"
else:
response.flash = "welcome to agencies"
formkey = form.formkey
sessionkey = session.items()[0][1][0]
rows = db(db.agencias).select()
return locals()
--
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.