
    siC                        d Z ddlmZ 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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 eed       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)zD
this page is handling the cbv methods of  attendance activity page
    )Any)reversereverse_lazy)method_decorator)gettext_lazy)AttendanceActivityFilter)AttendanceActivityExportForm)AttendanceActivity)filtersubordinatesis_reportingmanager)login_required)HorillaDetailedViewHorillaListViewHorillaNavViewTemplateViewdispatch)namec                       e Zd ZdZdZy)AttendanceActivityViewz%
    for my attendance page view
    z5cbv/attendance_activity/attendance_activity_home.htmlN)__name__
__module____qualname____doc__template_name     F/var/www/python-projects/worksol/attendance/cbv/attendance_activity.pyr   r      s     LMr   r   c            	            e Zd ZdZdeddf fdZ fdZeZe	Z
dZd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gZdZg dZ xZS )AttendanceActivityListViewz
    list view of the page
    kwargsreturnNc                     t        |   di | t        d      | _        d | _        d| _        | j                  j                  j                  d      rd| _        y y )Nattendance-activity-search
deleteview$attendance.delete_attendanceactivityget_delete_attendancer   )	super__init__r   
search_urlaction_methodview_idrequestuserhas_permselfr    	__class__s     r   r(   z#AttendanceActivityListView.__init__'   sV    "6"!">?!#<<%%&LM!8D Nr   c                     t         |          }|j                  | j                  j                        }t        | j                  |d      }||z  S )N)employee_id__employee_user_idz"attendance.view_attendanceovertime)r'   get_querysetfilterr,   r-   r   )r0   querysetself_attendance_activitiesr1   s      r   r4   z'AttendanceActivityListView.get_queryset/   sW    7')%-__*.,,*;*; &5 &
" &LL($H
 444r   
   z+cbv/attendance_activity/delete_inherit.htmlEmployeeemployee_idemployee_id__get_avatarAttendance Dateattendance_dateIn Dateclock_in_dateCheck Inclock_in	Check Out	clock_outOut Dateclock_out_dateDuration (HH:MM:SS)duration_formata  
                {diff_cell}
                hx-get='{attendance_detail_view}?instance_ids={ordered_ids}'
                hx-target="#genericModalBody"
                data-target="#genericModal"
                data-toggle="oh-modal-toggle"
                ))r9   employee_id__get_full_namer;   )r<   r=   )r@   rA   )r>   r?   )rB   rC   )rD   rE   )rF   rG   )r   r   r   r   r   r(   r4   r   filter_classr
   modelrecords_per_pager   _columns	row_attrssortby_mapping__classcell__r1   s   @r   r   r   !   s    9 9 95 ,LEAM 
:'@A	
	01	
9'	
:
#	
;%	
:()	
 	!#45GINr   r   c                   D    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d
 ed      fd ed      fd ed      fd ed      fd ed      fd ed      fd ed      fd ed      fd ed      fd ed      fd ed      fd  ed!      fd" ed#      fgZ xZS )$AttendanceActivityNavViewz
    nav bar
    r    r!   Nc                    t        |   di | t        d      | _        t	        d      dt        d       ddt	        d      dt        d	       ddg}| j                  j                  j                  d
      r|j                  t	        d      dd       | j                  j                  j                  d
      st        | j                        sd }|| _        y )Nr#   Importz
                    "id"="activityInfoImport"
                    data-toggle = "oh-modal-toggle"
                    data-target = "#objectCreateModal"
                    hx-target="#objectCreateModalTarget"
                    hx-get ="zattendance-activity-importz?"
                    style="cursor: pointer;"
                )actionattrsExportz
                    data-toggle = "oh-modal-toggle"
                    data-target = "#genericModal"
                    hx-target="#genericModalBody"
                    hx-get ="zattendance-bulk-exportr%   Deletez
                    onclick="
                    deleteAttendanceNav();
                    "
                    data-action ="delete"
                    style="cursor: pointer; color:red !important"
                r   )r'   r(   r   r)   rL   r   r,   r-   r.   appendr   actions)r0   r    r[   r1   s      r   r(   z"AttendanceActivityNavView.__init__`   s    "6"!">? H+
 ++GHI J
 H+ ++CDE F		
0 <<%%&LMNNk	 ||  ))2
%dll3Gr   zAttendance Activityz#cbv/attendance_activity/filter.htmlformz#listContainerr:   r9   r=   r<   r?   r>   rE   rD   	shift_dayz	Shift Dayemployee_id__countryCountry5employee_id__employee_work_info__reporting_manager_idzReporting Manager)employee_id__employee_work_info__shift_idShift-employee_id__employee_work_info__work_type_id	Work Type.employee_id__employee_work_info__department_id
Department0employee_id__employee_work_info__job_position_idzJob Position1employee_id__employee_work_info__employee_type_idzEmployement Type+employee_id__employee_work_info__company_idCompany)r   r   r   r   r   r(   rL   	nav_titlefilter_body_templater   filter_instancefilter_form_context_namesearch_swap_targetgroup_by_fieldsrP   rQ   s   @r   rS   rS   Z   s    - - -^ '(I@.0O%) 
*&	A/01	!I,'	1Z=)	an%	9.C!"	
 
5ajA	8!K.I	91\?K	;Q~=NO	<a@R>ST	6)E!Or   rS   c                        e Zd ZdZdeddf f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g	ZdZ xZS )AttendanceDetailViewz
    Detail view of page
    r    r!   Nc                 D    t        |   di | t        d      | _        y )Nr#   r   )r'   r(   r   r)   r/   s     r   r(   zAttendanceDetailView.__init__   s     "6"!">?r   DetailsrH   attendance_detail_subtitler;   )titlesubtitleavatarr<   r=   Day
get_statusr@   rA   zCheck In Dater?   rB   rC   zCheck Out DaterE   DurationrG   rb   ra   rd   rc   detail_view_delete_attendance)r   r   r   r   r   r(   r
   rJ   rL   rv   headerbodyr*   rP   rQ   s   @r   rr   rr      s    @ @ @ EiLE-0+F 
	01	
5< 	
:
#	
?	_-	
;%	
	./	
:)*	
7@A	
;HI
D 4Mr   rr   c                   ,     e Zd ZdZdZdef fdZ xZS )AttendanceBulkExportz
    for bulk export
    z.cbv/attendance_activity/attendance_export.htmlr    c                     t         j                  j                         }t        }t	        |      }t        |   di |}||d<   ||d<   |S )z%
        get data for export
        )r6   export_formexportr   )r
   objectsallr	   r   r'   get_context_data)r0   r    attendancesr   r   contextr1   s         r   r   z%AttendanceBulkExport.get_context_data   sS     )004462);?'*4V4!,"r   )r   r   r   r   r   r   r   rP   rQ   s   @r   r   r      s!     EM
 
 
r   r   N) r   typingr   django.urlsr   r   django.utils.decoratorsr   django.utils.translationr   rL   attendance.filtersr   attendance.formsr	   attendance.modelsr
   base.methodsr   r   horilla_views.cbv_methodsr   horilla_views.generic.cbv.viewsr   r   r   r   r   r   rS   rr   r   r   r   r   <module>r      s     - 4 6 7 9 0 @ 4  .z2L\ L 3L .z25 5 35p .z2K K 3K\ .z24. 4 34> .z2<  3r   