def add_member(self, user): group = self.group with AdvisoryLock(LOCK_ID_LDAP_GROUP, group.pk): ldap_group = LdapGroup.lookup(group.name) ldap_group.members.append(user.username) ldap_group.save() group.user_set.add(user)
def remove_member(self, user, check_sole_admin=False): with AdvisoryLock(LOCK_ID_LDAP_GROUP, self.group.pk): properties = self.group.properties if check_sole_admin: self._raise_if_sole_admin(user) properties.admins.remove(user) ldap_group = LdapGroup.lookup(self.group.name) try: ldap_group.members.remove(user.username) ldap_group.save() except ValueError: pass self.group.user_set.remove(user)
def get_ldap_group(self): return LdapGroup.lookup(self.group.name)