后端定义:
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')]}"/>