0

名前、電話、電子メールなどのいくつかのフィールドを含む入場フォームと呼ばれるカスタムモジュールがあります.templatrを使用してこのフォームをWebサイトモジュールに追加し、入力されたデータが新しいリードで自動的に作成されたときに、お問い合わせページの連絡フォームのように機能する方法. リードの代わりに、情報をカスタム モジュールに転送する必要があります。

要約: Web サイトをカスタム モジュールに関連付ける手順。

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


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

1 に答える 1

1

ODOO作成時に何らかのタスクを実行したい場合はいつでもoverride create method、モデル (:admission.form) で 実行する必要があります。

Admission.form モデルでレコードを作成した直後にパートナーを作成する場合は、次の手順に従います。

  1. メソッドをオーバーライドしcreate ます。
  2. superを引数で呼び出し、その値を結果に保持します。
  3. 今あなたの仕事をしてください。
  4. 戻りresultます。

コードスニペット:

    @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. create method をオーバーライドします。
  2. あなたの仕事をしてください。
  3. super引数とreturnitを指定して を呼び出します。

    @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)
    
于 2016-04-15T06:24:23.083 に答える