I repeat

if not record:



On May 22, 12:22 pm, Kacper Krupa <[email protected]> wrote:
> if not len(record):
>
> or:
>
> query=db(db.adres.id==record_id)
>
> if query.count() == 0:
>
> and then: row = query.select(field)[0]
> On 22 Maj, 11:45, annet <[email protected]> wrote:
>
> > 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
-~----------~----~----~----~------~----~------~--~---

Reply via email to