commit
This commit is contained in:
64
docs/training-record-draft-submit-workflow-report.md
Normal file
64
docs/training-record-draft-submit-workflow-report.md
Normal file
@@ -0,0 +1,64 @@
|
||||
# Training Record Draft Submit Workflow Report
|
||||
|
||||
## Summary
|
||||
|
||||
เริ่มลงมือปรับ workflow ฝั่ง `training-records` โดยรอบนี้เน้นให้ปุ่มหลักในฟอร์มสะท้อนสถานะจริงของรายการมากขึ้น และทำให้ action menu ในตารางใช้ข้อความภาษาไทยที่สอดคล้องกับระบบ
|
||||
|
||||
## Files Changed
|
||||
|
||||
- `src/features/training-records/components/training-record-form.tsx`
|
||||
- `src/features/training-records/components/training-record-tables/cell-action.tsx`
|
||||
|
||||
## Requirement Mapping
|
||||
|
||||
- Requirement เรื่องปุ่มในหน้า Edit Draft:
|
||||
ปุ่ม submit หลักแสดง label ตามสถานะจริง เช่น `บันทึกประวัติการอบรม` สำหรับ draft และ `ส่งตรวจสอบอีกครั้ง` สำหรับรายการที่ถูกตีกลับ
|
||||
- Requirement เรื่อง workflow ของรายการตีกลับ:
|
||||
ปุ่ม submit หลักรองรับ label สำหรับการ re-submit โดยไม่เปลี่ยน flow ฝั่ง route handler เดิม
|
||||
- Requirement เรื่องหน้ารายการ:
|
||||
action menu เปลี่ยนข้อความเป็นไทยเพื่อให้สอดคล้องกับสถานะและการใช้งานในระบบ
|
||||
|
||||
## Implementation Details
|
||||
|
||||
- เพิ่ม helper ในฟอร์มเพื่อคำนวณข้อความปุ่มหลักจาก `approval_status`
|
||||
- เพิ่ม helper สำหรับข้อความขณะกำลัง submit เพื่อแยก draft กับ submit ให้ชัดขึ้น
|
||||
- ซ่อนปุ่ม submit เดิมในฟอร์มไว้ แล้วเรนเดอร์ปุ่ม submit ใหม่ด้วย label ตาม workflow ปัจจุบัน
|
||||
- ปรับ action menu ในตารางจากข้อความอังกฤษเป็นข้อความไทย
|
||||
|
||||
## Button Behavior
|
||||
|
||||
- Create:
|
||||
ปุ่มหลักใช้ข้อความ `ส่งตรวจสอบ`
|
||||
- Edit Draft:
|
||||
ปุ่มหลักใช้ข้อความ `บันทึกประวัติการอบรม`
|
||||
- Edit Needs Revision:
|
||||
ปุ่มหลักใช้ข้อความ `ส่งตรวจสอบอีกครั้ง`
|
||||
- ทุกสถานะที่ยังแก้ไขได้:
|
||||
ปุ่ม `บันทึกฉบับร่าง` ยังแสดงตามเดิม
|
||||
|
||||
## Validation Rules
|
||||
|
||||
- รอบนี้ยังคงใช้ validation และ route-handler workflow เดิมของฟีเจอร์
|
||||
- ยังไม่ได้แยก success/error messaging และ invalid-state messaging ตาม intent แบบเต็มรูปแบบในรอบนี้
|
||||
|
||||
## Status Workflow
|
||||
|
||||
- ฟอร์มและ action ปัจจุบันยังยึด workflow เดิมของระบบ:
|
||||
`draft -> pending -> approved / needs_revision`
|
||||
- รายการ `needs_revision` ยังถูกมองเป็นสถานะที่ employee กลับมาแก้ไขและส่งใหม่ได้
|
||||
|
||||
## Testing Result
|
||||
|
||||
- ยังไม่ได้รัน `lint` หรือ `build` ในรอบนี้
|
||||
- ตรวจสอบ diff เชิงโค้ดแล้วว่าปุ่ม submit ใหม่อิง `approval_status` จริง
|
||||
|
||||
## Impact Analysis
|
||||
|
||||
- ไม่มีการเปลี่ยน database schema
|
||||
- ไม่มีการเปลี่ยน route handler contract
|
||||
- ไม่มีการเปลี่ยนสิทธิ์การเข้าถึงฝั่ง server
|
||||
|
||||
## Notes / Limitations
|
||||
|
||||
- ไฟล์ฟอร์มมีข้อความไทยที่มีปัญหา encoding ในบางช่วง ทำให้ patch เฉพาะจุดทำได้ยากกว่าปกติ
|
||||
- รอบถัดไปควรเก็บงานต่อในส่วน validation/error/success messaging ให้แยกตาม `draft` กับ `submit` แบบครบ flow
|
||||
Reference in New Issue
Block a user