我正在使用odoo9,弹出确认窗口,该窗口我想在其中显示一些动态值吗?我怎样才能做到这一点?请看一下屏幕截图
我想用一些动态值的用户名替换Current Contact。我怎样才能做到这一点? 下面是我的查看代码。
<record id="view_dialog_temp_login_confirmation" model="ir.ui.view">
<field name="name">Temp Login Confirmation</field>
<field name="model">olims.message_dialog_box</field>
<field name="arch" type="xml">
<form string="Client User Confirmation">
<p class="o_dialog_warning">
Current Contact user will be deleted.</p>
<p>Do you really want to replace Contact User? </p>
<field name="title" invisible="1"/>
<footer>
<button name="create_temp_login" string="Yes" type="object" class="btn-primary"/>
<button string="No" class="btn-default" special="cancel"/>
</footer>
</form>
</field>
</record>
打开向导代码:
@api.multi
def open_temp_login_confirm_dialog(self, **kw):
view_id = self.env['ir.ui.view'].search([('name', '=', 'Temp Login Confirmation')])
return {
'name': ('Confirmation'),
'view_mode': 'form',
'view_type': 'form',
'res_model': 'olims.message_dialog_box',
'view_id': [view_id.id],
'target': 'new',
'type': 'ir.actions.act_window',
'context': context,
}
答案 0 :(得分:0)
您可以在向导模型Many2one
上为关系res.partner
添加olims.message_dialog_box
,然后使用默认值扩展该向导的open_
方法,也可以只创建一个向导记录,然后再打开它。
partner_id = fields.Many2one(comodel_name="res.partner")
变量1为默认值:
@api.multi
def open_temp_login_confirm_dialog(self):
view_id = self.env['ir.ui.view'].search(
[('name', '=', 'Temp Login Confirmation')])
context = dict(self.env.context)
context['default_partner_id'] = self.env.context.get('active_id')
return {
'name': ('Confirmation'),
'view_mode': 'form',
'view_type': 'form',
'res_model': 'olims.message_dialog_box',
'view_id': [view_id.id],
'target': 'new',
'type': 'ir.actions.act_window',
'context': context,
}
变体2和创建向导并打开它
@api.multi
def open_temp_login_confirm_dialog(self):
view_id = self.env['ir.ui.view'].search(
[('name', '=', 'Temp Login Confirmation')])
wizard = self.env['olims.message_dialog_box'].create({
'partner_id': self.env.context.get('active_id')})
return {
'name': ('Confirmation'),
'view_mode': 'form',
'view_type': 'form',
'res_model': 'olims.message_dialog_box',
'view_id': [view_id.id],
'target': 'new',
'type': 'ir.actions.act_window',
'res_id': wizard.id
}