Dalam mengembangkan aplikasi berbasis Odoo 17 kita mungkin akan membuat form-form mengenai harga barang atau harga layanan yang lain. Di sini kita dapat menggunakan monetary field.
Penambahan monetary field dalam kustomisasi Odoo 17 adalah seperti langkah-langkah berikut ini
- Menambahkan model baru
from odoo import fields, models class AsramaRoom(models.Model): _name = "asrama.room" _description = "Informasi Kamar Asrama" _rec_name = "room_no" name = fields.Char(string="Nama Kamar", required=True) room_no = fields.Char("No Kamar", required=True) floor_no = fields.Integer("No Lantai", default=1, help="No Lantai") currency_id = fields.Many2one('res.currency', string='Mata Uang') rent_amount = fields.Monetary('Harga Sewa', help='Masukkan harga sewa')
- Update pada security csv
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink access_hostel_manager_id,access.hostel.manager,asramaku.model_asrama_hostel,group_hostel_manager,1,1,1,1 access_hostel_user_id,access.hostel.user,asramaku.model_asrama_hostel,group_hostel_user,1,0,0,0 access_hostel_room_manager_id,access.hostel.room.manager,asramaku.model_asrama_room,asramaku.group_hostel_manager,1,1,1,1 access_hostel_room_user_id,access.hostel.room.user,asramaku.model_asrama_room,asramaku.group_hostel_user,1,0,0,0
- Tambahkan view
<?xml version="1.0" encoding="UTF-8"?> <odoo> <data> <record id="view_asrama_room_tree" model="ir.ui.view"> <field name="name">asrama.room.tree</field> <field name="model">asrama.room</field> <field name="arch" type="xml"> <tree string="Room"> <field name="name"/> <field name="room_no"/> <field name="floor_no"/> </tree> </field> </record> <record id="view_asrama_room_form" model="ir.ui.view"> <field name="name">asrama.room.form</field> <field name="model">asrama.room</field> <field name="arch" type="xml"> <form string="Room"> <sheet> <group col="4" name="main"> <field name="name"/> <field name="room_no"/> <field name="floor_no"/> </group> <group col="4"> <field name="rent_amount"/> <field name="currency_id"/> </group> </sheet> </form> </field> </record> <record model="ir.actions.act_window" id="action_asrama_room"> <field name="name">Room</field> <field name="type">ir.actions.act_window</field> <field name="res_model">asrama.room</field> <field name="view_mode">tree,form</field> <field name="domain">[]</field> <field name="context">{}</field> <field name="help" type="html"> <p class="oe_view_nocontent_create"> Tambah Kamar. </p> </field> </record> <menuitem id="asrama_room_menu" name="Kamar Asrama" parent="asramaku.hostel_main_menu" action="asramaku.action_asrama_room" groups="asramaku.group_hostel_manager" sequence="2"/> </data> </odoo>
- Update model – init
from . import hostel from . import asrama_room
- Mengupdate manifest
{ 'name': 'Manajemen Asrama', "summary": "Cara mudah kelola asrama", "data":[ "security/hostel_security.xml", "security/ir.model.access.csv", "data/data.xml", "views/hostel.xml", "views/asrama_room.xml", ], }
- Restart Odoo
# /home/apku/odooku/addons# chmod -R a+rx asramaku # docker restart odooku-web-1
- Mengaktifkan developer mode dengan Odoo Debug
- Upgrade modul
- Tampilan hostel
- Tampilan kamar asrama
List view:
Form view:
Kunjungi www.proweb.co.id/implementasi-odoo/ untuk menambah wawasan implementasi Odoo ERP.