feat: base user增加has_perm筛选条件
This commit is contained in:
parent
e4fa2561ee
commit
c0064903f4
|
|
@ -7,6 +7,7 @@ from rest_framework.exceptions import ParseError
|
||||||
class UserFilterSet(filters.FilterSet):
|
class UserFilterSet(filters.FilterSet):
|
||||||
ubelong_dept__name = filters.CharFilter(label='归属于该部门及以下(按名称)', method='filter_ubelong_dept__name')
|
ubelong_dept__name = filters.CharFilter(label='归属于该部门及以下(按名称)', method='filter_ubelong_dept__name')
|
||||||
ubelong_dept = filters.CharFilter(label='归属于该部门及以下', method='filter_ubelong_dept')
|
ubelong_dept = filters.CharFilter(label='归属于该部门及以下', method='filter_ubelong_dept')
|
||||||
|
has_perm = filters.CharFilter(label='拥有指定权限标识', method='filter_has_perm')
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = User
|
model = User
|
||||||
|
|
@ -37,6 +38,9 @@ class UserFilterSet(filters.FilterSet):
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
raise ParseError(f"部门ID错误: {value} {str(e)}")
|
raise ParseError(f"部门ID错误: {value} {str(e)}")
|
||||||
return queryset.filter(belong_dept__in=depts)
|
return queryset.filter(belong_dept__in=depts)
|
||||||
|
|
||||||
|
def filter_has_perm(self, queryset, name, value):
|
||||||
|
return queryset.filter(up_user__post__pr_post__role__perms__codes__contains=value)
|
||||||
|
|
||||||
|
|
||||||
class DeptFilterSet(filters.FilterSet):
|
class DeptFilterSet(filters.FilterSet):
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue