【发布时间】:2023-03-18 17:18:01
【问题描述】:
我从 OpenERP 7 中的按钮打开向导。但是当单击向导的按钮 Compute 时,我的向导关闭了,但我不想在单击 Compute 当点击向导的按钮关闭时,而不是我的向导关闭。 我正在使用 OpenERP 7。
class test_pass_student(osv.osv_memory):
_name = 'test.pass.student'
_column ={
'pass_id': fields.many2one('pass.student', 'Passed'),
'student_id':fields.many2one('student.student', 'Student'),
}
test_pass_student()
def _reopen(self, res_id, model):
return {'type': 'ir.actions.act_window',
'view_mode': 'form',
'view_type': 'form',
'res_id': res_id,
'res_model': self._name,
'target': 'new',
'context': {
'default_model': model,
},
}
class pass_student(osv.osv_memory):
_name = 'pass.student'
_columns = {
'student_id':fields.many2one('student.student', 'Student'),
'lines': fields.one2many('test.pass.student','pass_id', 'Passed students'),
}
def add_student(self, cr, uid, ids,context=None):
lines_obj = self.pool.get('test.pass.student')
for record in self.browse(cr,uid,ids,context):
for line in record.student_id.scores:
if line.pass_score > 50:
lines_obj.create(cr,uid,{'pass_id': record.id,'student_id':line.student_id.id})
return _reopen(self, record.id, record._model)
pass_student()
沉S选择第一个学生检查,如果他/她的分数大于50则添加one2many,然后再次检查另一个学生,同样的事情再次重复。
【问题讨论】:
-
感谢您更新问题,但您的问题仍然不是很清楚。您能否在问题中清楚地提及您看到此代码的结果以及您的预期?到目前为止,您的代码看起来还不错。您可能不需要
_reopen中的context和default_model部分(邮件撰写向导需要,但这里没有),但它不会引起问题。也许您可以显示您正在使用的 XML 视图的来源,并在出现问题时显示更大的日志摘录(这比仅显示错误消息要好)。 -
我认为这个问题的标题应该是“NOT Closing Wizard on button click in openerp 7”,因为这是你想要的。