Custom Settings Options pada Pengembangan Aplikasi Odoo 17

Jul 1, 2025 | Odoo 17 Development

Ketika kita melakukan pembuatan aplikasi Odoo 17 kita mungkin memberikan pilihan seting kepada pengguna yang nanti bisa diakses melalui menu Settings.

Custom Settings Options pada pengembangan aplikasi Odoo 17 adalah seperti pada langkah-langkah berikut ini

  1. Start SSH Filesystem

  2. Model dengan menginherit res.config.settings

    from odoo import fields, models
    
    class ResConfigSettings(models.TransientModel):
        _inherit = 'res.config.settings'
    
        group_hostel_user = fields.Boolean(string='Hostel User', implied_group='asramaku.group_hostel_user')
    
  3. Memasukkan model baru ke init

    from . import hostel
    from . import asrama_room
    from . import asrama_student
    from . import asrama_student_copy
    from . import asrama_amenities
    from . import asrama_categ
    from . import res_partner
    from . import asrama_terminate
    from . import asrama_room_availability
    from . import res_config_settings
    
  4. Menambahkan options pada Settings dengan mennbuat view res_config_settings.xml

    <?xml version="1.0" encoding="utf-8"?>
    <odoo>
    
        <record id="res_config_settings_view_form" model="ir.ui.view">
            <field name="name">res.config.settings.view.form.inherit.hostel</field>
            <field name="model">res.config.settings</field>
            <field name="priority" eval="5"/>
            <field name="inherit_id" ref="base.res_config_settings_view_form"/>
            <field name="arch" type="xml">
                <xpath expr="//form" position="inside">
                    <div class="app_settings_block" data-string="Hostel" string="Hostel" data-key="asramaku" groups="asramaku.group_hostel_manager">
                        <h2>Hostel</h2>
                        <div class="row mt16 o_settings_container">
                            <div class="col-12 col-lg-6 o_setting_box" id="hostel">
                                <div class="o_setting_left_pane">
                                    <field name="group_hostel_user"/>
                                </div>
                                <div class="o_setting_right_pane">
                                    <label for="group_hostel_user"/>
                                    <div class="text-muted">
                                        Allow users to hostel user
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </xpath>
            </field>
        </record>
    
        <record id="hostel_config_settings_action" model="ir.actions.act_window">
            <field name="name">Settings</field>
            <field name="type">ir.actions.act_window</field>
            <field name="res_model">res.config.settings</field>
            <field name="view_id" ref="res_config_settings_view_form"/>
            <field name="view_mode">form</field>
            <field name="target">inline</field>
            <field name="context">{'module' : 'asramaku'}</field>
        </record>
    
        <menuitem name="Settings" id="hostel_setting_menu" parent="hostel_main_menu" action="hostel_config_settings_action" sequence="50"/>
    
    </odoo>
    
  5. Menambahkan pada manifest

        'name': 'Manajemen Asrama',
        "data":[
            "security/hostel_security.xml",
            "security/ir.model.access.csv",
            "data/data.xml",
            "wizard/assign_room_student.xml",
            "views/hostel.xml",
            "views/asrama_room.xml",
            "views/asrama_student.xml",
            "views/asrama_room_availability_view.xml",
            "views/res_config_settings.xml",
        ],
    }
    
  6. Start Odoo dengan upgrade modul

  7. Tampilan pada menu Settings

  8. Tambahan field pada tabel res_config_settings

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