
    Uj                     R    d dl mZ d dlmZmZmZmZ  G d dej                        Zy)    )relativedelta)_apifieldsmodelsc                       e Zd ZdZ ej
                  ddd      Z ej                  ddd      Z ej                  ddd      Z	 ej                  dd	      Z ej                  dd	      Z fd
Zej                  d        Z xZS )
HrEmployeehr.employeezPassport Issue Placezhr.group_hr_userT)stringgroupstrackingzPassport Issue DatezVisa Issue DateF)defaultr   c                 F    d|v rd|d<   d|v rd|d<   t         |   |      S )Nvisa_expireFxeno_visa_alertedpassport_expiration_datexeno_passport_alerted)superwrite)selfvals	__class__s     ,xeno_foreigner_details/models/hr_employee.pyr   zHrEmployee.write   s:     D (-D$%%-,1D()w}T""    c                    t         j                  j                         }| j                  d   }| j                  d   j	                  g       D ]  }|j	                  dd|j
                  fddd|fdd|t        |j                  	      z   fg      }|D ]q  }|j                  d
      j                  d|j                  t        d|j                        |j                  j
                  xs | j                  j                         s |t        |j                  	      z   }ddt        d      fddt        d      fddt        d      fg}|D ]  \  }}	}
|j	                  dd|j
                  f|ddf|d|f|	ddfg      }|D ]c  }|j                  d
      j                  d||   |
|j                  z  |j                  j
                  xs | j                  j                         e |j!                  |	d
i         y
)Nr
   zres.company
company_id=)contract_date_start!=Fr   <contract_date_end)daysT)mail_activity_quick_updatezmail.mail_activity_data_todoz&The contract of %s is about to expire.)user_idwork_permit_expiration_datework_permit_scheduled_activityz)The work permit of %s is about to expire.r   r   z"The visa of %s is about to expire.r   r   z&The passport of %s is about to expire.r   Fz<=)r   Datetodayenvsearchidr   !contract_expiration_notice_periodwith_contextactivity_scheduler!   r   namehr_responsible_iduid$work_permit_expiration_notice_periodr   )r   r(   Employeecompanyexpiring_contractemployeedeadlinedocument_checks
date_field
flag_fieldsummaryexpirings               r   $notify_expiring_contract_work_permitz/HrEmployee.notify_expiring_contract_work_permit$   sM    !!#88M*xx.55b9 '	3G (sGJJ/4&U3$c5= BB4D ,D E	1 ! . K%%/3 & 55F5F2H4N4N>N$6699ITXX\\ 6G 6KK }AA C CH /0P>?A 378:+-D;<>O 4C 3/
J#??!3

3u-x0e,	,  !) OH))37 * 99J9J68L(--/ ( : : = = M :K :OO 
D1235'	3P r   )__name__
__module____qualname___inheritr   Charxeno_passport_issue_placer'   xeno_passport_issue_datexeno_visa_issue_dateBooleanr   r   r   r   modelr=   __classcell__)r   s   @r   r	   r	      s    H !,%.@4!Q*v{{$-?$ P&6;; );dL
 '02*FNN02# 	YY2 2r   r	   N)	dateutil.relativedeltar   odoor   r   r   r   Modelr	    r   r   <module>rM      s     0 ' 'Q Qr   