B
    b                 @   sj   d dl mZ d dlmZ d dlmZ d dlmZ d dl	m
Z
mZmZmZmZ eG dd dZdd	 Zd
S )    )	dataclass)render_to_string)gettext_lazy)WorkflowNode)NODE_RE_APPLYNODE_APPROVEDNODE_REVOKENODE_REJECTEDNODE_PENDINGc               @   s   e Zd ZU eed< eed< dS )ApprovalStatusDTOnamestatusN)__name__
__module____qualname__str__annotations__ r   r   .G:\easytimepro\master/mysite/workflow\utils.pyr   
   s   
r   c          	   C   sT  ddl m} d}	g }
|j}g }d}x|j dD ]}d}|jdkrLd}n*|jdkrb|j}d	}n|jd
krrd}nd}|jd kr|j	dnd}|j
d krt|jj|jdj}|d | d | d }nd}|t|j|d q4W t||}|jj|||||rdnd|r|jjnd|d}|d  }| tfkrd|d< ||ksV||krdtd|d< n||krxd|d< nd|d< t|	|}	|
|	 n| tfkrd|d< d|d< t|	|}	|
|	 n| tfkrd|d< d|d< ||krd|d< td|d< t|	|}	|
|	 n0| tfkrHd|d< d|d< t|	|}	|
|	 |d |
fS )Nr   )Reimbursementz"static/approvers_mail_content.html order   ZApproved   ZRejected   ZRevokeZPendingz%d-%m-%Y %H:%M:%S)id( ))r   r   TF)object_nameapproval	applicant	exceptionapproval_list
is_payrollZpayroll_typeis_rejectedr   zEasy TimePro Approval RemindZ
head_titlezKindly be informed.titlezEasy TimePro APPROVAL REJECTEDzEasy TimePro APPROVAL APPROVEDzEasy TimePro APPROVAL RemindzEasy TimePro APPROVAL REVOKE)Zmysite.payroll.modelsr   r   Znodeinstance_setallZorder_bystater   Z
apply_timestrftimeZapprover_employeetypeZobjectsgetZapprover_employee_idZ
first_nameappendr   
isinstanceZ_metar   Zallowance_typeZallowance_nameupperr
   _r   r	   r   r   )ZeventZemployeer!   r"   Z	approversZ	notifiersZnew_instanceZworkflow_instancer   Zapprovers_mail_contentcontextZemp_idr#   r%   r    Zapproval_statusZapproved_timeZemp_nameZfinal_statusr$   Zcontent_contextZrequest_namer   r   r   get_email_template   s|    













r1   N)Zdataclassesr   Zdjango.template.loaderr   Zdjango.utils.translationr   r/   Z$mysite.workflow.models.workflow_noder   Zmysite.workflow.models_choicesr   r   r   r	   r
   r   r1   r   r   r   r   <module>   s   