PT Proweb Indonesia
The City Tower Level 12 Unit 1-N, Jakarta Pusat

Penambahan Chatter Logs pada Pemrograman Odoo

Jan 19, 2026 | Odoo 17 Development

Dalam menjalankan aplikasi yang kita kembangkan menggunakan Odoo, kita perlu memberi ruang kepada pengguna aplikasi untuk membuat catatan-catatan pada suatu proses bisnis atau suatu master data. Di sini Odoo sudah memberikan fasilitas chatter log.

Penambahan chatter logs pada pemrograman Odoo adalah seperti pada langkah-langkah berikut ini

  1. Start SSH file system
  2. Source code pada model

    from odoo import api, fields, models, _
    
    class RoomCategory(models.Model):
        _name = 'hotel.room.category'
        _inherit = ['mail.thread','mail.activity.mixin']
        _description = 'Kategori Kamar'
    
        name = fields.Char('Kategori')
        description = fields.Text('Deskripsi')
        parent_id = fields.Many2one(
            'hotel.room.category',
            string='Parent Category',
            ondelete='restrict',
            index=True
        )
    
        child_ids = fields.One2many(
            'hotel.room.category', 'parent_id', 
            string = 'Child Categories'
        )
    
        
        hotel_room_ids = fields.One2many(
            'hotel.room', 'hotel_room_category_id',
            string= 'Kamar-kamar hotel'
        )
        
    
        related_hotel_room = fields.Integer(_compute='_compute_related_hotel_room')
    
        def _compute_related_hotel_room(self):
            for record in self:
                record.related_hotel_room = self.env['hotel.room'].search_count([
                    ('hotel_room_category_id','=',record.id)
                ])
    
        def action_open_related_hotel_room(self):
            related_hotel_room_ids = self.env['hotel.room'].search([
                ('hotel_room_category_id','=',self.id),
            ]).ids
            return {
                'type' : 'ir.actions.act_window',
                'name' : _('Hotel Room'),
                'res_model' : 'hotel.room',
                'view_type' : 'list',
                'view_mode' : 'list',
                'views' : [[False,'list'],[False,'form']],
                'domain' : [('id','in',related_hotel_room_ids)]    
            }
    
  3. Source code pada view

    <?xml version="1.0" encoding="utf-8"?>
    <odoo>
        <!-- hotel.room.category form view -->
        <record id="hotel_room_category_view_form" model="ir.ui.view">
            <field name="name">Form Kategori Kamar</field>
            <field name="model">hotel.room.category</field>
            <field name="arch" type="xml">
                <form>
                    <sheet>
                        <div class="oe_button_box" name="button_box">
                            <button type="object" class="oe_stat_button" icon="fa-pencil-square-o" name="action_open_related_hotel_room" >
                                <div class="o_form_field o_stat_info">
                                    <span class="o_stat_value">
                                        <field name="related_hotel_room" />
                                    </span>
                                    <span class="o_stat_text">Hotel Room</span>
                                </div>
                            </button>
                        </div>
                        <div class="oe_title">
                            <h1>
                                <field name="name" />
                            </h1>
                        </div>
                        <group>
                            <group>
                                <field name="description" />                       
                            </group>
                            <group>
                                <field name="parent_id" />                       
                            </group>
                        </group>
                        <group>
                            <field name="child_ids" />
                            <field name="hotel_room_ids" widget="many2many_tags" />
                        </group>
                    </sheet>
                    <div class="oe_chatter">
                        <field name="message_follower_ids" widget="mail_followers"/>
                        <field name="message_ids" widget="mail_thread" />
                        <field name="activity_ids" widget="mail_activity" />
                    </div>
                </form>
            </field>
        </record>
    
        <!-- hotel.room.category tree view -->
        <record id="hotel_room_category_view_tree" model="ir.ui.view">
            <field name="name">Daftar Kategori kamar</field>
            <field name="model">hotel.room.category</field>
            <field name="arch" type="xml">
                <tree>
                    <!-- Add your fields here -->
                    <field name="name" />
                    <field name="description" />          
                </tree>
            </field>
        </record>
    
        <!-- hotel.room.category action window -->
        <record id="hotel_room_category_action" model="ir.actions.act_window">
            <field name="name">Kategori Kamar Hotel</field>
            <field name="res_model">hotel.room.category</field>
            <field name="view_mode">tree,form</field>
        </record>
    
        <menuitem
            id="menu_custom_hotel_room"
            name="Hotel Room"
            web_icon="hotelku,static/description/icon.png"/>
    
            <menuitem
            id="menu_hotel_room_category"
            parent="menu_custom_hotel_room"
            action="hotel_room_category_action"
            sequence="20"/>
    
    </odoo>
    
  4. Start Odoo dengan upgrade modul
  5. Tampilan chatter logs
  6. Melihat isian pada database PostgreSQL

Kunjungi https://www.proweb.co.id/implementasi-odoo/ untuk menambah wawasan anda mengenai Odoo ERP.