Halo teman-temen pengembang Odoo!

Sebelum kita memahami pembuatan view, mari saya ingatkan terlebih dahulu tentang apa itu model dan view di Odoo.

Model Odoo dapat dikatakan sebagai representasi struktural sebuah obyek database. Model yang kita buat digunakan untuk mendefinisikan atribut-atribut data yang ada pada obyek database tersebut.

Sedangkan view adalah presentasi visual dari model tersebut. View menggambarkan bagaimana data dari sebuah model ditampilkan kepada pengguna. Dalam sebuah view, kita mendefinisikan tata letak, kolom, formulir, dan elemen-elemen tampilan lainnya yang digunakan untuk menampilkan data dan memungkinkan pengguna memanipulasi data tersebut.

Langkah membuat view

Langkah pertama dalam membuat view adalah mendefinisikan model yang ingin kamu tampilkan. Hal tersebut melibatkan penulisan kode Python untuk mendefinisikan struktur data dan properti obyek model kita. Kamu juga dapat menentukan validasi dan metode yang terkait dengan model yang kita buat.

Setelah kamu mendefinisikan model, buatlah file XML terpisah untuk mendefinisikan tampilan untuk kamu. XML digunakan di Odoo untuk mendefinisikan tata letak dan elemen tampilan. File XML ini harus ditempatkan di folder views dalam modul kamu.

Di dalam file XML tersebut, kamu menentukan struktur tampilan untuk model yang kamu buat. Hal tersebut melibatkan penentuan tipe tampilan yang ingin kamu buat, seperti tampilan daftar (tree), formulir (form), tampilan kanban, dan sebagainya.

Odoo memiliki sistem pengaturan keamanan yang memungkinkan kamu mengontrol akses pengguna terhadap model dan view. Pastikan kamu sudah menetapkan izin yang sesuai untuk grup pengguna yang diizinkan.

Jenis view

Terdapat beberapa jenis tampilan yang dapat kamu gunakan dalam sebuah view. Berikut akan saya jelaskan beberapa di jenis tampilan dalam view Odoo.

List view

Tampilan list view Odoo

List view adalah jenis tampilan yang menampilkan data dalam bentuk tabel. Tampilan view ini memungkinkan pengguna untuk melihat beberapa record sekaligus dan menyajikan data dalam tata letak yang terstruktur. List view biasanya digunakan untuk menampilkan data dalam jumlah besar dan memungkinkan pengguna untuk memeriksa dan mengakses informasi penting dengan cepat.

Form view

Tampilan form view Odoo

Form view adalah jenis tampilan yang menampilkan data dalam bentuk formulir. Setiap record model ditampilkan sebagai formulir yang memungkinkan pengguna untuk melihat dan mengedit data secara detail. Form view sangat berguna untuk membuat, mengubah, atau menghapus data secara individu.

Kanban view

Tampilan kanban view Odoo

Kanban view adalah jenis tampilan yang menampilkan data dalam bentuk kartu atau potongan informasi. Setiap kartu mewakili satu record model, dan pengguna dapat dengan mudah memindahkan kartu dari satu status ke status lainnya. Kanban view sangat cocok untuk mengelola aliran kerja dan tugas yang berproses.

Graph view

Graph view adalah jenis tampilan yang menampilkan data dalam bentuk grafik atau diagram. Jenis tampilan ini berguna untuk menggambarkan data secara visual dan memungkinkan pengguna untuk melihat tren atau pola dalam data. Grafik yang didukung antara lain garis, batang, pie, dan sebagainya.

Calendar view

Tampilan calendar view Odoo

Calendar view adalah jenis tampilan yang menampilkan data dalam bentuk kalender. Jenis tampilan ini berguna untuk memvisualisasikan jadwal, acara, atau aktivitas yang berdasarkan tanggal dan waktu. Pengguna dapat dengan mudah menavigasi kalender dan melihat rincian acara dengan mudah.

Pivot view

Tampilan pivot view Odoo

Pivot view adalah jenis tampilan yang menampilkan data dalam bentuk tabel pivot. Jenis tampilan ini memungkinkan pengguna untuk menganalisis data secara dinamis dengan mengubah dimensi dan ukuran kolom. Pivot view sangat berguna untuk menganalisis data dalam berbagai sudut pandang.

Contoh pembuatan view

Dengan beragamnya jenis tampilan yang disediakan Odoo, kamu dapat mengkombinasikan beberapa jenis tampilan dalam satu view atau memilih jenis tampilan yang paling sesuai dengan kebutuhan dan preferensi pengguna. Setiap jenis tampilan memberikan cara yang berbeda dalam menampilkan dan berinteraksi dengan data, dan pemilihan tampilan yang tepat dapat meningkatkan pengalaman pengguna dan efisiensi kerja.

Seperti yang sudah saya jelaskan sebelumnya, langkah pertama dalam membuat view adalah mendefinisikan model. Jadi, kita akan mengambil contoh dari tutorial pada dokumentasi Odoo. Kamu bisa membacanya di sini .

from odoo import fields, models

class EstatePropery(models.Model):
    _name = "estate.property"
    _description = "Estate Property"

    name = fields.Char()
    description = fields.Text()
    postcode = fields.Char()
    date_availability = fields.Date()
    expected_price = fields.Float()
    selling_price = fields.Float()
    bedrooms = fields.Integer()
    living_area = fields.Integer()
    facades = fields.Integer()
    garage = fields.Boolean()
    garden = fields.Boolean()
    garden_area = fields.Integer()
    garden_orientation = fields.Selection(['north', 'south', 'east', 'north'])

Setelah itu, mari kita buat file XML terpisah untuk mendefinisikan tampilannya.

<?xml version="1.0" encoding="utf-8" ?>                                         
<odoo>
    <record id="estate_property_view_tree" model="ir.ui.view">
        <field name="name">estate.property.tree</field>
        <field name="model">estate.property</field>
        <field name="arch" type="xml">
            <tree>
                <field name="name"/>
                <field name="postcode"/>
                <field name="bedrooms"/>
                <field name="living_area"/>
                <field name="expected_price"/>
                <field name="selling_price"/>
            </tree>
        </field>
    </record>
</odoo>

File XML yang sudah saya tulis menggunakan tampilan daftar untuk menampilkan record model estate_property. Berikut ini adalah tampilan yang akan disajikan kepada pengguna.

Tampilan model estate_property

Silakan kamu mencoba untuk membuat jenis-jenis tampilan lainnya. Kamu dapat membaca referensi jenis tampilan di referensi framework Python pada dokumentasi Odoo.

Penutup

Dalam artikel ini, saya telah menjelaskan langkah-langkah pembuatan view untuk sebuah model. Dengan mengikuti panduan ini, saya harapkan kamu dapat menciptakan tampilan yang relevan dan menarik untuk data dalam modul kita. Pastikan untuk melakukan uji coba secara menyeluruh dan mengikuti praktik terbaik dalam pengembangan Odoo untuk mencapai hasil yang optimal.

Semoga artikel ini bermanfaat dalam memahami pembuatan view di Odoo. Terima kasih telah membaca dan selamat mencoba!