From 04484444ec4da0681f1e8a543c6e71e95632e303 Mon Sep 17 00:00:00 2001 From: Adisak Date: Wed, 22 Oct 2025 11:59:49 +0700 Subject: [PATCH] owner privilege --- src/controllers/OrganizationController.ts | 46 ++++++++++++----------- 1 file changed, 25 insertions(+), 21 deletions(-) diff --git a/src/controllers/OrganizationController.ts b/src/controllers/OrganizationController.ts index 60a465a3..142d8033 100644 --- a/src/controllers/OrganizationController.ts +++ b/src/controllers/OrganizationController.ts @@ -6145,32 +6145,36 @@ export class OrganizationController extends Controller { // กำหนดการเข้าถึงข้อมูลตามสถานะและสิทธิ์ const isCurrentActive = !orgRevision.orgRevisionIsDraft && orgRevision.orgRevisionIsCurrent; if (isCurrentActive) { - if(_privilege.privilege == "NORMAL"){ - const holder = profile.current_holders.find(x => x.orgRevisionId === id); - if (!holder) return; - _data.root = [holder.orgRootId]; - _data.child1 = [holder.orgChild1Id]; - _data.child2 = [holder.orgChild2Id]; - _data.child3 = [holder.orgChild3Id]; - _data.child4 = [holder.orgChild4Id]; - }else if(_privilege.privilege == "CHILD"){ - const holder = profile.current_holders.find(x => x.orgRevisionId === id); - if (!holder) return; - _data.root = [holder.orgRootId]; - if (_privilege.root && _privilege.child1 === null) { - } else if (_privilege.child1 && _privilege.child2 === null) { - _data.child1 = [holder.orgChild1Id]; - } else if (_privilege.child2 && _privilege.child3 === null) { - _data.child1 = [holder.orgChild1Id]; - _data.child2 = [holder.orgChild2Id]; - } else if (_privilege.child3 && _privilege.child4 === null) { + if(_privilege.privilege !== "OWNER"){ + if(_privilege.privilege == "NORMAL"){ + const holder = profile.current_holders.find(x => x.orgRevisionId === id); + if (!holder) return; + _data.root = [holder.orgRootId]; _data.child1 = [holder.orgChild1Id]; _data.child2 = [holder.orgChild2Id]; _data.child3 = [holder.orgChild3Id]; _data.child4 = [holder.orgChild4Id]; + }else if(_privilege.privilege == "CHILD"){ + const holder = profile.current_holders.find(x => x.orgRevisionId === id); + if (!holder) return; + _data.root = [holder.orgRootId]; + if (_privilege.root && _privilege.child1 === null) { + } else if (_privilege.child1 && _privilege.child2 === null) { + _data.child1 = [holder.orgChild1Id]; + } else if (_privilege.child2 && _privilege.child3 === null) { + _data.child1 = [holder.orgChild1Id]; + _data.child2 = [holder.orgChild2Id]; + } else if (_privilege.child3 && _privilege.child4 === null) { + _data.child1 = [holder.orgChild1Id]; + _data.child2 = [holder.orgChild2Id]; + _data.child3 = [holder.orgChild3Id]; + _data.child4 = [holder.orgChild4Id]; + } + }else{ + _data.root = [profile.current_holders.find((x) => x.orgRevisionId === id)?.orgRootId]; } - }else{ - _data.root = [profile.current_holders.find((x) => x.orgRevisionId === id)?.orgRootId]; + } else { + if (!attrOwnership) _data = _privilege; } }