From 9eda56cf9bd961c2b592fc6c3311ceed80e748dd Mon Sep 17 00:00:00 2001 From: "m.shvets" Date: Tue, 10 Feb 2026 09:15:29 +0300 Subject: [PATCH 1/3] Enhance AddRequest to conditionally set user_fields based on object class type --- app/ldap_protocol/ldap_requests/add.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/app/ldap_protocol/ldap_requests/add.py b/app/ldap_protocol/ldap_requests/add.py index f3169ea13..24d7a3c39 100644 --- a/app/ldap_protocol/ldap_requests/add.py +++ b/app/ldap_protocol/ldap_requests/add.py @@ -234,7 +234,15 @@ async def handle( # noqa: C901 parent_groups: list[Group] = [] user_attributes: dict[str, str] = {} group_attributes: list[str] = [] - user_fields = User.search_fields.keys() | User.fields.keys() + is_user_like = ( + "user" in self.object_class_names + or "computer" in self.object_class_names + ) + user_fields = ( + User.search_fields.keys() | User.fields.keys() + if is_user_like + else set() + ) attributes.append( Attribute( From fb5e7e1ab680938c7187ae3452f08dc201e88ae8 Mon Sep 17 00:00:00 2001 From: "m.shvets" Date: Tue, 10 Feb 2026 09:35:43 +0300 Subject: [PATCH 2/3] Refactor AddRequest to simplify user-like check using set intersection --- app/ldap_protocol/ldap_requests/add.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/app/ldap_protocol/ldap_requests/add.py b/app/ldap_protocol/ldap_requests/add.py index 24d7a3c39..7d4ece0bb 100644 --- a/app/ldap_protocol/ldap_requests/add.py +++ b/app/ldap_protocol/ldap_requests/add.py @@ -234,10 +234,7 @@ async def handle( # noqa: C901 parent_groups: list[Group] = [] user_attributes: dict[str, str] = {} group_attributes: list[str] = [] - is_user_like = ( - "user" in self.object_class_names - or "computer" in self.object_class_names - ) + is_user_like = {"user", "computer"} & self.object_class_names user_fields = ( User.search_fields.keys() | User.fields.keys() if is_user_like From d0fb90de18dc6c15125bc3fc9afec13a8a9b5426 Mon Sep 17 00:00:00 2001 From: "m.shvets" Date: Tue, 10 Feb 2026 11:11:59 +0300 Subject: [PATCH 3/3] Refactor AddRequest to simplify user-like check by replacing set intersection with direct membership test --- app/ldap_protocol/ldap_requests/add.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/ldap_protocol/ldap_requests/add.py b/app/ldap_protocol/ldap_requests/add.py index 7d4ece0bb..d6e6e8078 100644 --- a/app/ldap_protocol/ldap_requests/add.py +++ b/app/ldap_protocol/ldap_requests/add.py @@ -234,7 +234,7 @@ async def handle( # noqa: C901 parent_groups: list[Group] = [] user_attributes: dict[str, str] = {} group_attributes: list[str] = [] - is_user_like = {"user", "computer"} & self.object_class_names + is_user_like = "user" in self.object_class_names user_fields = ( User.search_fields.keys() | User.fields.keys() if is_user_like