2016-08-18 44 views
1

我是Odoo的新成員,目前正嘗試實施最近幾天(幾個月......)HR應用的離職模塊。Odoo ERP的經理(PM或TL)不通過HR的批准

我希望部門主管或員工經理授予或拒絕來自HR部門的人員的假期。在批准請假請求後,人力資源部可以批准它。 (雙驗證?)

如果可能,那麼在Odoo中需要做什麼?一步一步的指示會很好​​。

我在Odoo論壇發佈了同樣的問題,但無法得到正確的答案。

在此先感謝。

回答

0

我在一年前遇到過同樣的問題,並試圖使用此要求的記錄規則。我沒有找到解決方案,所以我最終重寫了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 

不是最好的解決辦法,因爲一批審定會在屁股疼痛:當一個假期無法驗證,所有其他人也不會了。但我認爲這個限制是微不足道的。

+0

對不起,延遲迴復,但你能告訴我應該在哪裏插入這個腳本? (請原諒我這樣一個基本問題)。 – Silkograph

+0

只需創建一個自定義模塊並繼承'hr.holidays' – CZoellner

+0

因此,我將不得不學習如何創建自定義模塊和繼承。所以這對我來說是一項相當大的任務,因爲我從未在Odoo中製作過類似的東西,除了安裝每個應用程序並使用它們。對於這個問題,我添加了所謂的正確的規則,但沒有幫助。我已經爲Leave對象添加了規則定義規則:['|',('employee_id.user_id','=',user.id),('employee_id.parent_id.user_id','=',user.id)在我的安裝中不會產生任何東西。 – Silkograph