From: Michael Tremer Date: Tue, 19 Nov 2019 12:15:56 +0000 (+0000) Subject: accounts: Add function to add accounts to groups X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a5449be94787d641698b33030b8b8b1cec787af8;p=ipfire.org.git accounts: Add function to add accounts to groups Signed-off-by: Michael Tremer --- diff --git a/src/backend/accounts.py b/src/backend/accounts.py index 0d48270d..46a5061b 100644 --- a/src/backend/accounts.py +++ b/src/backend/accounts.py @@ -155,6 +155,10 @@ class LDAPObject(Object): def _delete_string(self, key, value): return self._delete_strings(key, [value,]) + @property + def objectclasses(self): + return self._get_strings("objectClass") + class Accounts(Object): def init(self): @@ -1249,6 +1253,19 @@ class Group(LDAPObject): return sorted(members) + def add_member(self, account): + """ + Adds a member to this group + """ + if "posixGroup" in self.objectclasses: + self._add_string("memberUid", account.uid) + else: + self._add_string("member", account.dn) + + # Append to cached list of members + self.members.append(account) + self.members.sort() + if __name__ == "__main__": a = Accounts()