将自定义模块与odoo网站集成

时间:2016-04-14 17:03:28

标签: openerp odoo-8 qweb

我有一个名为“录取表”的自定义模块,其中包含名称,电话,电子邮件等一些字段,如何使用templatr将此表单添加到网站模块,以便在填写数据时自动创建填充数据时联系我们页面线索。而不是引导我希望它将信息传输到我的自定义模块。

摘要:将网站与自定义模块相关联的说明。

class AdmissionForm(models.Model):
     _name = 'admission.form'


     name = fields.Char()
     phone = fields.Integer()
     email = fields.Char()
     faculty = field.Many2one('res.faculty')

1 个答案:

答案 0 :(得分:1)

在ODOO中当您想要在创建时执行某项任务时,您必须在模型中override create method(:admission.form)。

假设您想在admission.form模型中创建记录后立即创建合作伙伴,然后按照以下步骤操作:

  1. 覆盖create方法。
  2. 使用参数调用super并在结果中保留该值。
  3. 现在完成你的任务。
  4. 返回result
  5. 代码段:

        @api.model
        def create(self, vals):
        result = super(AdmissionForm, self).create(vals)
        new_vals = dict(name=result.name,
                        phone=result.phone,
                        email=result.email,
                        is_company=1,
                        supplier=1,
                        customer=1,
                        )
        self.env['res.partner'].create(new_vals)
        return result
    

    如果您想在创建记录之前执行某项任务,请执行以下步骤:

    1. 覆盖创建方法。
    2. 完成你的任务。
    3. 使用参数和super来调用return

      @api.model
      def create(self, vals):
      new_vals = dict(name=vals.get('name'),
                      phone=vals.get('phone'),
                      email=vals.get('email'),
                      is_company=1,
                      supplier=1,
                      customer=1,
                      )
      partner=self.env['res.partner'].create(new_vals)
      return super(AdmissionForm, self).create(vals)