odoo запрос на выделение из-за ошибки проверки тега сотрудника? - PullRequest
1 голос
/ 21 января 2020

Привет всем, я работаю над модулем условий отпусков в версии 10, я добавил проверку, которая поднимается, когда сотруднику не назначена дата присоединения, она работает хорошо,

Но она также поднимается при запросе распределение по тегу сотрудника, хотя я пробовал тег только с одним сотрудником в этом теге, и мне назначена дата присоединения для него. Вот код

@api.constrains('state', 'date_from', 'holiday_status_id',)
def _check_hire_date(self):

     from_dt = fields.Datetime.from_string(self.date_from)
     to_dt = fields.Datetime.from_string(self.date_to)
     if self.employee_id.joining_date:
         jo_dt = fields.Datetime.from_string(self.employee_id.joining_date)
     else:
         raise ValidationError("you must define joining date")

Что я должен сделать, чтобы пройти все проверки, которые я сделаю запрос на выделение и заставлю его работать только тогда, когда уйдет с просьбой не выделять

1 Ответ

1 голос
/ 21 января 2020

Поле, которое вы знаете, если это отпуск или выделение, составляет type

     type = fields.Selection([
        ('remove', 'Leave Request'),
        ('add', 'Allocation Request')
    ],....)

Поэтому перед началом проверки проверьте, не является ли это запросом выделения:

      @api.one # because you didn't loop over self in your code
      @api.constrains('state', 'date_from', 'holiday_status_id',)
      def _check_hire_date(self):
              if self.type == 'add': return  # skip allocation requests
              # rest of your code goes
...