Exemplo n.º 1
0
 def limit_object_type_to(self, queryset):
         #限制对象类型只能是 角色的主体对象及其从属对象
         if not self.role: return queryset
         qs=[]
         model=self.role.object_type.model_class()
         for ct in queryset:
                 if is_parent_model(model, ct.model_class()):
                         qs.append(ct.id)
         return queryset.filter(id__in=qs)
Exemplo n.º 2
0
 def limit_object_type_to(self, queryset):
     #限制对象类型只能是 角色的主体对象及其从属对象
     if not self.role: return queryset
     qs = []
     model = self.role.object_type.model_class()
     for ct in queryset:
         if is_parent_model(model, ct.model_class()):
             qs.append(ct.id)
     return queryset.filter(id__in=qs)
Exemplo n.º 3
0
 def limit_permissions_to(self, queryset=None):
         #限制对象类型只能是 角色的主体对象及其从属对象
         if not self.object_type: return queryset
         qs=[]
         if not queryset: queryset=Permission.objects.all()
         model=self.object_type.model_class()
         for perm in queryset:
                 m=perm.content_type.model_class()
                 if m and is_parent_model(model, m):
                         qs.append(perm.id)
         return queryset.filter(id__in=qs)
Exemplo n.º 4
0
 def limit_permissions_to(self, queryset=None):
     #限制对象类型只能是 角色的主体对象及其从属对象
     if not self.object_type: return queryset
     qs = []
     if not queryset: queryset = Permission.objects.all()
     model = self.object_type.model_class()
     for perm in queryset:
         m = perm.content_type.model_class()
         if m and is_parent_model(model, m):
             qs.append(perm.id)
     return queryset.filter(id__in=qs)