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 {}

希望对您有所帮助。