Skip to content

[16.0][ADD] agx_approval_dashboard: เพิ่ม dashboard แบบ Biz Portal สำหรับหน้าขออนุมัติออนไลน์ - #1139

Open
madara1150 wants to merge 3 commits into
16.0from
madara1150/approval-category-kanban-ui
Open

[16.0][ADD] agx_approval_dashboard: เพิ่ม dashboard แบบ Biz Portal สำหรับหน้าขออนุมัติออนไลน์#1139
madara1150 wants to merge 3 commits into
16.0from
madara1150/approval-category-kanban-ui

Conversation

@madara1150

Copy link
Copy Markdown
Collaborator

สรุป

  • แทนที่ kanban view เดิมของ approval.category (แบบ group_by คอลัมน์) ด้วย layout sidebar + card grid แบบ Biz Portal
  • แยกเป็นโมดูลใหม่ agx_approval_dashboard (UI-only) — ถอนติดตั้งได้ = กลับ kanban เดิมทันที ไม่แตะ data model หรือ business logic ใดๆ

ปัญหาที่แก้

  • 5 group มี category ลูกใบเดียว → คอลัมน์กว้างเปล่า กินพื้นที่จอ
  • 4 group มี category ลูก 10-18 ใบ → คอลัมน์สูง ต้อง scroll หา
  • การ์ดโชว์แค่ image + name → ผู้ใช้ไม่ได้ข้อมูลเพิ่ม
  • ผู้ใช้ปลายทางไม่คุ้นกับ metaphor "คอลัมน์ kanban"

การออกแบบ

ส่วน Model
แถบซ้าย (sidebar) approval.category.group
การ์ดฝั่งขวา approval.category

พฤติกรรมหลัก: auto-select group แรก, URL persistence (back/forward/bookmark), live-filter ≥3 ตัวอักษร debounce 200ms, ซ่อน group ว่าง

การทดสอบ

  • Install agx_approval_dashboard → เมนูราก Approval เปิด dashboard ใหม่
  • Sidebar แสดง group ที่มี active category, group แรกถูกเลือกไว้แล้ว
  • คลิก sidebar → การ์ดเปลี่ยน + URL hash อัปเดต; Refresh → กลับ group เดิม
  • ค้นหา ≥ 3 ตัวอักษร → filter ใน group; ค้นไม่เจอ → empty state
  • กดปุ่ม "สร้างคำร้อง" → เปิดฟอร์ม approval.request พร้อม category ที่ถูกต้อง
  • เมนู Settings → Categories → tree เดิมยังทำงานปกติ
  • Uninstall → กลับ kanban เดิม ไม่พัง

… สำหรับหน้าขออนุมัติออนไลน์

แทนที่ kanban view เดิมของ approval.category ที่ใช้ group_by แบบคอลัมน์
ด้วย layout แบบ Biz Portal — แถบหมวดหมู่ซ้าย (approval.category.group)
และ card grid ฝั่งขวา (approval.category) พร้อมช่องค้นหา live-filter

- สร้างโมดูลใหม่ agx_approval_dashboard (UI-only, depends on agx_approval)
- ir.actions.client (OWL component) แทนที่ act_window kanban dashboard
- Override เมนูราก Approval และ New Request ให้ชี้ client action ใหม่
- Auto-select group แรกตาม sequence เมื่อเปิดหน้า
- URL persistence ผ่าน router.pushState (back/forward/bookmark ใช้ได้)
- Live-filter ใน group ที่เลือก หลัง 3 ตัวอักษร debounce 200ms
- ซ่อน group ที่ไม่มี active category ลูก
- ถอนติดตั้งได้ = กลับ kanban เดิมทันที
…ร SearchModel

ControlPanel ของ Odoo render SearchBar ซึ่งอ่าน searchViewFields จาก
SearchModel context โดยอัตโนมัติ — แต่ client action ไม่มี SearchModel
จึง crash ด้วย TypeError: Cannot read properties of undefined

แก้โดยเอา ControlPanel ออกและใช้ header div แบบ plain แทน
dashboard มีช่องค้นหาของตัวเองอยู่แล้ว
…ist) บน header

เพิ่มปุ่มสลับมุมมอง 3 ปุ่มที่ header ขวาบน:
- Dashboard (active/disabled เพราะอยู่หน้านี้แล้ว)
- Kanban → เปิด kanban view ของ approval.category แบบ group_by group_id
- List → เปิด tree view ของ approval.category

กดเมนูราก Approval กลับมา dashboard ใหม่ได้ตลอด
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant