o
    \fgg	                     @   s:   d dl mZ d dlmZ d dlmZ G dd dejZdS )    )models)timezone)Employeec                   @   s   e Zd Zg dZg dZejeejdZ	ej
dedZe Ze Ze Zej
deddZejeejd	d	d
dZejd	d	dZejd	dZejeejd	d	ddZejd	d	dZejd	dZejd	dZejd	dZdd Zdd Zedd ZdS )LeaveRequest))ANNzAnnual Leave)SICKz
Sick Leave)EMERzEmergency Leave))PENDINGPending)HR_APPROVEDzHR Approved)HR_REJECTEDzHR Rejected)REG_APPROVEDzRegistrar Approved)REG_REJECTEDzRegistrar Rejected)	on_delete   )
max_lengthchoices   r	   )r   r   defaultThr_approved_leaves)r   nullblankrelated_name)r   r   )r   registrar_approved_leaves)auto_now_add)auto_nowc                 C   s   dddddd}| | jdS )z,Return Bootstrap color class based on statuswarningprimarydangersuccess)r	   r   r   r   r   	secondary)getstatus)selfcolors r%   #/var/www/html/wtlms/leave/models.pyget_status_color6   s   zLeaveRequest.get_status_colorc                 C   s    | j  d|   d|   dS )Nz - z ())employeeget_leave_type_displayget_status_display)r#   r%   r%   r&   __str__A   s    zLeaveRequest.__str__c                 C   s&   | j r| jsdS | j| j  }|jd S )z(Calculate number of leave days requestedr      )
start_dateend_datedays)r#   deltar%   r%   r&   r0   D   s   
zLeaveRequest.daysN) __name__
__module____qualname__LEAVE_TYPESSTATUS_CHOICESr   
ForeignKeyr   CASCADEr)   	CharField
leave_type	DateFieldr.   r/   	TextFieldreasonr"   SET_NULLhr_approved_byDateTimeFieldhr_approved_at
hr_commentregistrar_approved_byregistrar_approved_atregistrar_comment
created_at
updated_atr'   r,   propertyr0   r%   r%   r%   r&   r      sB    r   N)	django.dbr   django.utilsr   accounts.modelsr   Modelr   r%   r%   r%   r&   <module>   s    