
    si                     J   d 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mZmZ  eed
       G d de             Z G d de      Z eed
       G d de             Z eed
       G d de             Z eed
       G d de             Zy)z
My attendances
    )Any)reverse)method_decorator)gettext_lazy)AttendanceFilters)
Attendance)login_required)HorillaDetailedViewHorillaListViewHorillaNavViewTemplateViewdispatch)namec                       e Zd ZdZdZy)MyAttendancesz
    My attendances
    z&cbv/my_attendances/my_attendances.htmlN)__name__
__module____qualname____doc__template_name     A/var/www/python-projects/worksol/attendance/cbv/my_attendances.pyr   r      s     =Mr   r   c                      e Zd ZeZeZ ed      ddf ed      df ed      df ed      d	f ed
      df ed      df ed      df ed      df ed      df ed      df ed      df ed      df ed      dfgZdZ	dZ
g dZy) MyAttendancesListViewEmployeeemployee_idemployee_id__get_avatarDateattendance_dateDayattendance_dayCheck-Inattendance_clock_inIn Dateattendance_clock_in_date	Check-Outattendance_clock_outOut Dateattendance_clock_out_dateShiftshift_id	Work Typework_type_idMin Hourminimum_hourAt Workattendance_worked_hourPending Hourhours_pendingOvertimeattendance_overtimez
                hx-get='{my_attendance_detail}?instance_ids={ordered_ids}'
                hx-target="#genericModalBody"
                data-target="#genericModal"
                data-toggle="oh-modal-toggle"
                   ))r   employee_id__get_full_namer   )r   r    )r!   attendance_day__day)r#   r$   )r+   shift_id__employee_shift)r-   work_type_id__work_type)r/   r0   )r3   r4   )r%   r&   )r'   r(   )r)   r*   )r1   r2   )r5   r6   N)r   r   r   r   modelr   filter_class_columns	row_attrsrecords_per_pagesortby_mappingr   r   r   r   r      s    E$L	
:'@A	
6%&	
5#$	
:-.	
912	
;/0	
:34	
7Z 	
;(	
:'	
9/0	
>	O,	
:-.G I Nr   r   c                        e Zd ZdZdeddf fdZd ed      dfd	 ed
      dfd ed      dfd ed      dfgZdZ fdZ	 xZ
S )MyAttendanceListz
    List view
    kwargsreturnNc                 D    t        |   di | t        d      | _        y )Nmy-attendance-listr   )super__init__r   
search_urlselfrE   	__class__s     r   rJ   zMyAttendanceList.__init__R   s     "6"!"67r   zapproved-request--dotzApproved Requesta[  
            onclick="
                $('#applyFilter').closest('form').find('[name=is_validate_request_approved]').val('true');
                $('[name=attendance_validated]').val('unknown').change();
                $('[name=is_validate_request]').val('unknown').change();
                $('#applyFilter').click();

            "
            zrequested--dot	Requesteda[  
            onclick="
                $('#applyFilter').closest('form').find('[name=is_validate_request]').val('true');
                $('[name=attendance_validated]').val('unknown').change();
                $('[name=is_validate_request_approved]').val('unknown').change();
                $('#applyFilter').click();

            "
            znot-validated--dotzNot Validateda[  
            onclick="
                $('#applyFilter').closest('form').find('[name=attendance_validated]').val('false');
                $('[name=is_validate_request]').val('unknown').change();
                $('[name=is_validate_request_approved]').val('unknown').change();
                $('#applyFilter').click();
            "
            zvalidated--dot	Validateda[  
            onclick="
                $('#applyFilter').closest('form').find('[name=attendance_validated]').val('true');
                $('[name=is_validate_request]').val('unknown').change();
                $('[name=is_validate_request_approved]').val('unknown').change();
                $('#applyFilter').click();

            "
            zqvalidated-{attendance_validated}  requested-{is_validate_request} approved-request-{is_validate_request_approved}c                     t         |          }| j                  j                  j                  }|j                  |      }|S )N)r   )rI   get_querysetrequestuseremployee_getfilter)rM   querysetemployeerN   s      r   rR   zMyAttendanceList.get_queryset   s:    7')<<$$11??x?8r   )r   r   r   r   r   rJ   r>   row_status_indicationsrow_status_classrR   __classcell__rN   s   @r   rD   rD   L   s    8 8 8 $ !	
 kN	
 !o	
 kN	
O4l K r   rD   c                   V     e Zd ZdZdeddf fdZ ed      ZdZ e	       Z
dZd	Z xZS )
MyAttendancestNavz
    Nav bar
    rE   rF   Nc                 V    t        |   di | t        d      | _        ddg| _        y )NrH   )r:   r+   )r;   r-   r   )rI   rJ   r   rK   	search_inrL   s     r   rJ   zMyAttendancestNav.__init__   s/    "6"!"6714
r   zMy Attendancesz,cbv/my_attendances/my_attendance_filter.htmlformz#listContainer)r   r   r   r   r   rJ   r>   	nav_titlefilter_body_templater   filter_instancefilter_form_context_namesearch_swap_targetr[   r\   s   @r   r^   r^      sB    
 
 
 "#II')O%)r   r^   c                      e Zd ZdZeZ ed      ZddddZ ed      df ed	      d
f ed      df ed      df ed      df ed      df ed      df ed      df ed      df ed      df ed      df ed      dfgZ	y) MyAttendancesDetailViewz
    Detail View
    Detailsr8   my_attendance_subtitler   )titlesubtitleavatarr   r    r!   r"   r#   r$   zCheck-in Dater&   r'   r(   zCheck-out Dater*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   N)
r   r   r   r   r   r<   r>   rk   headerbodyr   r   r   rh   rh      s     EiLE .,+F 
6%&	
5#$	
:-.	
?	78	
;/0	
	9:	
7Z 	
;(	
:'	
9/0	
>	O,	
:-.Dr   rh   N)r   typingr   django.urlsr   django.utils.decoratorsr   django.utils.translationr   r>   attendance.filtersr   attendance.modelsr   horilla_views.cbv_methodsr	   horilla_views.generic.cbv.viewsr
   r   r   r   r   r   rD   r^   rh   r   r   r   <module>rx      s      4 6 0 ( 4  .z2=L = 3=*O *Z .z2E, E 3EP .z2* * 3*( .z21  3r   