rolemixins.py 文件源码

python
阅读 18 收藏 0 点赞 0 评论 0

项目:fieldsight-kobocat 作者: awemulya 项目源码 文件源码
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()
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号