Membuat Webpages dan Controller di Odoo12

anggara.id > Blog > Odoo > Membuat Webpages dan Controller di Odoo12

Dalam pembahasan kali ini, saya akan sedikit membahas tentang bagaimana membuat webpages dan controller di odoo 12. Disini kamu akan belajar bagaimana membuat webpages di XML, bagaimana membuat controllers, dan bagaimana cara menggunakan controller untuk membuka pages tertentu. Setelah mengikuti tutorial ini, diharapkan kamu dapat membuat webpages dan controllers di Odoo sendiri.

Dalam contoh kali ini, saya akan membuat sebuah webpages sederhana tentang penerimaan siswa baru di sekolah.

Membuat Struktur Controller

Sebelum kamu dapat membuat sebuah webpage kamu membutuhkan sebuah controller. Controller ini akan memberitahu Odoo link URL yang akan diarahkan ke dalam sebuah webpages. Buka modul kamu dan buatlah sebuah folder ‘controllers’ jika belum ada. Setelah membuat folder ‘Controller’, seperti biasa kamu harus membuat file __init__ dan tambahkan code berikut ke dalam controller baru kamu.

# -*- coding: utf-8 -*-
from odoo import http
class WebsitePsb(http.Controller):
    @http.route('/psb', auth='public', website=True)
    def index(self, **kw):
        active_pmb = http.request.env['edu.pmb'].search([('state','=','open')])
        return http.request.render('academy.index', {'pmb':active_pmb}) 
         

Pada code diatas, kita menggunakan @http.route untuk memberitahu Odoo bahwa kita ingin url ‘/psb’ diarahkan ke page tertentu. Dalam @http.route kita juga akan melihat 4 variable/parameter. Mari kita pelajari satu per satu.

  • /psb : Adalah URL yang akan digunakan untuk pages kita. Dalam contoh ini, http://localhost:8069/psb akan diarahkan ke http.route ini.
  • type=http : Code ini akan memberitahu Odoo bahwa route ini berjalan dalam tipe http.
  • Auth=public : Authentikasi untuk webpages, authentication ini berfungsi untuk memberitahu Odoo siapa saja yang berhak melihat pages ini. Selain ‘public’, kamu dapat menggunakan tipe ‘user’ agar hanya user terdaftar saja yang boleh melihat pages, atau tipe ‘none’ yang berarti tidak ada yang diijinkan untuk melihat route ini.
  • Website=True : Ini memberitahu Odoo bahwa route ini tidak hanya berisi code python tapi ada XML webpages di dalamnya.

Selain variabel diatas, terdapat juga function return untuk memberitahu Odoo file XML mana yang akan di render. Dalam contoh ini webpage index yang akan digunakan.

Membuat Webpage

Tutup file Python, mari kita menuju Folder ‘Views’ dan buat sebuah XML file dengan nama index.xml. Jangan lupa untuk menambahkan index.xml di dalam file manifest.py terlebih dahulu:

'data': [
    'views/index.xml',
], 

Kembali ke file index.xml dan buat sebuah record XML. Cara membuat webpages ini semudah membuat views di Odoo. Tambahkan beberapa code berikut.

<template id="index">
        <t t-call="website.layout">
            <title>Academy</title>
            <div id="wrap">
                <section id="edu_pmb">
                    <div class="container">
                        <table class="table table-bordered">
                            <tr>
                                <td>KODE PSB</td>
                                <td>Mulai</td>
                                <td>Selesai</td>
                                <td></td>
                            </tr>
                          	<t t-foreach="pmb" t-as="pmb_id">
                                <tr>
                                    <td><t t-esc="pmb_id.name"/></td>
                                    <td><t t-esc="pmb_id.start_date"/></td>
                                    <td><t t-esc="pmb_id.end_date"/></td>
                                    <td><t t-esc="pmb_id.kapasitas"/></td>
                                </tr>
                            </t>  
                        </table>
                    </div>
                </section>
            </div>
        </t>
    </template>

Membuat webpages di Odoo sangatlah mudah karena Odoo adalah framework yang mempunyai banyak library siap pakai seperti request, less, bootstrap, font awesome, dll. Kamu dapat mencoba membuat webpages sendiri dengan data yang kamu inginkan.

Semoga tutorial ini dapat bermanfaat. Terimakasih.

Categories

Ingin Konsultasi dan implementasi software akuntansi di Perusahaan Anda ? Hubungi Kami

Anggara.id

Jakarta – HEAD OFFICE
Jl. Barito 2 No.11-15
Kebayoran Baru
Jakarta DKI 12130

Hotline:
Ponsel (Whatsapp) :
08111569697

WhatsApp : 08111569697

Email :
halo@anggara.id
———————

Recent Comments