o
    )h                     @   s   d dl mZmZ 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 d dlmZ d dlmZ d	d
lmZmZ dd Zedd Zedd ZdS )    )renderredirect)login_required)logout)messages)timezone)	timedelta)OvertimeRequest)LeaveRequest   )UserUpdateFormEmployeeUpdateFormc                 C   s   t |  tdS )Nzaccounts:login)r   r   )request r   %/var/www/html/wtlms/accounts/views.pylogout_view   s   r   c                 C   s~  t | jdst| d tdS i }| jj}|j}t 	 }|j
dd}|tdd j
ddtdd }|dkrZtjj|d	d
d d |d< tjj|d	dd d |d< n_|dkrtjjddd
d d |d< tjjdddd d |d< n:|dkrtjjddd
d d |d< tjjdddd d |d< n|dkrtjjdddd
d d |d< t| d|S )Nemployeez-No employee profile found. Please contact HR.accounts:profiler   )day    )daysEMP)r   z-date
   overtime_requestsz-start_dateleave_requestsHRPENDING)status   pending_overtimepending_leaveREGHR_APPROVEDFINREG_APPROVED)r   payment_statusapproved_overtimezaccounts/dashboard.html)hasattruserr   errorr   r   roler   nowdatereplacer   r	   objectsfilterorder_byr
   r   )r   contextr   r*   todaymonth_start	month_endr   r   r   	dashboard   sd    


r5   c                 C   s   | j dkrPt| j| jd}d }t| jdr t| j| j| jjd}| rO|r*| rO|	  |rEd| jv rE|j	dd}| jd |_
|	  t| d tdS nt| jd}d }t| jdret| jjd}d }t| jdr| jj}| |jpxd	|j|j|j| |j
d
}t| d|||dS )NPOST)instancer   profile_pictureF)commitz+Your profile has been updated successfully.r   zNot assigned)r*   
department	basic_payannual_leave_daysaccumulated_leave_daysavailable_leave_daysr8   zaccounts/profile.html)	user_formemployee_formemployee_data)methodr   r6   r(   r'   r   FILESr   is_validsaver8   r   successr   get_role_displayr:   r;   r<   r=   get_available_leave_daysr   )r   r?   r@   r   rA   r   r   r   profileF   sL   

rI   N)django.shortcutsr   r   django.contrib.auth.decoratorsr   django.contrib.authr   django.contribr   django.utilsr   datetimer   overtime.modelsr	   leave.modelsr
   formsr   r   r   r5   rI   r   r   r   r   <module>   s    
3