Tutorial Odoo 9.0 Part 12 : Wizards
จาก Morange Wiki
รุ่นแก้ไขเมื่อ 10:24, 19 กรกฎาคม 2559 โดย Sirawich (คุย | มีส่วนร่วม)
Wizards
แก้ไขไฟล์ดังนี้
openacademy/__init__.py
# -*- coding: utf-8 -*- import controllers import models import partner import wizard
openacademy/wizard/wizard.py
# -*- coding: utf-8 -*- from openerp import models, fields, api class Wizard(models.TransientModel): _name = 'openacademy.wizard' session_id = fields.Many2one('openacademy.session', string="Session", required=True) attendee_ids = fields.Many2many('res.partner', string="Attendees")
Launching wizards
แก้ไขไฟล์ดังนี้
openacademy/wizard/wizard.py
class Wizard(models.TransientModel): _name = 'openacademy.wizard' def _default_session(self): return self.env['openacademy.session'].browse(self._context.get('active_id')) session_id = fields.Many2one('openacademy.session', string="Session", required=True, default=_default_session) attendee_ids = fields.Many2many('res.partner', string="Attendees")
openacademy/views/openacademy.xml
parent="openacademy_menu" action="session_list_action"/> <record model="ir.ui.view" id="wizard_form_view"> <field name="name">wizard.form</field> <field name="model">openacademy.wizard</field> <field name="arch" type="xml"> <form string="Add Attendees"> <group> <field name="session_id"/> <field name="attendee_ids"/> </group> </form> </field> </record> <act_window id="launch_session_wizard" name="Add Attendees" src_model="openacademy.session" res_model="openacademy.wizard" view_mode="form" target="new" key2="client_action_multi"/> </data> </openerp>
จากการแก้ไขโค้ดข้างต้น จะได้ผลลัพธ์ดังภาพ
และเมื่อคลิกที่ Add attendees จะปรากฏหน้าต่างดังภาพ