I have my authentication, authorization, create and read functions
working, however, I don't get update and delete function to function
without flaws. The problem lies in the fact that the vistor can tamper
with the URL in the browser's address bar.
In a view I have got:
<td>
{{=A(row.adressoort,_href=URL(r=request,f='update_address',args=
[row.id]))}}
</td>
The update_address function reads like:
@auth.requires_membership('user_3')
def update_address():
record_id=request.args[0]
record=db(db.adres.id==record_id).select(db.adres.bedrijf)
if record==[]:
redirect(URL(r=request,f='crud_address'))
elif not record[0].bedrijf==auth.user.bedrijf:
redirect(URL(r=request,f='crud_address'))
form=crud.update(db.adres,request.args[0])
return dict(form=form)
When the user clicks the link in the view the correct record is
displayed, when the user tampers the arg in the URL two things happen:
if he changes the arg to a record_id of an existing record the elif
redirects to the crud_address function, however, when he changes the
arg to a record_id that is not in the database the following error
ticket is issued:
Traceback (most recent call last):
File "/Library/Python/2.5/site-packages/mockpy/gluon/restricted.py",
line 98, in restricted
File "/Users/iannet/mockpy/applications/mock/controllers/crud.py",
line
41, in <module>
File "/Library/Python/2.5/site-packages/mockpy/gluon/globals.py",
line
75, in <lambda>
File "/Users/iannet/mockpy/gluon/tools.py", line 1049, in f
return action(*a, **b)
File "/Users/iannet/mockpy/applications/mock/controllers/crud.py",
line
31, in update_address
elif not record[0].bedrijf==auth.user.bedrijf:
File "/Library/Python/2.5/site-packages/mockpy/gluon/sql.py", line
2109,
in __getitem__
SyntaxError: SQLRows: no such row
So, if record==[]: is the cause of a syntax error, what is the correct
syntax of this statement?
Kind regards,
Annet.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"web2py Web Framework" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---