def dispatch(self, request, *args, **kwargs):
if request.group.name == "Super Admin":
return super(ReviewerRoleMixin, self).dispatch(request, *args, **kwargs)
site_id = self.kwargs.get('pk')
user_id = request.user.id
user_role = request.roles.filter(user_id = user_id, site_id = site_id, group__name="Site Supervisor")
if user_role:
return super(SiteSupervisorRoleMixin, self).dispatch(request, *args, **kwargs)
project = Site.objects.get(pk=site_id).project
user_role_aspadmin = request.roles.filter(user_id = user_id, project_id = project.id, group__name="Project Manager")
if user_role_aspadmin:
return super(SiteSupervisorRoleMixin, self).dispatch(request, *args, **kwargs)
organization_id = project.organization.id
user_role_asorgadmin = request.roles.filter(user_id = user_id, organization_id = organization_id, group__name="Organization Admin")
if user_role_asorgadmin:
return super(SiteSupervisorRoleMixin, self).dispatch(request, *args, **kwargs)
raise PermissionDenied()
评论列表
文章目录