Membuat Module Odoo (Bagian 1 – Kode Minimal)

Module adalah suatu folder yang berisi file-file tertentu yang menambah atau mengurangi suatu fitur Odoo. Misal module ‘sale’ untuk fitur penjualan, ‘purchase’ untuk pembelian dan lain-lain. Odoo sudah menyediakan module-module yang lumayan lengkap untuk kita gunakan, jika masih kurang kita bisa download module gratisan atau module berbayar di website Odoo, atau membuat module kita sendiri.

Sebagai permulaan kita akan mencoba membuat module yang menambah nama makelar pada module sale, dibawah field Salesperson. Tulisan ini bisa anda ikuti dengan asumsi anda sudah instal Odoo dengan module sale, dan anda dapat melakukan start, restart dan stop service Odoo anda.

Buat folder di path_tempat_anda_install_odoo/odoo_server/addons dengan nama custom_sale atau nama lain asalkan setiap katanya tersambung, disarankan menggunakan underscore (_).

Pada folder custom_sale buat file python dengan nama custom_sale.py dengan isi sebagai berikut :

# -*- coding: utf-8 -*-
# import module default odoo
from odoo import api, fields, models, exceptions, _

# buat class baru
# nama class bebas asalkan extends ke class Model
class sale_order(models.Model):
 # _inherit digunakan jika kita akan mengoveride model yang sudah ada
 # model sale.order terdapat di module sale bawaan Odoo
 # jika model tidak tersedia / belum terinstall akan menyebabkan error
 _inherit = 'sale.order'

 # buat kolom database dengan nama makelar, type data varchar dan wajik diisi
 # type data lainnya akan dijelaskan pada tulisan yang lain
 makelar = fields.Char("Makelar", required=True)

Buat file python dengan nama __init__.py untuk menginport file custom_sale.py yang sudah kita buat

# import file python yang sudah kita buat
import custom_sale

Buat file custom_sale_view.xml dengan isi sebagai berikut :

<?xml version="1.0"?>
<odoo>
    <data>
     <!-- script diatas ini adalah script default -->
     <!-- menambah field makelar dibawah fiels salesperson -->
     <record id="view_order_form" model="ir.ui.view">
            <field name="name">sale.order.form</field>
            <field name="model">sale.order</field>
   <field name="inherit_id" ref="sale.view_order_form"/>
            <field name="arch" type="xml">
             <field name="user_id" position="after">
              <field name="makelar" />
             </field>
            </field>
        </record>
     <!-- script dibawah ini adalah script default -->
    </data>
</odoo>

Buat file __manifest__.py untuk menyatukan semua file yang sudah kita buat dan memberikan identitas pada module kita

{
    "name": "Custom Sale", # isi bebas
    "author": "Cah Ngloji", # isi bebas
    "version": "1.0.0", # isi bebas
    "category": "Sales", # isi bebas
    "depends": [
        "sale", # penting, ini menandakan bahwa kita akan menambah / mengurangi fitur module sale, pastikan module sale sudah terinstall
    ],
    "data": [
        "custom_sale_view.xml" # penting, isi dengan nama file xml yang sudah kita buat
    ],
    "license": 'LGPL-3', # isi bebas
    'installable': True # isi bebas
}

Restart service Odoo anda. Masuk pada mode debug. dengan cara menambahkan kata debug pada url, misal alamat anda http://localhost:8069/web#bla_bla_bla ubah jadi http://localhost:8069/web?debug#bla_bla_bla

Masuk menu Apps >> Update App List. Jika sudah selesai search module yang telah anda buat, kemudian install. Seharusnya field makelar sudah ditambahkan dibawah field Salesperson



Selamat mencoba. Good Luck !!!

Download Source Code

Leave a Reply

Your email address will not be published. Required fields are marked *