
    -UXjt                     V    d dl mZmZmZmZ d dlmZ dZ G d dej                        Z	y)    )_apifieldsmodels)	UserErrorz"hr_holidays.group_hr_holidays_userc                       e Zd ZdZdZ ej                  dd      Z ej                  dd      Z ej                  dd	      Z
 ej                  d
dd      Zd Zy)XenoLeaveAddApproverzxeno.leave.add.approverz2Insert an extra approval step into a leave's chainzhr.leaveT)requiredzleave_id.employee_id)relatedreadonlyze.g. "Department Head")r
   helpz	res.usersApproverz8Leave blank to allow any Time Off Officer/Administrator.)stringr   c           
      6   | j                          | j                  j                  j                  t              st        t        d            | j                  }|j                  dvrt        t        d            |j                         j                  j                  d      }|st        t        d            |d   }|j                  }|dz   |_        | j                  d   j                         j                  |j                  || j                  | j                   j                  d	       |j#                  t        d
| j                  j                  j$                  | j                  | j                   j&                  xs t        d                   ddiS )Nz0Only Time Off Officers can add an approval step.)confirm	validate1zFThis leave is no longer awaiting approval -- nothing to add a step to.
step_orderz2This leave has no approval chain to add a step to.   zxeno.leave.approval.step)leave_idr   labelapprover_user_idz@%(user)s added an extra approval step: %(label)s (%(approver)s).zAny HR/Admin)userr   approver)bodytypezir.actions.act_window_close)
ensure_oneenvr   	has_groupHR_OFFICER_GROUPr   r   r   statesudoxeno_approval_step_idssortedr   createidr   r   message_postnamedisplay_name)selfleavesteps	last_stepinsert_orders        wizard/leave_add_approver.py
action_addzXenoLeaveAddApprover.action_add   sX   xx}}&&'78APQRR;;66AXZ [ [

33::<HARSTT"I	 +++a/	+,113::&ZZ $ 5 5 8 8	<
 	 	N##4::**77L1^;L!N 	O 566    N)__name__
__module____qualname___name_descriptionr   Many2oner   employee_idCharr   r   r0    r1   r/   r	   r	      sc    %EGLvzD9H!&//*@4PKFKK,FGE&vJGI7r1   r	   N)
odoor   r   r   r   odoo.exceptionsr   r    TransientModelr	   r:   r1   r/   <module>r>      s&    ' ' %7 #7600 #7r1   