1. 程式人生 > 實用技巧 >Odoo13_嚮導應用之軟刪除

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')]}"/>