Service Report #018 Done
Date: 2026-02-23
This report covers 7 bug fixes and 5 feature enhancements reported by testers between 2026-02-18 and 2026-02-20. Issues include training management 403 errors, project management access, notification display, image upload, workspace area dropdown improvements, user page navigation, PR No. field behavior, project card sizing, and JSA signature restrictions.
Feature Overview
| # | Feature | PR/Issue | Type | Status |
|---|---|---|---|---|
| 1 | Training Schedule Save Returns 403 | #451 | Bug Fix | ✅ Done |
| 2 | Training Session Save Returns 403 | #452 | Bug Fix | ✅ Done |
| 3 | Work Owner Project List Error | #453 | Bug Fix | ✅ Done |
| 4 | Stamp Logo Upload Not Displaying | #454 | Bug Fix | ✅ Done |
| 5 | Users Page Missing Back Button | #455 | Enhancement | ✅ Done |
| 6 | Area Owner Dropdown Opens Above | #456 | Enhancement | ✅ Done |
| 7 | Pending Users Selectable as Area Owner | #457 | Enhancement | ✅ Done |
| 8 | Notification Messages Not Displayed | #458 | Bug Fix | ✅ Done |
| 9 | Cannot Delete Project (404 Error) | #459 | Bug Fix | ✅ Done |
| 10 | Project Selection Card Sizes Inconsistent | #460 | Enhancement | ✅ Done |
| 11 | PR No. Field — Working as Designed | #449 | Clarification | ✅ No Change Needed |
| 12 | WO/SO Cannot Sign JSA During Co-Review | #442 | Bug Fix | ✅ Done |
1. Training Schedule Save Returns 403
Issue: #451 Thai Name: Admin: จัดการการอบรม > เพิ่มแผนการอบรม กดบันทึกขึ้น Error
Description: System Admin could not create a new training schedule. Saving the form returned a 403 Forbidden error because the endpoint authorization policy did not include the Admin role.
Location: System Admin > เครื่องมือ > จัดการอบรม > เพิ่มแผนการอบรม
Behavior (After Fix)
| Role | Create Schedule | Expected |
|---|---|---|
| System Admin | Allowed | Save succeeds |
| Non-admin | Blocked | 403 Forbidden |
What to Test
| # | Test Case | Status |
|---|---|---|
| 1 | Admin creates new training schedule > Saved successfully | ⌛ Pending |
| 2 | Non-admin role > Correctly returns 403 | ⌛ Pending |
2. Training Session Save Returns 403
Issue: #452 Thai Name: Admin: จัดการการอบรม > เพิ่มรอบอบรม กดบันทึกขึ้น Error
Description: System Admin could not create a new training session. Saving returned a 403 Forbidden error — same root cause as #451 (missing Admin role in endpoint authorization).
Location: System Admin > เครื่องมือ > จัดการอบรม > รอบอบรม > เพิ่มรอบอบรม
Behavior (After Fix)
| Role | Create Session | Expected |
|---|---|---|
| System Admin | Allowed | Save succeeds |
| Non-admin | Blocked | 403 Forbidden |
What to Test
| # | Test Case | Status |
|---|---|---|
| 1 | Admin creates new training session > Saved successfully | ⌛ Pending |
| 2 | Non-admin role > Correctly returns 403 | ⌛ Pending |
3. Work Owner Project List Error
Issue: #453 Thai Name: เจ้าของงาน: เข้าเมนูโครงการแล้วขึ้น Error
Description: Work Owner got an error every time they opened the Projects page. The project management endpoint did not allow Work Owner role access.
Location: Work Owner > เครื่องมือ > โครงการ
Behavior (After Fix)
| Role | View Projects | Expected |
|---|---|---|
| Work Owner | Allowed | Project list loads normally |
| Admin | Allowed | Project list loads normally |
What to Test
| # | Test Case | Status |
|---|---|---|
| 1 | Work Owner opens project list > Projects load without error | ⌛ Pending |
| 2 | Admin opens project list > Works normally | ⌛ Pending |
4. Stamp Logo Upload Not Displaying
Issue: #454 Thai Name: admin: ตั้งค่าธุรกิจ > โลโก้ตรายาง อัพโหลดรูปภาพไม่ขึ้น
Description: Admin uploaded seal/logo images in Business Settings but they did not display. Clicking to view showed a blank white screen.
Location: System Admin > ตั้งค่าธุรกิจ > โลโก้ตรายาง
Behavior (After Fix)
| Action | Expected |
|---|---|
| Upload seal/logo image | Image displays immediately after upload |
| View uploaded image | Shows correctly (not blank) |
| Save and refresh page | Image persists |
What to Test
| # | Test Case | Status |
|---|---|---|
| 1 | Upload stamp logo image > Image displays after upload | ⌛ Pending |
| 2 | View uploaded image > Shows correctly (not blank) | ⌛ Pending |
| 3 | Save and refresh > Image persists | ⌛ Pending |
5. Users Page Missing Back Button
Issue: #455 Thai Name: admin: เมนู ผู้ใช้งาน ไม่มีปุ่ม "ย้อนกลับ"
Description: The Users settings page was missing a "Back" button. Other settings pages have one, but Users required clicking the navigation menu to go back.
Location: System Admin > เครื่องมือ > ผู้ใช้งาน
Behavior (After Fix)
| Page | Back Button | Navigates To |
|---|---|---|
| Users (ผู้ใช้งาน) | Present | Tools (เครื่องมือ) page |
What to Test
| # | Test Case | Status |
|---|---|---|
| 1 | Users page has a "ย้อนกลับ" back button in toolbar | ⌛ Pending |
| 2 | Back button navigates to Tools page | ⌛ Pending |
6. Area Owner Dropdown Opens Above
Issue: #456 Thai Name: admin: ช่องเลือก เจ้าของพื้น ควรอยู่ตำแหน่งล่าง ไม่ใช่บน
Description: In Workspace Area settings, the Area Owner dropdown opened above the input field instead of below.
Location: Admin > เครื่องมือ > พื้นที่ทำงาน > สร้าง > ช่องเลือก เจ้าของพื้นที่
Behavior (After Fix)
| Aspect | Before | After |
|---|---|---|
| Dropdown direction | Opens above | Opens below |
What to Test
| # | Test Case | Status |
|---|---|---|
| 1 | Area owner dropdown opens below the input field | ⌛ Pending |
7. Pending Users Selectable as Area Owner
Issue: #457 Thai Name: admin: ช่องเลือก เจ้าของพื้นที่ > ผู้ใช้ที่ยังไม่ยืนยันอีเมลไม่ควรเลือกได้
Description: Newly invited workspace owners who had not yet confirmed their email appeared in the Area Owner dropdown and could be selected. They should be filtered out.
Location: Admin > เครื่องมือ > พื้นที่ทำงาน > สร้าง > ช่องเลือก เจ้าของพื้นที่
Behavior (After Fix)
| User Status | Appears in Dropdown |
|---|---|
| Verified (confirmed email) | Yes |
| Pending (not confirmed) | No |
What to Test
| # | Test Case | Status |
|---|---|---|
| 1 | Pending users do not appear in area owner dropdown | ⌛ Pending |
| 2 | Verified users appear and can be selected normally | ⌛ Pending |
8. Notification Messages Not Displayed
Issue: #458 Thai Name: ทุก User ไม่มีข้อความแจ้งเตือน
Description: All users saw a notification count badge on the bell icon but opening the notification panel showed no messages. The inbox API endpoint was returning a 500 error.
Location: All Users > Notification bell icon (top-right)
Behavior (After Fix)
| Aspect | Expected |
|---|---|
| Notification badge | Shows correct count |
| Open notification panel | Messages display correctly |
| Click notification | Navigates to related task |
What to Test
| # | Test Case | Status |
|---|---|---|
| 1 | User with notifications > Messages display in panel | ⌛ Pending |
| 2 | Notification count matches actual message count | ⌛ Pending |
| 3 | Click notification > Navigates to related task | ⌛ Pending |
9. Cannot Delete Project (404 Error)
Issue: #459 Thai Name: เจ้าของงาน: ลบโครงการไม่ได้ขึ้น Error
Description: Work Owner could not delete a project — clicking Delete returned a 404 error. The project management endpoint did not allow Work Owner role access (same root cause as #453).
Location: Work Owner > เครื่องมือ > โครงการ > ลบ
Behavior (After Fix)
| Role | Delete Project | Expected |
|---|---|---|
| Work Owner | Allowed | Project deleted successfully |
| Admin | Allowed | Project deleted successfully |
What to Test
| # | Test Case | Status |
|---|---|---|
| 1 | Work Owner deletes project > Deleted successfully | ⌛ Pending |
| 2 | Admin deletes project > Deleted successfully | ⌛ Pending |
| 3 | Delete project with active tasks > Appropriate error message | ⌛ Pending |
10. Project Selection Card Sizes Inconsistent
Issue: #460 Thai Name: ผู้รับเหมา: เลือกโครงการ > ช่องขนาดไม่เท่ากัน
Description: When Contractor selects a project for JSA or Tool List, the project selection cards had inconsistent sizes, making it hard to browse.
Location: Contractor > สร้างงาน > จัดเตรียม JSA / รายการเครื่องมือ > Select project dialog
Behavior (After Fix)
| Aspect | Before | After |
|---|---|---|
| Card sizes | Inconsistent, hard to scroll | Equal sizes, fully scrollable |
What to Test
| # | Test Case | Status |
|---|---|---|
| 1 | Project selection cards have consistent/equal sizes | ⌛ Pending |
| 2 | All projects are visible and scrollable | ⌛ Pending |
11. PR No. Field — Working as Designed
Issue: #449 Thai Name: เจ้าของงาน: สร้างงาน > ช่อง PR.No ไม่ควรแก้ไขได้
Status: ✅ No change needed — current behavior is correct by design.
Description: The tester reported that the PR No. field is editable when WO creates a new project from the PR search page. However, this is the intended workflow per MoM 2026-01-27 (#331, #332).
MoM Reference: MoM 2026-01-27 — Items #1-2
Design Rationale
The intended workflow is:
- WO has a PR No. in hand but Purchasing hasn't created the project yet
- WO searches for the PR No. in the project list → not found
- WO creates a new project, typing the PR No. manually
- Project goes to Purchasing → they review and fill in PO No., accounting details, etc.
The PR No. field must be editable for WO in the "Create New Project" dialog to support this flow. The field is read-only only inside the Project Registration Form (task review workflow) for non-Purchasing roles — which is already implemented correctly.
Context Distinction
| Context | PR No. Editable? | Correct? |
|---|---|---|
| Create New Project dialog (สร้างงาน) | Yes — WO types PR No. | ✅ By design |
| Project Registration Form (task review) — WO | No — read-only | ✅ Already implemented |
| Project Registration Form (task review) — Purchasing | Yes — can edit | ✅ Already implemented |
12. WO/SO Cannot Sign JSA During Co-Review
Issue: #442 Thai Name: เจ้าของงาน / จป : เซ็น JSA ไม่ได้
Description: Work Owner and Safety Officer could not sign their respective signature slots on the JSA during co-review. Additionally, roles could sign any slot instead of being restricted to their own.
Location: Tasks > JSA Preparation > Co-Review state > JSA document > Signature section
Related: SR #017 (item 3)
Behavior (After Fix)
| Role | Can Sign | Restricted To |
|---|---|---|
| Contractor | Yes | "ผู้จัดทำ (ผู้รับเหมา)" only |
| Work Owner | Yes | "ผู้อนุมัติ (เจ้าของงาน)" only |
| Safety Officer | Yes | "ผู้อนุมัติ (จป.)" only |
What to Test
| # | Test Case | Status |
|---|---|---|
| 1 | WO can only click "ผู้อนุมัติ (เจ้าของงาน)" slot | ⌛ Pending |
| 2 | SO can only click "ผู้อนุมัติ (จป.)" slot | ⌛ Pending |
| 3 | Contractor can only click "ผู้จัดทำ" slot | ⌛ Pending |
| 4 | WO tries to approve without signing > Approve button disabled | ⌛ Pending |
| 5 | Switching accounts loads the correct saved signature | ⌛ Pending |
Summary
| # | Issue | Status |
|---|---|---|
| 1 | #451 — Training schedule save returns 403 | ✅ Done |
| 2 | #452 — Training session save returns 403 | ✅ Done |
| 3 | #453 — Work Owner project list error | ✅ Done |
| 4 | #454 — Stamp logo upload not displaying | ✅ Done |
| 5 | #455 — Users page missing back button | ✅ Done |
| 6 | #456 — Area owner dropdown opens above | ✅ Done |
| 7 | #457 — Pending users selectable as area owner | ✅ Done |
| 8 | #458 — Notification messages not displayed | ✅ Done |
| 9 | #459 — Cannot delete project (404) | ✅ Done |
| 10 | #460 — Project selection card sizes inconsistent | ✅ Done |
| 11 | #449 — PR No. field: working as designed (per MoM 2026-01-27) | ✅ No Change Needed |
| 12 | #442 — WO/SO cannot sign JSA during co-review | ✅ Done |