私は Odoo(v9) を使用しています。カスタムがあります:フォーム(モデル1の場合)、フォーム付きのアクションとポップアップ(モデル2の場合)。メインフォームの例:
<record id="my_id_form" model="ir.ui.view">
<field name="name">my_name_form</field>
<field name="model">my_model_one</field>
<field name="arch" type="xml">
<form string="Name">
<sheet>
<group>
<field name="partner_id"/>
<!-- button which open popup with my_model_two -->
<button string="Open popup"
name="%(my_module.action_open_popup)d"
type="action"
class="btn-link"/>
</group>
</sheet>
</form>
</field>
</record>
ボタンOpen popupのウィンドウ アクション:
<record id="action_open_popup" model="ir.actions.act_window">
<field name="name">action name</field>
<field name="res_model">my_model_two</field>
<field name="view_id" ref="model_two_form_popup"/>
<!--
How I can send partner_id from main form to popup?
I tried different ways in context field, but all in vain
<field name="context">{'default_partner_id': ?????,}</field>
-->
<field name="target">new</field>
</record>
例my_model_one
class MyModelOne(models.Model):
_name = 'my_model_one'
partner_id = fields.Many2one('res.partner', string='Partner')
ポップアップフォーム:
<record id="model_two_form_popup" model="ir.ui.view">
<field name="name">Popup name</field>
<field name="model">my_model_two</field>
<field name="arch" type="xml">
<form string="Popup text">
<sheet>
<group>
<field name="partner_id" invisible="1"/>
<group>
</sheet>
</form>
</field>
</record>
私の質問は:メイン フォームのフィールドからポップアップ フォームに値を送信するにはどうすればよいですか?(partner_id)
コードでactive_id、文字列、または整数値を使用する方法を見ました。しかし、フィールド値を送信する方法や、カスタム ロジックのメソッドを登録する方法がわかりません。誰かが小さな例を提供できますか? 前もって感謝します。