天天看點

Odoo13_向導應用之軟删除

  後端定義:

class Fake_del_wizard(models.TransientModel):
    _name = 'fake_del_wizard'
    _description = "假删除向導!"

    # 想到内可以定義一些變量,供向導使用
    task_ids = fields.Many2one('dub_receive_money',string='查款')

    # 點選确定後要執行的函數
    def btm_confirm(self):
        # 從上下文中擷取記錄的id,然後查詢得到該條記錄的對象
        receive_data = self.env['dub_receive_money'].search([('id', '=', self.env.context.get('active_id'))])
        # 将查詢除了的對象的假删除字段設定未True
        receive_data.fake_del = True      

  前端form視圖:

<record id="fake_del_wizard_form" model="ir.ui.view">
        <field name="name">假删除向導</field>
        <field name="model">fake_del_wizard</field>
        <field name="arch" type="xml">
            <form>
                你确定要删除這個查詢嗎?
                <footer>
                    <button name="btm_confirm" string="确認" type="object" class="oe_highlight"/>
                    <button special="cancel" string="取消" class="oe_link"/>
                </footer>
            </form>
        </field>
    </record>      

  删除動作:

<record id="action_change_stage_ttest_inv" model="ir.actions.act_window">
        <field name="name">假删除動作</field>
        <field name="res_model">fake_del_wizard</field>
        <field name="view_mode">form</field>
        <field name="target">new</field>
    </record>      

  調用按鈕:

<button name="%(action_change_stage_ttest_inv)d" type="action" string="删除" class="btn btn-danger" attrs="{'invisible': [('payment_or_not','!=', 'st0')]}"/>