本文整理汇总了Python中django.contrib.auth.mixins.UserPassesTestMixin方法的典型用法代码示例。如果您正苦于以下问题:Python mixins.UserPassesTestMixin方法的具体用法?Python mixins.UserPassesTestMixin怎么用?Python mixins.UserPassesTestMixin使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类django.contrib.auth.mixins
的用法示例。
在下文中一共展示了mixins.UserPassesTestMixin方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_func
# 需要导入模块: from django.contrib.auth import mixins [as 别名]
# 或者: from django.contrib.auth.mixins import UserPassesTestMixin [as 别名]
def test_func(self):
""" UserPassesTestMixin Tests"""
if self.request.user.is_superuser:
return True
if self.request.user.has_perm('project.can_view_all_projects'):
return True
project_obj = self.get_object()
if project_obj.projectuser_set.filter(user=self.request.user, status__name='Active').exists():
return True
messages.error(
self.request, 'You do not have permission to view the previous page.')
return False
示例2: test_func
# 需要导入模块: from django.contrib.auth import mixins [as 别名]
# 或者: from django.contrib.auth.mixins import UserPassesTestMixin [as 别名]
def test_func(self):
""" UserPassesTestMixin Tests"""
if self.request.user.is_superuser:
return True
if self.request.user.has_perm('allocation.can_view_all_allocations'):
return True
pk = self.kwargs.get('pk')
allocation_obj = get_object_or_404(Allocation, pk=pk)
user_can_access_project = allocation_obj.project.projectuser_set.filter(
user=self.request.user, status__name__in=['Active', 'New', ]).exists()
user_can_access_allocation = allocation_obj.allocationuser_set.filter(
user=self.request.user, status__name__in=['Active', ]).exists()
if user_can_access_project and user_can_access_allocation:
return True
return False
示例3: test_func
# 需要导入模块: from django.contrib.auth import mixins [as 别名]
# 或者: from django.contrib.auth.mixins import UserPassesTestMixin [as 别名]
def test_func(self):
""" UserPassesTestMixin Tests"""
if self.request.user.is_superuser:
return True
project_obj = get_object_or_404(
Project, pk=self.kwargs.get('project_pk'))
if project_obj.pi == self.request.user:
return True
if project_obj.projectuser_set.filter(user=self.request.user, role__name='Manager', status__name='Active').exists():
return True
示例4: test_func
# 需要导入模块: from django.contrib.auth import mixins [as 别名]
# 或者: from django.contrib.auth.mixins import UserPassesTestMixin [as 别名]
def test_func(self):
""" UserPassesTestMixin Tests"""
if self.request.user.is_superuser:
return True
project_obj = get_object_or_404(Project, pk=self.kwargs.get('project_pk'))
if project_obj.pi == self.request.user:
return True
if project_obj.projectuser_set.filter(user=self.request.user, role__name='Manager', status__name='Active').exists():
return True
messages.error(self.request, 'You do not have permission to add a new grant to this project.')