def render(self, context): for_whom = self.for_whom.resolve(context) if isinstance(for_whom, User): self.user = for_whom self.group = None elif isinstance(for_whom, AnonymousUser): self.user = User.get_anonymous() self.group = None elif isinstance(for_whom, Group): self.user = None self.group = for_whom else: raise NotUserNorGroup("User or Group instance required (got %s)" % for_whom.__class__) model = self.model.resolve(context) perms = get_codename_perms(model) context[self.context_var] = perms return ''
def get_perms_field_initial(self): group_perms = set(self.group.permissions.all()) model_perms = set(get_codename_perms(self.model)) perms = group_perms.intersection(model_perms) return perms
def get_perms_field_initial(self): user_perms = set(self.user.get_all_permissions()) model_perms = set(get_codename_perms(self.model)) perms = user_perms.intersection(model_perms) return perms