Langsung ke konten utama

Odoo : Mendefinisikan data awal

Data awal akan dibuat saat kita pertamakali install modul Buat file '.xml' di dalam folder 'data' (nama_modul/data): <?xml version="1.0" encoding="utf-8"?> <!-- noupdate="1" berfungsi agar data tidak ditimpa saat update modul --> <odoo noupdate="1"> <record id="nama_id_record" model="nama.model"> <!-- Field-field yang ada di model --> <field name="field_1">Nama Record</field> <field name="field_2">2</field> </record> </odoo> Contoh saya membuat file 'tipe_kendaraan_data.xml' di dalam folder 'data': <?xml version="1.0" encoding="utf-8"?> <odoo noupdate="1"> <record id="tipe_kendaraan_motor" model="tipe.kendaraan"> <field name="name">Motor</field> <field name=...

Odoo : Dynamic domain

 

Cara 1:

Buat field penampung:
domain_currency_ids = fields.Many2many("res.currency", string="Domain Currency")
Tambahkan onchange pada field yang akan mentrigger domain:

is_kmk = fields.Boolean("KMK", default=True)

@api.onchange("is_kmk")
def _onchange_is_kmk(self):
    if self.is_kmk:
        self.domain_currency_ids = self.env["res.currency"].search(
            [("is_kmk", "=", True)]
        )
    else:
        self.domain_currency_ids = self.env["res.currency"].search(
            [("is_kmk", "=", False)]
        )
Tambahkan field domain di form, buat menjadi invisible:

<field invisible="1" name="domain_currency_ids"></field>
Tambahkan field penampung ke domain field

<xpath expr="//field[@name='currency_id']" position="attributes">
    <attribute name="domain">[('id', 'in', domain_currency_ids)]</attribute>
</xpath>

Komentar

Postingan populer dari blog ini

WARNING: database "postgres" has a collation version mismatch

  Masuk ke PSQL: sudo -u postgres psql Lalu masukan query: REINDEX DATABASE nama_database; ALTER DATABASE nama_database REFRESH COLLATION VERSION; Contoh database yang terkena collation version adalah "postgres" REINDEX DATABASE postgres; ALTER DATABASE postgres REFRESH COLLATION VERSION;

Odoo : Mendefinisikan data awal

Data awal akan dibuat saat kita pertamakali install modul Buat file '.xml' di dalam folder 'data' (nama_modul/data): <?xml version="1.0" encoding="utf-8"?> <!-- noupdate="1" berfungsi agar data tidak ditimpa saat update modul --> <odoo noupdate="1"> <record id="nama_id_record" model="nama.model"> <!-- Field-field yang ada di model --> <field name="field_1">Nama Record</field> <field name="field_2">2</field> </record> </odoo> Contoh saya membuat file 'tipe_kendaraan_data.xml' di dalam folder 'data': <?xml version="1.0" encoding="utf-8"?> <odoo noupdate="1"> <record id="tipe_kendaraan_motor" model="tipe.kendaraan"> <field name="name">Motor</field> <field name=...