UAS ERP UI 2022_Kelompok 2_PT GAWA Fathur_Buat Custom Modul sederhana
Halo semua 👋,
Perkenalkan nama saya Arel. Disini saya akan menjelaskan tentang Membuat Custom Modul Artikel ini saya tulis untuk memenuhi tugas UAS mata kuliah Konfigurasi ERP Fakultas Ilmu Komputer UI Semester Genap 2021/2022.
#GabrielErwhianWinarso #1906399852 #UIERP3 #UniversitasIndonesiaFasilkom #ERP #Odoo #Dr. Ir. Agung Terminanto, MBA.
odoo.conf
Sebelum memulai pastikan kita menambahkan tempat direktori custom modul kita di odoo.conf seperti ini
addons_path = E:\Code\odoo dev\server\odoo\addons, E:\Code\odoo dev\server\addons
__init__.py & manifest
Buat folder baru pada direktori yang diinginkan (disini di dalam E:\Code\odoo dev\server\addons) lalu buat file __init__.py dan __manifest__.py baru
File __manifest__.py akan kita gunakan untuk menulis deskripsi modul odoo kita. berikut merupakan isi dari file __manifest__.py tersebut.
{'name': 'Custom Module Test','version': '1.0','description': 'This is a test for module','summary': 'test','author': 'test','website': 'test','license': 'LGPL-3','category': '','depends': [],'data': ['views/custom_module_test_views.xml'],'demo': [],'auto_install': False,'application': True,'assets': {}}
Models
Dalam modul ini saya membuat model baru. buat folder models lalu buat file python baru (disini saya membuat file customer_notes.py). Model merupakan representasi objek yang akan disimpan di database nantinya. di model kita mendefinisikan fields apa saja yang ingin disimpan beserta dengan tipe dari fields tersebut
from odoo import models,fieldsclass Notes(models.Model): _name = 'notes' title = fields.Char(required=True) content = fields.Text(required=True)
Disini saya membuat model bernama Notes dimana terdapat 2 field yaitu title (bertipe char) dan content (bertipe text). Setelah itu buat file __init__.py dan di dalamnya import model tersebut seperti berikut
from . import customer_notes
Views
Buat folder views baru. lalu disini buat file custom_module_test_views.xml baru (disini saya membuat file notes.xml). Disini saya ingin views ini memiliki 4 komponen yaitu:
- Action (dengan view mode tree,form)
- Menu Item
- Form View
- Tree View
pada awal file tersebut buat template odoo seperti berikut
<?xml version="1.0" encoding="utf-8"?><odoo></odoo>
Lalu kita mendifinisikan file-file yang kita inginkan di dalam tag odoo
Berikut merupakan komponen yang saya definisikan
- Action
<record id="custom_note_action" model="ir.actions.act_window"><field name="name">Custom Note</field><field name="type">ir.actions.act_window</field><field name="res_model">notes</field><field name="view_mode">tree,form</field><field name="help" type="html"><p>Create Note</p></field></record>
Pada action ini digunakan untuk mendifiniskan tampilan utama modul yang kita buat. Disini kita juga mendifinisikan tampilan apa yang akan ada pada bagian view_mode
- Menu Item
<menuitemid="custom_node_menu"name="Custom Note"action="custom_note_action"sequence="10"/>
kita mendifinisikan ini supaya modul kita tampil di pilihan menu yang ada di odoo
- Form View
<record id="account_tag_view_form" model="ir.ui.view"><field name="name">notes.form</field><field name="model">notes</field><field name="arch" type="xml"><form string="Notes"><group><field name="title"/><field name="content"/></group></form></field></record>
Disini kita mendifiniskan form kita serta field yang dapat diisi. Field yang dapat diisi kita masukkan di dalam <form>.
- Tree View
<record id="account_tag_view_tree" model="ir.ui.view"><field name="name">notes.tree</field><field name="model">notes</field><field name="arch" type="xml"><tree string="Notes"><field name="title"/><field name="content"/></tree></field></record>
Disini kita mendifinisikan tampilan tree kita serta field apa yang muncul di dalam tree kita. Field yang muncul kita letakkan di dalam <field>
Selanjutnya kita perlu menambahkan views ini ke dalam __manifest__.py kita. untuk itu kita tambahkan data pada __manifest__.py seperti ini
'data': ['views/custom_module_test_views.xml'],
Setelah tersebut jalankan odoo development, lalu cari modul yang dibuat tersebut pada apps (jangan lupa untuk mengaktifkan developer mode). Setelah itu, klik tombol debug dan become superuser
Apps kita pun akan mmuncul di menu