我为特定字段编写了约束,并且我想在约束失败时刷新日历视图。
以下是我尝试的代码
def _check_date_drag(self, cr, uid, ids, context=None):
mom_obj = self.pool.get('mom.meeting')
res = {}
for item in self.browse(cr, uid, ids):
mom_ids = mom_obj.search(cr, uid,
[('meet_ref','=',item.number), ('mdt','<',item.start_datetime)],
context=context)
if mom_ids:
res = {
'view_type': 'form',
'view_mode': 'form',
'res_model': 'calendar.event',
'type': 'ir.actions.act_window',
'target': 'new',
}
return False and res
return True
_constraints = [
(_check_date_drag, 'MOM is already created for this calendar
event! Kindly refresh the page to discard the changes!',
['start_datetime']),
]
如果约束失败(即返回False),我想刷新日历视图。
任何有想法的人请引导我一些想法。 我想拖动那个(绿色箭头)会议活动 拖放后,将显示Constraint消息 当我点击警告信息的确定按钮时,事件不会移动到原来的位置
我希望在点击“确定”按钮
时重新加载日历答案 0 :(得分:1)
您可以尝试以下之一(未经测试):
1)添加一些javascript来刷新对话关闭视图。
2)捕获约束错误,并返回操作以显示相同的视图(基本上刷新页面)。在上下文中传递错误信息,并使视图最终在上下文中显示错误。这样,当执行因错误而停止时,刷新的页面就已存在。
希望它适合你。