Pemrograman Menu Item dan Action pada Odoo 17

Jul 5, 2024 | Odoo 17 Development

Pembahasan mengenai pemrograman Odoo 17 sampai kepada pembuatan menu item dan action. Di sini kita akan membuat action, membuat menu item yang memanggil action, mengupgrade modul dengan hasil tambahan menu lengkap dengan default tampilan list view, tampilan form, tampilan search dan group by.

Langkah-langkah pemrograman menu item dan action pada Odoo 17 adalah seperti pada langkah-langkah berikut ini

  1. Menyiapkan file
    $ pwd
    /home/apku/odooku/addons/asramaku
    $ mkdir views
    $ touch views/hostel.xml
    $ chmod -R a+rx views
    
  2. Pembuatan view

    Catatan gambar: folder asrama direname ke asramaku

    <?xml version="1.0" encoding="utf-8"?>
    <odoo>
    <record id="action_hostel" model="ir.actions.act_window">
        <field name="name">Hostel</field>
        <field name="type">ir.actions.act_window</field>
        <field name="res_model">asrama.hostel</field>
        <field name="view_mode">tree,form</field>
        <field name="help" type="html">
            <p class="oe_view_nocontent_create">
                Membuat Hostel.
            </p>
        </field>
    </record>
    
    <menuitem id="hostel_main_menu" name="Hostel" sequence="1"/>
    <menuitem id="hostel_type_menu" name="Hostel" parent="hostel_main_menu" action="action_hostel" groups="group_hostel_manager" sequence="1"/>
    </odoo>
    
  3. Update pada manifest

    {
        'name': 'Manajemen Asrama',
        "summary": "Cara mudah kelola asrama",
        "data":[
            "security/hostel_security.xml",
            "security/ir.model.access.csv",
            "views/hostel.xml",
        ],
    }
    
  4. Restart Odoo
    # docker restart odooku-web-1
    
  5. Activate Developer Mode
  6. Update app list

  7. Upgrade modul

  8. Tampilan list view

  9. Tampilan form

  10. Tampilan search

  11. Tampilan group by
  12. Technical | Action
  13. Technical | Menu Items

  14. Groups Menu


  15. Technical – External Identifier


  16. Akses ke PostgreSQL
    root@odoo17:/home/aris# docker exec -it odooku-db-1 bash
    root@f28c3368476e:/# psql -U odoo -d rnd.metiu.co.id
    psql (15.6 (Debian 15.6-1.pgdg120+2))
    Type "help" for help.
    
    rnd.metiu.co.id=# select name, res_model,help from ir_act_window where id=87;
            name         |   res_model   |                                                 help
    ---------------------+---------------+------------------------------------------------------------------------------------------------------
     {"en_US": "Hostel"} | asrama.hostel | {"en_US": "<p class=\"oe_view_nocontent_create\">\n            Membuat Hostel.\n        </p>\n    "}
    (1 row)
    
    rnd.metiu.co.id=# select id, name, action, parent_path from ir_ui_menu where id=70 OR id=71 ;
     id |        name         |          action          | parent_path
    ----+---------------------+--------------------------+-------------
     70 | {"en_US": "Hostel"} |                          | 70/
     71 | {"en_US": "Hostel"} | ir.actions.act_window,87 | 70/71/
    

Informasi terkait artikel ini:
1. https://github.com/odoo/odoo/blob/17.0/odoo/addons/base/models/ir_ui_menu.py line 20 .
2. https://github.com/odoo/odoo/blob/17.0/odoo/addons/base/models/ir_actions.py line 224

Kunjungi www.proweb.co.id/implementasi-odoo/ untuk menambah wawasan implementasi Odoo ERP.