Compare commits

...
1 Commits
Author SHA1 Message Date
admin acc1f58a29 feat(capa): add action buttons to CAPA detail page 2026-07-30 08:54:25 +08:00
+7
View File
@@ -9,6 +9,7 @@ import { eq } from 'drizzle-orm'
import { aliasedTable } from 'drizzle-orm' import { aliasedTable } from 'drizzle-orm'
import { VerifyForm } from '@/components/capa/verify-form' import { VerifyForm } from '@/components/capa/verify-form'
import { CloseCapaButton } from '@/components/capa/close-capa-button' import { CloseCapaButton } from '@/components/capa/close-capa-button'
import { CapaOwnerActions } from '@/components/capa/capa-owner-actions'
interface Props { interface Props {
params: Promise<{ id: string }> params: Promise<{ id: string }>
@@ -39,6 +40,7 @@ export default async function CapaDetailPage({ params }: Props) {
status: capaActions.status, status: capaActions.status,
completedAt: capaActions.completedAt, completedAt: capaActions.completedAt,
ownerNotes: capaActions.ownerNotes, ownerNotes: capaActions.ownerNotes,
ownerUserId: capaActions.ownerUserId,
incidentRefNo: incidents.referenceNo, incidentRefNo: incidents.referenceNo,
ownerName: ownerAlias.name, ownerName: ownerAlias.name,
}) })
@@ -112,6 +114,11 @@ export default async function CapaDetailPage({ params }: Props) {
)} )}
</div> </div>
{['open', 'in_progress', 'overdue', 'reopened'].includes(status) &&
(isHse || session?.sub === capa.ownerUserId) && (
<CapaOwnerActions capaId={id} currentStatus={status} />
)}
{isHse && status === 'pending_verification' && ( {isHse && status === 'pending_verification' && (
<VerifyForm capaId={id} /> <VerifyForm capaId={id} />
)} )}