URL: /rest/p/allura/tickets/3881/?oauth_body_hash......
This ticket doesn't exist, but raises a 500 instead of 404
Module allura.lib.security:307 in require_access
<< def require_access(obj, permission, **kwargs):
predicate = has_access(obj, permission, **kwargs)
return require(predicate, message='%s access required' % permission.capitalize())
def require_authenticated():
>> return require(predicate, message='%s access required' % permission.capitalize())
Module allura.lib.security:294 in require
<< from allura import model as M
if predicate(): return
if not message:
message = """You don't have permission to do that.
>> if predicate(): return
Module allura.lib.utils:338 in __call__
<< self.callable = callable
def __call__(self, *args, **kw):
return self.callable(*args, **kw)
def __nonzero__(self):
return self.callable()
>> return self.callable(*args, **kw)
Module allura.lib.security:258 in predicate
<< chainable_roles = []
for rid in roles:
for ace in obj.acl:
if M.ACE.match(ace, rid, permission):
if ace.access == M.ACE.ALLOW:
>> for ace in obj.acl:
AttributeError: 'NoneType' object has no attribute 'acl'
Another url with (what Dave says) is a related error: https://sourceforge.net/u/rick446/profile/
Diff:
Diff:
On allura js/3836. To test, go to a url like /rest/p/test/tickets/3000 and make sure you get a 404. 3000 should be an invalid ticket number in a valid ticket tool.
Merged to dev.