def check_submission_permissions(request, xform):
"""Check that permission is required and the request user has permission.
The user does no have permissions iff:
* the user is authed,
* either the profile or the form require auth,
* the xform user is not submitting.
Since we have a username, the Instance creation logic will
handle checking for the forms existence by its id_string.
:returns: None.
:raises: PermissionDenied based on the above criteria.
"""
profile = UserProfile.objects.get_or_create(user=xform.user)[0]
if request and (profile.require_auth or xform.require_auth
or request.path == '/submission')\
and xform.user != request.user\
and not request.user.has_perm('report_xform', xform):
raise PermissionDenied(
_(u"%(request_user)s is not allowed to make submissions "
u"to %(form_user)s's %(form_title)s form." % {
'request_user': request.user,
'form_user': xform.user,
'form_title': xform.title}))
fieldsight_logger_tools.py 文件源码
python
阅读 23
收藏 0
点赞 0
评论 0
评论列表
文章目录