Langsung ke konten utama

Modul Rumah Sakit Part 2 (Custom Modul Odoo 12)

Melanjutkan dari tutorial sebelumnya, Modul Rumah Sakit Part 1. Kita sudah membuat modul baru dengan 1 model (rumahsakit.pasien) dan 2 view (tree & form).  Akses Indeks Tutorial ini untuk mempermudah dalam navigasi / mengikuti tutorial secara keseluruhan.

1. Memberikan hak akses model

Setiap model yang dibuat harus dibuatkan hak aksesnya. Jika belum, model yang sudah memiliki view tree, form, dll tidak dapat diakses oleh user biasa, harus mengaktifkan Superuser untuk dapat mengaksesnya. Caranya bagaimana?
  1. Buat folder security
  2. Buat file ir.model.access.csv
  3. Baris kodenya:
    id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
    access_rumahsakit_pasien,access.rumahsakit.pasien,model_rumahsakit_pasien,,1,1,1,1
    
  4. Edit file __manifest__.py , load file ir.model.access.csv di data 
  5. Stop - Run atau ReRun odoo, lalu update list aplikasinya, upgrade. Seperti langkah 3 - 7 di sini.
Setelah set hak akses model, menu Rumah Sakit muncul (tanpa akses Superuser)

2. _rec_name di model

Belum mendefinisikan _rec_name
_rec_name adalah field name (secara default) di model. Bisa kita cek di model yang kita buat di file pasien.py. Kita tidak membuat field name, sehingga perlu kita definisikan. Jika kita membuat field name, tidak perlu untuk mendefinisikan _rec_name (akan kita coba di model yang akan kita buat selanjutnya). Fungsi dari _rec_name adalah untuk judul breadcrumb dan display data di field Many2one.
  1. Tambahkan baris kode _rec_name = 'name' di model lalu simpan. 
  2. Stop - Run atau ReRun odoo, lalu update list aplikasinya, upgrade. Seperti langkah 3 - 7 di sini.

3. Membuat sequence (penomoran record data)

  1. tambahkan import api (file pasien.py)
  2. from odoo import models, fields, api
  3. buat field baru 
  4. name_seq = fields.Char(string='Reference', required=True, copy=False, readonly=True, index=True, default=lambda self: ('New'))
  5. buat fungsi membuat sequence
  6. @api.model
        def create(self, vals):
            if vals.get('name_seq', ('New')) == ('New'):
                vals['name_seq'] = self.env['ir.sequence'].next_by_code('rumahsakit.pasien.sequence') or ('New')
            return super(RumahsakitPasien, self).create(vals)
    Baris lengkap kodenya,
  7. Buat folder data dan file sequence.xml di dalam folder tersebut
  8. Baris lengkap kodenya,
  9. Tambahkan 'data/sequence.xml' di file __manifest__.py  
  10. Tambahkan field name_seq di view form-nya (file pasien.xml)
  11. Tambahkan field name_seq di view tree-nya juga 
  12. Stop - Run atau ReRun odoo, lalu update list aplikasinya, upgrade. Seperti langkah 3 - 7 di sini.


tag: tutorial odoo 12 bahasa indonesia, tutorial odoo bahasa indonesia, tutorial custom modul odoo, ansori.web.id

Komentar

Postingan populer dari blog ini

Download EXTJS 7.0.0 GPL

 Silahkan kunjungi laman berikut: https://www.sencha.com/legal/gpl/ Silahkan isi form yang berada di sisi kanan,  mulai dari nama, email sampai negara. Select Sencha Product : pastikan EXT JS Lalu klik tombol GET SDK . Cek email masuk dari Sencha. Di email tersebut ada link Download. Klik aja.  Selesai! Langkah-langkah di atas adalah cara yang disarankan untuk mengunduh resource sdk extjs. 😊 Berikut direct link download, jika sudah tidak bisa mengunduh EXTJS versi 7.0.0, karena secara default link downloadnya auto pointing ke versi extjs yang terbaru. ext-7.0.0-gpl.zip Versi Lama lainnya: ext-6.2.0-gpl.zip ext-4.2.0-gpl.zip Note: Link download extjs 7.0.0 Link download extjs 6.2.0 Link download extjs 4.2.0

Membuat Aplikasi Login dengan EXTJS 7.0.0 (Part 1)

Sebelum memulai pembuatan aplikasi login dengan framework Extjs 7.0.0 pastikan sudah menyelesaikan tugas-tugas berikut ini: Download SDK EXTJS 7.0.0 Install Sencha Cmd Sudah saya buatkan tutorial instalasi masing-masing sistem operasi (OS), tinggal ikuti saja. Jika masih menemukan kesulitan, silahkan bertanya di kolom komentar. PERSIAPAN Buat folder baru dengan nama: ProjectExtJS , lokasi bebas. Sebagai contoh saya membuat di /Users/gosantha/ProjectExtJS . Untuk pengguna windows, misal di drive D:\ProjectExtJS Buat folder baru lagi di dalamnya dengan nama: sdk_extjs   Pindahkan file  ext-7.0.0-gpl.zip  (SDK EXTJS 7.0.0) yang sudah di download ke folder sdk_extjs Ekstrak file  ext-7.0.0-gpl.zip    Kurang lebih seperti ini struktur folder projectnya. BUAT APLIKASI Buka Terminal (Linux/Mac) atau Command Prompt (Windows) Masuk ke folder  ProjectExtJS  dengan perintah cd ke_path_ProjectExtJS contoh punya saya: cd /Users/gosantha/ProjectExtJS contoh ...

Membuat Aplikasi Login dengan EXTJS 7.0.0 (Part 2)

 Kita lanjut serial tutorial membuat Aplikasi Login dengan EXTJS 7.0.0. Tutorial ini merupakan lanjutan dari part 1. Jadi harus diikuti secara berurutan ya. A. GUNAKAN TEXT EDITOR PILIHANMU Bagi yang belum tahu apa itu Text Editor, secara sederhana di dunia pemrograman namanya aplikasi buat ngoding. Diantaranya: Sublime Text  (Sublime) Visual Studio Code  (VS Code) Atom Notepad++ DLL. Yang terpenting adalah saat ngoding dengan text editor tersebut mudah, nyaman dan bisa produktif. Kalau saya sendiri biasa pakai Sublime Text untuk project dengan Extjs atau php. Visual Studio Code untuk project android dengan Flutter. Pokoknya pilih yang cocok aja sama kebiasaanmu. B. PAHAMI AREA BERMAIN -> FOLDER APP  Penampakan struktur folder MantapApp dibuka dengan Sublime Text Silahkan buka folder MantapApp dengan Text Editor (Sublime/VS Code/sejenisnya).  Di dalamnya ada banyak folder dan file. Pastilah ya... Nah, fokus kita ada di folder app . Kita nantinya bakal berma...