如何在'project.task.work'模块中验证'hours'字段

时间:2017-09-22 06:01:44

标签: openerp odoo-8

我想验证'小时'字段不能超过24小时。为了验证我在我的代码上写了一个函数。

'小时':fields.float('花费时间')

class task_timemanage(models.Model):     _inherit ='project.task.work'

@api.multi
@api.onchange('hours')
def check_timing(self):
    self.r=0
    if self.hours > 00.00:
        if self.hours > 23.59:
            self.hours == self.r
            raise Warning('Please Enter the valid time')
    if self.hours < 0:
        self.hours == 0
        raise Warning('Please Enter the valid time')

功能正常,问题是

示例:此功能正常工作时间为11:30。 如果会给11:72也在工作。那里的分钟数不会超过11:59。所以请帮助我。

1 个答案:

答案 0 :(得分:2)

You can change the condition to check

@api.multi
@api.onchange('hours')
def check_timing(self):
    self.r=0
    hours = str(self.hour)
    hour = int(hours.split(".")[0])
    minutes = int(hours.split(".")[1])
    if hour and minutes and hour <= 23 and minutes <= 59:
       #do your code
       pass
    else:
       raise Warning('Please Enter the valid time')