python: domain: models: move OrganizationalPerson to org.py
authorRob van der Linde <rob@catalyst.net.nz>
Thu, 21 Mar 2024 22:33:17 +0000 (11:33 +1300)
committerAndrew Bartlett <abartlet@samba.org>
Thu, 28 Mar 2024 01:50:41 +0000 (01:50 +0000)
There are other models like OrganizationalUnit which can go in org.py better if this is done first

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
python/samba/domain/models/__init__.py
python/samba/domain/models/org.py [new file with mode: 0644]
python/samba/domain/models/person.py
python/samba/domain/models/user.py

index f3cdad0c8fd033343f62d94ce9797040f42d185d..4d2e930ac6a274af9a4506df1ed2cebdb59bd9f6 100644 (file)
@@ -29,7 +29,8 @@ from .container import Container
 from .gmsa import GroupManagedServiceAccount
 from .group import Group
 from .model import Model
-from .person import OrganizationalPerson, Person
+from .org import OrganizationalPerson
+from .person import Person
 from .registry import MODELS
 from .schema import AttributeSchema, ClassSchema
 from .site import Site
diff --git a/python/samba/domain/models/org.py b/python/samba/domain/models/org.py
new file mode 100644 (file)
index 0000000..c34526e
--- /dev/null
@@ -0,0 +1,33 @@
+# Unix SMB/CIFS implementation.
+#
+# Organizational models.
+#
+# Copyright (C) Catalyst.Net Ltd. 2024
+#
+# Written by Rob van der Linde <rob@catalyst.net.nz>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+
+from .fields import IntegerField, StringField
+from .person import Person
+
+
+class OrganizationalPerson(Person):
+    country_code = IntegerField("countryCode")
+    given_name = StringField("givenName")
+
+    @staticmethod
+    def get_object_class():
+        return "organizationalPerson"
index 8e68c80eacd0b66c379a5a9d5659af9e363da0be..20a99394ff70cea0d8dffadc9c23bee00e806d31 100644 (file)
@@ -1,6 +1,6 @@
 # Unix SMB/CIFS implementation.
 #
-# Person and OrganisationalPerson models.
+# Person model.
 #
 # Copyright (C) Catalyst.Net Ltd. 2024
 #
@@ -20,7 +20,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 
-from .fields import IntegerField, StringField
+from .fields import StringField
 from .model import Model
 
 
@@ -30,12 +30,3 @@ class Person(Model):
     @staticmethod
     def get_object_class():
         return "person"
-
-
-class OrganizationalPerson(Person):
-    country_code = IntegerField("countryCode")
-    given_name = StringField("givenName")
-
-    @staticmethod
-    def get_object_class():
-        return "organizationalPerson"
index 48fcd80a7e1ec7bd229da47ef0b81b1cccfb6bfb..f19d378503b7c208dd52ae5095a7945519a30a4c 100644 (file)
@@ -27,7 +27,7 @@ from samba.dsdb import DS_GUID_USERS_CONTAINER
 
 from .exceptions import NotFound
 from .fields import DnField, EnumField, IntegerField, NtTimeField, StringField
-from .person import OrganizationalPerson
+from .org import OrganizationalPerson
 from .types import AccountType, UserAccountControl