我正在与搁浅"调查"和"评估" Openerp 7中的模块。在那里没有" 编辑"中途按钮做了调查。它总是会打开一份新的调查副本,即使你中途关闭了调查。
如何添加"编辑"或者"编辑" /"更新" /"保存而不提交" "完成"旁边的按钮按钮或"答案调查" Openerp 7向导中的按钮?可以在.py文件中进行吗?
答案 0 :(得分:0)
你之所以没有看到"编辑"向导上的按钮是因为它已经处于编辑模式。这是向导打开的模式,这样用户就不必点击"编辑"按钮可以输入常规表单视图中的新信息。
如果我想在向导中打开现有记录,我要做的一件事就是创建一个类型为=" object"的按钮。和名称=" method_name"
<!-- In your xml file -->
<button type="object" name="method_name" string="Button" context="{'optional': 'values'}" />
然后让它调用python文件中的一个方法,该方法返回一个具有以下值的操作
def method_name(self, cr, uid, ids, context=None):
# make sure to send the record id you want to open
# it could be passed in the context, or other variable
# i'm only using the context in this example
if context == None:
context = {}
# if the rec_int_id is False, then the wizard will try to make a new record. Otherwise, it opens the the wizard with existing data
rec_int_id = context.get('record_id',False)
view_id = self.pool.get('ir.ui.view').search(cr, uid, [('name','=','your name of view')])
# search functions always returns a list, so get the 1st element if found
if view_id:
view_id = view_id[0]
return {
'type': 'ir.actions.act_window',
'view_type': 'form',
'view_mode': 'form',
'res_model': 'your.model.name',
'res_id': rec_int_id, # integer id of the record to open
'view_id': view_id, # integer view id
'target': 'new', # opens the view as a wizard
'context': context,
'name': 'Any name you want to give'
}
else:
raise osv.except_osv('','View not found...')