]> git.ipfire.org Git - ipfire.org.git/commitdiff
accounts: Don't rely on objects being of class posixAccount
authorMichael Tremer <michael.tremer@ipfire.org>
Sun, 18 Nov 2018 13:27:04 +0000 (13:27 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Sun, 18 Nov 2018 13:27:04 +0000 (13:27 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/backend/accounts.py

index fb0f52a0436178466dcd77bce8df7682930c1bd3..229e730adc615c69bd84b52d0b895efff3e0e0ba 100644 (file)
@@ -66,13 +66,13 @@ class Accounts(Object):
 
        def search(self, query):
                # Search for exact matches
-               accounts = self._search("(&(objectClass=posixAccount) \
+               accounts = self._search("(&(objectClass=person) \
                        (|(uid=%s)(mail=%s)(sipAuthenticationUser=%s)(telephoneNumber=%s)(homePhone=%s)(mobile=%s)))" \
                        % (query, query, query, query, query, query))
 
                # Find accounts by name
                if not accounts:
-                       for account in self._search("(&(objectClass=posixAccount)(|(cn=*%s*)(uid=*%s*)))" % (query, query)):
+                       for account in self._search("(&(objectClass=person)(|(cn=*%s*)(uid=*%s*)))" % (query, query)):
                                if not account in accounts:
                                        accounts.append(account)
 
@@ -86,10 +86,10 @@ class Accounts(Object):
                        return result[0]
 
        def get_by_uid(self, uid):
-               return self._search_one("(&(objectClass=posixAccount)(uid=%s))" % uid)
+               return self._search_one("(&(objectClass=person)(uid=%s))" % uid)
 
        def get_by_mail(self, mail):
-               return self._search_one("(&(objectClass=posixAccount)(mail=%s))" % mail)
+               return self._search_one("(&(objectClass=inetOrgPerson)(mail=%s))" % mail)
 
        find = get_by_uid
 
@@ -105,7 +105,7 @@ class Accounts(Object):
                        (&(objectClass=sipRoutingObject)(sipLocalAddress=%s)))" % (sip_id, sip_id))
 
        def get_by_phone_number(self, number):
-               return self._search_one("(&(objectClass=posixAccount) \
+               return self._search_one("(&(objectClass=inetOrgPerson) \
                        (|(sipAuthenticationUser=%s)(telephoneNumber=%s)(homePhone=%s)(mobile=%s)))" \
                        % (number, number, number, number))