better grid errors, issue 1135

This commit is contained in:
mdipierro
2012-12-03 14:28:00 -06:00
parent c8e64ac4f7
commit 882f42de8f
2 changed files with 8 additions and 9 deletions
+1 -1
View File
@@ -1 +1 @@
Version 2.2.1 (2012-12-03 14:03:31) stable Version 2.2.1 (2012-12-03 14:27:15) stable
+7 -8
View File
@@ -1729,7 +1729,8 @@ class SQLFORM(FORM):
request = current.request request = current.request
session = current.session session = current.session
response = current.response response = current.response
wenabled = (not user_signature or (session.auth and session.auth.user)) logged = session.auth and session.auth.user
wenabled = (not user_signature or logged)
create = wenabled and create create = wenabled and create
editable = wenabled and editable editable = wenabled and editable
deletable = wenabled and deletable deletable = wenabled and deletable
@@ -1759,13 +1760,11 @@ class SQLFORM(FORM):
# - url has valid signature (vars are not signed, only path_info) # - url has valid signature (vars are not signed, only path_info)
# = url does not contain 'create','delete','edit' (readonly) # = url does not contain 'create','delete','edit' (readonly)
if user_signature: if user_signature:
if not( if not (
'/'.join(str(a) for a in args) == '/'.join(request.args) or '/'.join(str(a) for a in args) == '/'.join(request.args) or
URL.verify(request, user_signature=user_signature, URL.verify(request,user_signature=user_signature,
hash_vars=False) or not ( hash_vars=False) or
'create' in request.args or (request.args(len(args))=='view' and not logged)):
'delete' in request.args or
'edit' in request.args)):
session.flash = T('not authorized') session.flash = T('not authorized')
redirect(referrer) redirect(referrer)
@@ -1871,7 +1870,7 @@ class SQLFORM(FORM):
elif details and len(request.args) > 2 and request.args[-3] == 'view': elif details and len(request.args) > 2 and request.args[-3] == 'view':
table = db[request.args[-2]] table = db[request.args[-2]]
record = table(request.args[-1]) or redirect(URL('error')) record = table(request.args[-1]) or redirect(referrer)
sqlformargs.update(viewargs) sqlformargs.update(viewargs)
view_form = SQLFORM( view_form = SQLFORM(
table, record, upload=upload, ignore_rw=ignore_rw, table, record, upload=upload, ignore_rw=ignore_rw,