summaryrefslogtreecommitdiff
path: root/lib/vendors/table/vendors-table-columns.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'lib/vendors/table/vendors-table-columns.tsx')
-rw-r--r--lib/vendors/table/vendors-table-columns.tsx77
1 files changed, 8 insertions, 69 deletions
diff --git a/lib/vendors/table/vendors-table-columns.tsx b/lib/vendors/table/vendors-table-columns.tsx
index f2de179c..738b8b5f 100644
--- a/lib/vendors/table/vendors-table-columns.tsx
+++ b/lib/vendors/table/vendors-table-columns.tsx
@@ -61,16 +61,6 @@ interface GetColumnsProps {
userId: number;
}
-// 권한 체크 헬퍼 함수들 (향후 실제 권한 시스템과 연동)
-const checkEditAssociationPermission = (userId: number): boolean => {
- // TODO: 실제 권한 체크 로직 구현
- // 예: 특정 역할(ADMIN, VENDOR_MANAGER 등)을 가진 사용자만 수정 가능
- // const userRoles = await getUserRoles(userId);
- // return userRoles.includes('VENDOR_MANAGER') || userRoles.includes('ADMIN');
-
- // 개발 중에는 모든 사용자가 수정 가능
- return true;
-};
@@ -118,8 +108,6 @@ export function getColumns({ setRowAction, router, userId }: GetColumnsProps): C
enableHiding: false,
cell: function Cell({ row }) {
const [isUpdatePending, startUpdateTransition] = React.useTransition()
- const isApproved = row.original.status === "PQ_APPROVED";
- const afterApproved = row.original.status === "ACTIVE";
return (
<DropdownMenu>
@@ -133,13 +121,11 @@ export function getColumns({ setRowAction, router, userId }: GetColumnsProps): C
</Button>
</DropdownMenuTrigger>
<DropdownMenuContent align="end" className="w-56">
- {(isApproved || afterApproved) && (
- <DropdownMenuItem
- onSelect={() => setRowAction({ row, type: "update" })}
- >
- 레코드 편집
- </DropdownMenuItem>
- )}
+ <DropdownMenuItem
+ onSelect={() => setRowAction({ row, type: "update" })}
+ >
+ 레코드 편집
+ </DropdownMenuItem>
<DropdownMenuItem
onSelect={() => {
@@ -420,9 +406,8 @@ export function getColumns({ setRowAction, router, userId }: GetColumnsProps): C
);
}
- // 성조회가입여부 처리 - 권한에 따라 드롭다운 또는 읽기전용 배지
+ // 성조회가입여부 처리 - 읽기전용 배지만 표시 (편집은 update-vendor-sheet에서 처리)
if (cfg.id === "isAssociationMember") {
- const [isUpdating, setIsUpdating] = React.useState(false);
const memberVal = row.original.isAssociationMember as string | null;
const getDisplayText = (value: string | null) => {
@@ -430,7 +415,7 @@ export function getColumns({ setRowAction, router, userId }: GetColumnsProps): C
case "Y": return "가입";
case "N": return "미가입";
case "E": return "해당없음";
- default: return "-";
+ default: return "정보없음";
}
};
@@ -447,53 +432,7 @@ export function getColumns({ setRowAction, router, userId }: GetColumnsProps): C
}
};
- // 권한 체크: 성조회가입여부 수정 권한이 있는지 확인
- const hasEditPermission = checkEditAssociationPermission(userId);
-
- const handleValueChange = async (newValue: string) => {
- // "NONE" 값을 null로 변환
- const actualValue = newValue === "NONE" ? null : newValue;
-
- setIsUpdating(true);
- try {
- await modifyVendor({
- id: String(row.original.id),
- isAssociationMember: actualValue,
- userId,
- vendorName: row.original.vendorName,
- comment: `성조회가입여부 변경: ${getDisplayText(memberVal)} → ${getDisplayText(actualValue)}`
- } as any);
-
- toast.success("성조회가입여부가 업데이트되었습니다.");
- } catch (error) {
- toast.error("업데이트에 실패했습니다: " + getErrorMessage(error));
- } finally {
- setIsUpdating(false);
- }
- };
-
- // 권한이 있는 경우 드롭다운 표시
- if (hasEditPermission) {
- return (
- <Select
- value={memberVal || "NONE"}
- onValueChange={handleValueChange}
- disabled={isUpdating}
- >
- <SelectTrigger className="w-[120px] h-8">
- <SelectValue />
- </SelectTrigger>
- <SelectContent>
- <SelectItem value="NONE">-</SelectItem>
- <SelectItem value="Y">가입</SelectItem>
- <SelectItem value="N">미가입</SelectItem>
- <SelectItem value="E">해당없음</SelectItem>
- </SelectContent>
- </Select>
- );
- }
-
- // 권한이 없는 경우 읽기전용 배지 표시
+ // 읽기전용 배지만 표시
return (
<Badge variant="outline" className={getBadgeStyle(memberVal)}>
{getDisplayText(memberVal)}