4. Struktur Base Module Odoo
● nama_folder/ nama_module
● model
● security
● view
● __init__.py
● __manifest__.py
5. Odoo Module initial
● __init__.py (dua underscore)
○ from . import models (folder/file yg akan diload pertama kali
module diinstall)
● __manifest__.py (dua underscore)
○ Informasi module dan daftar pustaka file/module yg akan
dijalankan
21. Cara membuat modul Odoo
- Membuat manual Folder dan File - filenya
- Menggunakan Scaffold
ubuntu :
./odoo15/odoo-bin scaffold nama_modul ./odoo15/addons/
path file odoo-bin path
modul disimpan
windows :
"<Path_to_python.exe in the Odoo folder>" "<Path_to_odoo-bin>" scaffold
"<Path_to_addons_folder>"
24. Kapan Harus Restart Server ?
Restart Server Upgrade
Ubah .py + ada hubungan
Database
v v
Ubah .py v -
Ubah.xml - v
Ubah.xml dan ada column baru v v
Nambah Data Demo - v
28. One2many
One2many : merupakan kebalikan dari Many2one, jika dari object A ada relasi Many2one ke object B, maka di object B dapat
dibuat relasi One2many ke object A. Dan record yang dimunculkan di object B adalah sebanyak record A yang berelasi ke B.
31. Views, Attributes, Buttons
a) Form, List, Calendar, Gantt, Kanban, Pivot, Graph View
b) Attributes
a) Readonly
b) Invisible
c) Required
c) Button (Action & Object)
32. Concept of Customization
Kebutuhan Custom :
● Add New Models or Table (Document / Master)
● Relate New Models to Existing Models
● Add New Views from Models (Can be New Models or Existing)
● Change Existing Models or Table (Adding Field or Remove)
● Change Existing Function, Method in Models
● Change Existing Views
● dll
37. Views Inheritance
Untuk inherit_id dan xpathnya
dapat dilihat dari debug mode
(?debug) dan klik icon debug
(kumbang) di kanan atas dan
pilih Edit Form View atau List
View
38. Views Inheritance
Lalu lihat bagian external_id dan
element untuk xpathnya.
Misal ingin menambahkan
button dan field
39. Customization
1. Tambah Field / Button
a. Inherit di python ke model yang sudah ada
b. Tambah depends ke modul terkait di manifest
c. Tambah view inherit di xml. Ubah bagian id, name, model, inherit_id, xpath.
i. Id bebas apa saja tapi terkait dengan modelnya (pakai _ ) misal
view_order_form
ii. Name bebas apa saja tapi terkait dengan modelnya (pakai .) misal
sale.order.form
iii. Model harus sesuai dengan penamaan di python misal sale.order
iv. Inherit_id dilihat dari debug view di view yang ingin dimodifikasi
v. Xpath dilihat dari debug view di view yang ingin di modifikasi
d. Untuk button, tambah def action_ di pythonnya
40. Security / Access Rights
1. Settings > User & Companies > Groups
2. Settings > Technical > Security > Access Rights
Untuk di level python / SQL / table. Group id / name - CRUD permission.
Bisa didefinisikan melalui file csv
Folder modul > security > ir.model.access.csv
3. Settings > Technical > External Identifiers
Untuk melihat external ID dari Groups yang akan digunakan untuk menambah
attribute xml (groups = <external id>)
42. Agenda :
1. Membuat Data Student
2. Membuat master Jurusan
3. Membuat master Tempat Tinggal
4. Membuat menu Student, Jurusan dan Tempat
Tinggal
5. Membuat History Pendidikan yang di relasikan
dengan Student
6. Membuat Detail Tempat Tinggal Student yang di
relasikan dengan Student
43. Langkah - langkah :
Membuat addons dengan perintah :
ubuntu :
./odoo15/odoo-bin scaffold nama_modul ./odoo15/addons/
path file odoo-bin path
modul disimpan
windows :
"c:Program FilesOdoo15pythonpython.exe" "C:Program
FilesOdoo15serverodoo-bin" scaffold <module name here> "C:Program
FilesOdoo15serverodooaddons"
44. - Ubah nama file yg ada di folder models
dengan nama student.py
- Ubah nama file yg ada di folder view dengan
nama student_view.xml dan hapus file yang
tidak terpakai di folder view