OpenERP 7 禁用手动输入日期控制
OpenERP 7 disable manual entry on date control
我知道 OpenERP 7 已经过时并且不再有任何支持
但由于这个问题很重要,所以我需要在这里问
我是 OpenERP 7 的新手,我们聘请了一名自由职业者为我们做一些工作
我们需要将条目的日期限制在今天、昨天和前一天
自由职业者确实通过选择限制了它,但如果用户手动输入日期,它仍然会接受条目
我向他提到了这个漏洞,以及它会给我们带来什么麻烦,但他说他需要更改一个js文件,而且很难完成
我相信他的话,但我的经理想确认我没有被骗所以,这个问题
那么,如何才能做到以上几点呢?
你要找的是绝对有可能的。
您可以为此使用 onchange 或 _constraints :
如果您想即时检查条件,可以使用 onchange,或者如果您想在保存时检查条件,可以使用 _constraints .
示例:
def _check_duration(self, cr, uid, ids, context=None):
for obj_ac in self.browse(cr, uid, ids, context=context):
if obj_ac.date_stop < obj_ac.date_start:
return False
return True
_constraints = [
(_check_duration, _('Error! The duration of the academic year is invalid.'), ['date_stop']),
]
def onchange_date(self, cr, uid, ids, date, context=None):
if date:
if Condition Here:
warning = "Your text"
return {'value':{'date': None}, 'warning':warning}
else:
return {}
希望对您有所帮助。
我知道 OpenERP 7 已经过时并且不再有任何支持
但由于这个问题很重要,所以我需要在这里问 我是 OpenERP 7 的新手,我们聘请了一名自由职业者为我们做一些工作
我们需要将条目的日期限制在今天、昨天和前一天
自由职业者确实通过选择限制了它,但如果用户手动输入日期,它仍然会接受条目
我向他提到了这个漏洞,以及它会给我们带来什么麻烦,但他说他需要更改一个js文件,而且很难完成
我相信他的话,但我的经理想确认我没有被骗所以,这个问题
那么,如何才能做到以上几点呢?
你要找的是绝对有可能的。 您可以为此使用 onchange 或 _constraints :
如果您想即时检查条件,可以使用 onchange,或者如果您想在保存时检查条件,可以使用 _constraints .
示例:
def _check_duration(self, cr, uid, ids, context=None):
for obj_ac in self.browse(cr, uid, ids, context=context):
if obj_ac.date_stop < obj_ac.date_start:
return False
return True
_constraints = [
(_check_duration, _('Error! The duration of the academic year is invalid.'), ['date_stop']),
]
def onchange_date(self, cr, uid, ids, date, context=None):
if date:
if Condition Here:
warning = "Your text"
return {'value':{'date': None}, 'warning':warning}
else:
return {}
希望对您有所帮助。