Widgets ออกใหม่บน Odoo 14
ตัวช่วยที่จะมาทำให้การใช้งานระบบดูน่าสนใจ
และน่าสนุกมากยิ่งขึ้น
badge
Module: sale_management
โดย Widget ตัวนี้ จะทำให้สถานะในหน้า Views ของเอกสารต่าง ๆ ของเรา อย่างเช่น Sale Order, Purchase Order หรือ Manufacturing Order ดูน่าสนใจมากยิ่งขึ้น ด้วยการทำให้การแสดงผลออกมามีลักษณะเหมือนกับป้ายราคานั่นเอง และยังสามารถเพิ่มลูกเล่นเข้าไปได้อีกด้วยการเปลี่ยนสีไปตามข้อมูลในฟิลด์นั้น ๆ
Fields: selection แสดงผลแบบป้ายราคา พร้อมกำหนดสีกับสถานะที่เราสนใจได้ตามต้องการ
remaining_days
Module: purchase
เพิ่มความสามารถในการคำนวนจำนวนวันที่ที่จะมาถึงหรือผ่านไปแล้วได้
Fields: Datetime สามารถบอกเป็น yesterday, today หรือ tomorrow ได้ด้วย
char_emojis, text_emojis
Module : mass_mailing
เพิ่ม emoji น่ารัก ๆ ลงไปในข้อความของเราได้
Fields: Char, Text ทำให้ข้อความของเราดูน่าสนใจมากขึ้นได้เยอะเลย
Example Code
วิธีการทำนั้นก็ไม่ยาก เพียงแต่เราระบุ widgets ลงไปใน attribute ของ field ที่เราสนใจแบบนี้ เช่น
<field name="state" widget="badge"/>
เท่านี้เราก็จะได้การแสดงผล เหมือนในตัวอย่างแล้วครับ
หากเราต้องการที่จะเปลี่ยนสี ด้วยเราสามารถกำหนดลงใน attribute ที่เป็น decoration ของ field นั้นๆ ได้เลยครับ เช่น
<field name="state" widget="remaining_days"
decoration-warning="state == 'draft'"
decoration-success="state == 'done'"/>
decoration-warning="state == 'draft'"
decoration-success="state == 'done'"/>
Nothing Special :)
จริง ๆ แล้ว badge สำหรับบางคน ก็รู้สึกคุ้นเคยดีครับเหมือนเคยใช้มาก่อน เพราะหน้าตามันดูเหมือน many2many_tags มาก ๆ ครับ (จริง ๆ ก็ใช่เลยแหละ ฮ่าๆ) เพียงแต่ widget ตัวนี้เราจะใช้ กับ field ประเภท Selection แทนที่ many relation field อย่าง One2Many หรือ Many2Many field ยังไงก็ลองหาโอกาสใช้ดูนะครับ
หวังว่าบทความสั้น ๆ นี้ จะเป็นประโยชน์กับนักพัฒนาบ้างไม่มากก็น้อยนะครับ พบกันใหม่ในบทความต่อไปครับ ขอบคุณทุกคนที่เข้ามาอ่านครับ _/\_
เพิ่มลูกเล่นให้ Views ของเรา ด้วย Widgets ใหม่บน Odoo Version 14