OpenERP 6.0.3, 6.0.4 dan 6.1 Technical Tutorial : Membuat Wizard Dengan Menggunakan osv.osv_memory

A. LANGKAH-LANGKAH

  1. Deklarasi Object
  2. Pembuatan View
  3. Pembuatan Window Action

B. DEKLARASI OBJECT

Pembuatan object untuk wizard hampir sama dengan pembuatan object biasa. Perbedaannya adalah wizard diinherit dari osv.osv_memory, bukan dari osv.osv

Contoh deklarasi osv.osv_memory :

class contoh_wizard(osv.osv_memory):
   (sama seperti membuat osv.osv)
    ...
    ...
contoh_wizard()

Berikut contoh osv.osv_mememory dari modul account, file account_change_currency.py

class account_change_currency(osv.osv_memory):
    _name = 'account.change.currency'
    _description = 'Change Currency'
    _columns = {
       'currency_id': fields.many2one('res.currency', 'Change to', required=True, help="Select a currency to apply on the invoice"),
    }

    def change_currency(self, cr, uid, ids, context=None):
        (isi method)

account_change_currency()

C. MEMBUAT VIEW

Pembuatan view untuk osv.osv_memory sama dengan pembuatan view untuk osv.osv. Hanya sebagai tambahan view untuk osv.osv_memory menyediakan attribut tambahan untuk elemen <button>, yaitu attribut special yang bernilai cancel.

<button special="cancel" string="Batal"/>

Atribut special=cancel ini akan membuat tombol menutup view ketika diklik tanpa developer harus menulis kode untuk menutup view tersebut

Contoh view :

<record id="view_account_change_currency" model="ir.ui.view">
    <field name="name">Change Currency</field>
    <field name="model">account.change.currency</field>
    <field name="type">form</field>
    <field name="arch" type="xml">
        <form string="Invoice Currency">
            <separator colspan="4" string="This wizard will change the currency of the invoice"/>
            <field name="currency_id"/>
            <separator colspan="4"/>
            <group colspan="2" col="4">
                <button special="cancel" string="Cancel"  icon="gtk-cancel"/>
                <button name="change_currency" string="Change Currency" type="object" icon="terp-stock_effects-object-colorize"/>
            </group>
        </form>
    </field>
</record>

D. MEMBUAT WINDOW ACTION

Pembuatan window action sama dengan pembuatan window action untuk osv.osv, perbedaannya adalah diberikannya

new

agar openerp membuat view dengan model dialog untuk tampilannya

Contoh window action :

        <record id="action_account_change_currency" model="ir.actions.act_window">
            <field name="name">Change Currency</field>
            <field name="type">ir.actions.act_window</field>
            <field name="res_model">account.change.currency</field>
            <field name="view_type">form</field>
            <field name="view_mode">form</field>
            <field name="view_id" ref="view_account_change_currency"/>
            <field name="context">{}</field>
            <field name="target">new</field>
        </record>
No comments yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s