commit
This commit is contained in:
50
docs/management-change-user-menu-review.md
Normal file
50
docs/management-change-user-menu-review.md
Normal file
@@ -0,0 +1,50 @@
|
||||
# Summary
|
||||
|
||||
ปรับ User Dropdown Menu ตาม feedback โดยเพิ่มการแสดงรหัสพนักงานในเมนูผู้ใช้ และลบเมนู Profile ออก พร้อมคงการใช้งาน Dashboard และ Log out ไว้ตามเดิม
|
||||
|
||||
# Files Changed
|
||||
|
||||
- `src/components/layout/user-nav.tsx`
|
||||
- `src/auth.ts`
|
||||
- `src/types/next-auth.d.ts`
|
||||
|
||||
# Session Changes
|
||||
|
||||
- เพิ่ม `employeeCode` ในข้อมูลที่ return จาก Auth.js credentials authorize callback
|
||||
- เพิ่ม `session.user.employeeCode` ใน session callback
|
||||
- ขยาย type ของ NextAuth session/user ให้รองรับ `employeeCode: string | null`
|
||||
|
||||
# UI Changes
|
||||
|
||||
- User dropdown แสดงข้อมูลดังนี้:
|
||||
- ชื่อผู้ใช้
|
||||
- `รหัสพนักงาน: <employeeCode>`
|
||||
- อีเมล
|
||||
- หากไม่มีรหัสพนักงาน จะแสดง `รหัสพนักงาน: -`
|
||||
- ลบเมนู `Profile` ออกจาก dropdown
|
||||
- คงเมนู `แดชบอร์ด` และ `ออกจากระบบ`
|
||||
- ปรับข้อความใน dropdown เป็นภาษาไทย
|
||||
|
||||
# Permission/Security Notes
|
||||
|
||||
- ใช้เฉพาะ `employeeCode` จาก user/session ที่มีอยู่แล้วในระบบ
|
||||
- ไม่มีการ expose `passwordHash` หรือ field อ่อนไหวอื่นเพิ่ม
|
||||
- การเปลี่ยนแปลงนี้เป็น presentation-level change บนข้อมูลที่ session ใช้งานอยู่แล้ว
|
||||
|
||||
# Manual Test Checklist
|
||||
|
||||
- User dropdown shows name.
|
||||
- User dropdown shows employee code.
|
||||
- User dropdown shows email.
|
||||
- Missing employee code displays "-".
|
||||
- Profile menu is removed.
|
||||
- Dashboard menu still works.
|
||||
- Log out still works.
|
||||
- No password hash or sensitive data is exposed.
|
||||
- Works for Employee.
|
||||
- Works for HRD.
|
||||
|
||||
# Known Limitations
|
||||
|
||||
- หากข้อมูล `employeeCode` ในตาราง `users` เป็นค่าว่าง ระบบจะแสดง `-` ตามที่กำหนด
|
||||
- การเปลี่ยนแปลงนี้ไม่แก้ไขข้อมูลต้นทางของผู้ใช้ในฐานข้อมูล มีผลเฉพาะการแสดงผลใน dropdown
|
||||
Reference in New Issue
Block a user