From 637e99591520b1e2cac5ceb7d852ff6876e8b0e2 Mon Sep 17 00:00:00 2001 From: harid Date: Fri, 20 Feb 2026 11:46:46 +0700 Subject: [PATCH] Fix bug #54 --- src/controllers/OrganizationController.ts | 6 +++--- src/services/ProfileLeaveService.ts | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/controllers/OrganizationController.ts b/src/controllers/OrganizationController.ts index 74b90213..89015402 100644 --- a/src/controllers/OrganizationController.ts +++ b/src/controllers/OrganizationController.ts @@ -1663,7 +1663,7 @@ export class OrganizationController extends Controller { // กำหนดการเข้าถึงข้อมูลตามสถานะและสิทธิ์ const isCurrentActive = !orgRevision.orgRevisionIsDraft && orgRevision.orgRevisionIsCurrent; if (isCurrentActive) { - if (profileAssign && _privilege.privilege !== "OWNER") { + if (profileAssign && _privilege.privilege !== "OWNER" && _privilege.privilege !== "PARENT") { if (_privilege.privilege == "NORMAL") { const holder = profile.current_holders.find((x) => x.orgRevisionId === id); if (!holder) return; @@ -5700,7 +5700,7 @@ export class OrganizationController extends Controller { // กำหนดการเข้าถึงข้อมูลตามสถานะและสิทธิ์ const isCurrentActive = !orgRevision.orgRevisionIsDraft && orgRevision.orgRevisionIsCurrent; if (isCurrentActive) { - if (profileAssign && _privilege.privilege !== "OWNER") { + if (profileAssign && _privilege.privilege !== "OWNER" && _privilege.privilege !== "PARENT") { if (_privilege.privilege == "NORMAL") { const holder = profile.current_holders.find((x) => x.orgRevisionId === id); if (!holder) return; @@ -6257,7 +6257,7 @@ export class OrganizationController extends Controller { // กำหนดการเข้าถึงข้อมูลตามสถานะและสิทธิ์ const isCurrentActive = !orgRevision.orgRevisionIsDraft && orgRevision.orgRevisionIsCurrent; if (isCurrentActive) { - if (_privilege.privilege !== "OWNER") { + if (_privilege.privilege !== "OWNER" && _privilege.privilege !== "PARENT") { if (_privilege.privilege == "NORMAL") { const holder = profile.current_holders.find((x) => x.orgRevisionId === id); if (!holder) return; diff --git a/src/services/ProfileLeaveService.ts b/src/services/ProfileLeaveService.ts index 0db2ff19..327a1fe2 100644 --- a/src/services/ProfileLeaveService.ts +++ b/src/services/ProfileLeaveService.ts @@ -289,7 +289,7 @@ export class ProfileLeaveService { isAll?: boolean, ): Promise { // Early return สำหรับ OWNER privilege - if (_data.privilege === "OWNER") { + if (_data.privilege === "OWNER" || _data.privilege === "PARENT") { return { condition: "1=1", params: {} }; } @@ -549,7 +549,7 @@ export class ProfileLeaveService { queryBuilder.andWhere(nodeCondition.condition, nodeCondition.params); - if (_data.privilege !== "OWNER") { + if (_data.privilege !== "OWNER" && _data.privilege !== "PARENT") { queryBuilder.andWhere(permissionCondition.condition, permissionCondition.params); } } @@ -717,7 +717,7 @@ export class ProfileLeaveService { queryBuilder.andWhere(nodeCondition.condition, nodeCondition.params); - if (_data.privilege !== "OWNER") { + if (_data.privilege !== "OWNER" && _data.privilege !== "PARENT") { queryBuilder.andWhere(permissionCondition.condition, permissionCondition.params); } }