Gunakan tanda [] untuk mencari tag gan! contoh [flutter, javascript]

Odoo - Latihan 1 - CRUD Tanpa View

Odoo - Latihan 1 - CRUD Tanpa View

Artikel ini dibukukan pada buku Odoo ERP Development
access_time 27 Jan 2025 remove_red_eye 112 Kali spellcheck 735 Kata, 5124 Karakter
#odoo #python

Setelah kita membahas model, security model, list view, form view, action window, dan navigasi menu, kita bisa mulai latihan CRUD. Kali ini kita coba memulai dari CRUD tanpa form dan list view terlebih dahulu dengan membuat module baru, yaitu gepcode_prd. Module tersebut dibuat untuk mendokumentasikan requirement-requirement pada project yang akan dibuat. Yuk langsung saja kita mulai.

Pembuatan Module

Pembuatan module dapat kita mulai dengan membuat custom addons terlebih dahulu.

1. Buat Folder Baru

Buat folder pada root folder anda dengan nama bebas, namun kali ini saya membuat folder dengan nama gepcode untuk menyimpan module-module-module-saya. Folder Addons

2. Konfigurasi Custom Addons

Siapkan custom addons, untuk mempersiapkan bahwa folder tersebut bisa digunakan untuk menjadi addons.

[options]
addons_path = ./odoo/addons,./addons,./gepcode

3. Membuat Module Baru dengan CLI

Selanjutnya kita bisa membuat module baru dengan cara sebagai berikut:

./odoo-bin scaffold gepcode_prd ./gepcode

Setelah menjalankan command line tersebut, module akan otomatis terbuat pada folder addons kita. Berikut adalah hasil penyimpanannya: gambar folder

Membuat Model

1. Buat File Model

Buat file gepcode_prd.py pada folder models, dan hapus file model jika ada. gepcode prd model

2. Ubah File __init__.py folder model

Ubah file __init__.py pada folder model dengan kode sebagai berikut.

from . import gepcode_prd

kode tersebut digunakan untuk menjelaskan ke sistem odoo bahwa kita mendaftarkan file model kita.

3. Ubah file gepcode_prd.py

Disini saya akan memberikan contoh beberapa field pada model beserta kode lengkapnya yang bisa anda isikan pada file gepcode_prd.py.

from odoo import models, fields


class GepcodePRD(models.Model):
    _name = "gepcode_prd.prd"
    _description = "Gepcode PRD"

    name = fields.Char(string="Name", required=True)
    description = fields.Html(string="Description")

Ubah file ir.model.access.csv

Ubah file ir.model.access.csv pada folder security untuk memberi akses ke semua internal user. Berikut adalah lokasinya: folder security

Untuk isinya adalah sebagai berikut:

id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_gepcode_prd_gepcode_prd,access_gepcode_prd_gepcode_prd x internal user,model_gepcode_prd_prd,base.group_user,1,1,1,1

Jika anda bingung akan penjelasan tentang ini anda bisa membuka kembali bab security model [5].

Buat Action Window dan Navigasi Menu

Untuk membuat action window anda perlu melakukan hal berikut

1. Membuat View File

Pada folder views, tambahkan file bernama gepcode_prd_views.xml. Contoh hasilnya adalah sebagai berikut: file gepcode_prd_views.xml

2. Tambahkan Action Window dan Menu pada gepcode_prd_views.xml

Tambahkan kode berikut untuk membuat action dan menu.

<odoo>
    <data>
        <!-- Action -->
        <record id="gepcode_prd_action" model="ir.actions.act_window">
            <field name="name">PRD</field>
            <field name="res_model">gepcode_prd.prd</field>
            <field name="view_mode">list,form</field>
        </record>

        <!-- Menu -->
        <menuitem id="gepcode_prd_menu_root"
            name="PRD"
            sequence="1"
            action="gepcode_prd_action" />
    <data>
</odoo>

Update File __manifest__.py

Agar security dan views terbaca oleh odoo, anda perlu mengimport file-file tersebut pada file __manifest__.py yang ada pada module anda. Berikut adalah contoh untuk mengimport file-file tersebut.

# -*- coding: utf-8 -*-
{
    'name': "Gepcode PRD",

    'summary': "Project Requirement Document Features",

    'description': """
This module can be used to improve your team productivity
    """,
    'license': 'AGPL-3',

    'author': "gepcode",
    'website': "https://gepcode.com",

    # Categories can be used to filter modules in modules listing
    # Check https://github.com/odoo/odoo/blob/15.0/odoo/addons/base/data/ir_module_category_data.xml
    # for the full list
    'category': 'Uncategorized',
    'version': '0.1',

    # any module necessary for this one to work correctly
    'depends': ['base', 'web'],

    # always loaded
    'data': [
        'security/ir.model.access.csv',
        'views/gepcode_prd_views.xml'
    ],
    # only loaded in demonstration mode
    'demo': [
        'demo/demo.xml',
    ],
}

Install Module

Aktivasi Virtual Environment

Sebelum menginstall module, anda harus menjalankan odoo terlebih dahulu. Dalam hal ini kita membutuhkan virtual environment. Aktifkan virtual environment seperti berikut:

source venv/bin/activate

Lalu jalankan odoo anda dengan:

python odoo-bin -u odoo.conf

Aktifkan Developer Mode

Buka menu Setting lalu pencet Activate the developer mode

Update App List

Buka menu App lalu pencet menu Update App List lalu keluar modal dialog, pencet tombol Update. Seperti berikut: Update App

Upgrade Module

Hapus filter, lalu cari module gepcode_prd dan pencet tombol upgrade. Selamat, anda telah sukses membuat CRUD tanpa view.

Pada artikel atau bab selanjutnya, saya akan membahas CRUD menggunakan view.

Video Tutorial CRUD Sederhana Dengan Membuat Module School

Artikel ini dibukukan pada buku Odoo ERP Development
Navigasi Konten