From: Rob van der Linde Date: Tue, 30 Apr 2024 11:43:30 +0000 (+1200) Subject: python: models: add get_primary_group method to User model X-Git-Tag: tdb-1.4.11~805 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8fe7f0a6d507c4711c9edbc8eab86cf0a46facaf;p=thirdparty%2Fsamba.git python: models: add get_primary_group method to User model Signed-off-by: Rob van der Linde Reviewed-by: Andrew Bartlett Reviewed-by: Douglas Bagnall --- diff --git a/python/samba/domain/models/user.py b/python/samba/domain/models/user.py index 569986c8c56..0ce6cf96d06 100644 --- a/python/samba/domain/models/user.py +++ b/python/samba/domain/models/user.py @@ -27,6 +27,7 @@ from samba.dsdb import DS_GUID_USERS_CONTAINER from .exceptions import NotFound from .fields import DnField, EnumField, IntegerField, NtTimeField, StringField +from .group import Group from .org import OrganizationalPerson from .types import AccountType, UserAccountControl @@ -52,6 +53,11 @@ class User(OrganizationalPerson): """Return sAMAccountName rather than cn for User model.""" return self.account_name + def get_primary_group(self, samdb) -> Group: + """Returns the primary Group object for this User.""" + group_sid = f"{samdb.domain_sid}-{self.primary_group_id}" + return Group.get(samdb, object_sid=group_sid) + @staticmethod def get_base_dn(samdb): """Return the base DN for the User model.