Odoo 覆盖删除记录确认对话框

Odoo Overwrite delete record confirmation dialog

您好,我需要在Odoo 12 的删除记录确认对话框中添加一些信息,添加一些有关将删除多少条相关记录的信息。类似于:

Are you sure you want to delete this record ?
Doing this you will lose N records.

当前在 _deleteRecords 方法的“addons/web/static/src/js/views/basic/basic_controller.js”上定义。但是如果我在那里更改它,它将为我的所有模块更改。

我想知道是否有一种方法可以覆盖它...或者我的另一个想法是隐藏按钮并使用向导来完成。

有什么想法吗?

默认情况下,odoo 可以从 xml 文件中执行此操作,但如果您需要动态消息 请为向导创建一个瞬态模型,该模型有两个字段,即您的消息字段和您的主表单视图 ID,之后您只需重写方法 unlink 并在方法中进行计算,如果您想确认删除然后 return 从这样的条件:

     return{
        'type':'ir.actions.act_window',
        'name':'Message',
        'res_model':'your.wizard.model',
        'view_type':'form',
        'view_mode':'form',
        'target':'new',
        'context':{'thesis_obj':self.id,'text_message_field':'course Work completed'},
        'res_id':value.id                
      }

向导打开后,您的向导窗体视图对吗? 在向导表单视图中,如果用户单击 OK 按钮,然后调用您必须首先执行此操作的原始方法。

向导视图参考:

<record id="wizard_message_form_view" model="ir.ui.view">
  <field name="name">Approval Message</field>
  <field name="model">your.wizard.model</field>
  <field name="type">form</field>
  <field name="arch" type="xml">
      <form string="Message">
          <separator string="Message" colspan="6"/>
          <field name="text_message" colspan="4" nolabel="1" readonly="1"  widget="html"/>                                                            
          <newline/>
          <separator colspan="6"/>
          <footer>
              <button name="btn_approve_oric" type="object" string="OK" class="oe_highlight"/>                             
              <button special="cancel" string="No"/>                    
          </footer>                                    
      </form>
  </field>

欢迎提问。