07 給Form視圖添加Chatter(學Odoo,就得Do)

標準的Odoo表單界面下面都提供有聊天,登記日誌,安排下一期工作和添加附件的功能,這個功能英文叫Chatter,還真不好翻譯,直接翻譯過來叫“喋喋不休”,講直接點就是話癆。

首先,我們要改造一下patient.py,就添加了_inherit這一行。不過mixin類是一個Odoo用於多重繼承擴展的類型,非常有用,很好的詮釋了編碼的DRY(Don’t Repeat Yourself)原則。mixin類我們後面再詳細談,這一片主要說喋喋不休哈

class HospitalPatient(models.Model):
    _name = 'hospital.patient'
    _inherit = ['mail.thread','mail.activity.mixin']
    _description = 'Patient Record'
    _rec_name = 'patient_disp_name'

    patient_name = fields.Char(string='Name', required=True);  # 必填字段
    patient_age = fields.Integer(string='Age');
    notes = fields.Text(string='Notes');
    image = fields.Binary(string='Image');
    patient_disp_name = fields.Char(string='Patient Display Name'); # patient在標題欄的顯示信息

然後我們要給patient_menu.xml追加內容,請注意</sheet>下面的<div></div>那一段,可讀性非常強,我就不再描述了

<record id="patient_form" model="ir.ui.view">
        <field name="name">hospital.patient.form</field>
        <field name="model">hospital.patient</field>
        <field name="arch" type="xml">
            <form string="Patients">
                <sheet>
                    <group>
                        <group>
                            <field name="patient_name"/>
                            <field name="patient_disp_name"/>
                        </group>
                        <group>
                            <field name="patient_age"/>
                        </group>
                        <group>
                            <field name="notes"/>
                            <field name="image"/>
                        </group>
                    </group>
                </sheet>
                <div class="oe_chatter">
                    <field name="message_follower_ids" widget="mail_followers"/>
                    <field name="activity_ids" widget="mail_activity"/>
                    <field name="message_ids" widget="mail_thread" options="{'post_refresh':'recipients'}"/>
                </div>
            </form>
        </field>
    </record>

別忘了在__manifest__.py裏面添加依賴,因爲我們用到了mail模塊

 'depends' : ['base','mail'],

下面直接Upgrade模塊,看效果:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章