def dispatch(self, request, *args, **kwargs):
if request.group.name == "Super Admin":
return super(ProjectRoleMixin, self).dispatch(request, *args, **kwargs)
project_id = self.kwargs.get('pk')
user_id = request.user.id
user_role = request.roles.filter(user_id = user_id, project_id = project_id, group__name="Project Manager")
if user_role:
return super(ProjectRoleMixin, self).dispatch(request, *args, **kwargs)
organization_id = Project.objects.get(pk=project_id).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(ProjectRoleMixin, self).dispatch(request, *args, **kwargs)
raise PermissionDenied()
评论列表
文章目录