1 년 전에 같은 문제가 발생하여이 요구 사항에 대한 레코드 규칙을 사용하려고했습니다. 내가 해결책을 찾지 못했기 때문에 hr.holidays
의 유효성 검사 프로세스를 무시했습니다.
결국 솔루션은 생각만큼 복잡하지 않았습니다. 메소드를 구현하기 만하면됩니다. _is_authorized()
으로 전화를 걸면 클릭하는 사용자 권한을 확인할 수 있습니다. 이제 hr.holidays
의 유효성 검사 메서드를 재정의하십시오.
@api.multi
def holidays_validate(self):
for holiday in self:
employee = holiday.employee_id
if not self._is_authorized(employee, self.env.user):
raise exceptions.Warning("Not authorized!")
return super(hr_holidays, self).holidays_validate()
@api.multi
def holidays_first_validate(self):
for holiday in self:
employee = holiday.employee_id
if not holiday._is_authorized(employee, self.env.user):
raise exceptions.Warning("Not authorized!")
return super(hr_holidays, self).holidays_first_validate()
@api.multi
def _is_authorized(self)
authorized = False
# your logic here
return authorized
하지 최적의 솔루션
, 배치 유효성 검사가 엉덩이에 통증이되기 때문에 : 하나, 너무 휴일의 유효성을 검사 할 수없는 경우, 다른 모든되지 않습니다. 그러나 나는이 제한이 중요하지 않다고 생각한다.
늦게 답장을 드려 죄송합니다.이 스크립트를 어디에 삽입해야합니까? (그런 기본적인 질문은 나를 용서해주십시오). – Silkograph
맞춤 모듈을 만들고'hr.holidays'를 상속하십시오. – CZoellner
그래서 맞춤 모듈과 상속을 만드는 법을 배워야 할 것입니다. 따라서 내가 만든 앱을 설치하고 사용하는 것 이외에는 Odoo에서 그런 일은 결코하지 못했기 때문에 그것은 나에게있어 중요한 일이다. 이 문제에 대해서는 올바른 규칙이라고 추가했지만 도움이되지 않았습니다. Rule definition : [ '|', ('employee_id.user_id', '=', user.id), ('employee_id.parent_id.user_id', '=', user.id)로 Leave object에 대한 규칙을 추가했습니다. 제 설치 과정에서 어떤 것도 나오지 않습니다. – Silkograph