
    vg                         d Z ddlZddlZddlmZ ddlmZ ddlmZm	Z	m
Z
mZ  G d de      Z G d d	e      Z G d
 de      Z G d de      Z G d de      Zy)zH
offboarding/filters.py

This module is used to register django_filters
    N)forms)	FilterSet)OffboardingOffboardingEmployeeOffboardingStageResignationLetterc                       e Zd ZdZ ej
                  dd      Z ej                  d ej                  ddi      	      Z
 G d
 d      Zy)LetterFilterz
    LetterFilter class
    title	icontains)
field_namelookup_exprplanned_to_leave_ontypedateattrs)r   widgetc                       e Zd ZeZg dZy)LetterFilter.Meta)statusemployee_idr   .employee_id__employee_work_info__department_id0employee_id__employee_work_info__job_position_id5employee_id__employee_work_info__reporting_manager_idN)__name__
__module____qualname__r   modelfields     '/var/www/horilla/offboarding/filters.pyMetar       s    !
r"   r$   N)r   r   r   __doc__django_filters
CharFiltersearch
DateFilterr   	DateInputr   r$   r!   r"   r#   r
   r
      sP     '^&&'{SF3.33(uff%56
	
 	
r"   r
   c                   R    e Zd ZdZ ej
                  dd      Z G d d      Zd Zy)	PipelineFilterz
    PipelineFilter
    search_methodr   methodr   c                       e Zd ZeZdZy)PipelineFilter.Meta__all__N)r   r   r   r   r   r    r!   r"   r#   r$   r1   3   s    r"   r$   c                     |j                  |      |j                  |      z  |j                  |      z  j                         S )D
        This method is used to add custom search condition
        title__icontains)"offboardingstage__title__icontains)Roffboardingstage__offboardingemployee__employee_id__employee_first_name__icontainsfilterdistinctselfqueryset_values       r#   r-   zPipelineFilter.search_method7   sM    
 OOUO3oooGHooch  
 (*	r"   N	r   r   r   r%   r&   r'   r(   r$   r-   r!   r"   r#   r,   r,   ,   s,     '^&&o;WF 
r"   r,   c                   R    e Zd ZdZ ej
                  dd      Z G d d      Zd Zy)	PipelineStageFilterz
    PipelineStageFilter
    r-   r   r.   c                       e Zd ZeZdZdgZy)PipelineStageFilter.Metar2   sequenceN)r   r   r   r   r   r    excluder!   r"   r#   r$   rE   K   s     
r"   r$   c                     |j                  |      |j                  |      z  |j                  |      z  j                         S )r4   r5   )@offboardingemployee__employee_id__employee_first_name__icontains) offboarding_id__title__icontainsr9   r<   s       r#   r-   z!PipelineStageFilter.search_methodR   sO     OOUO3ooQV   oouoE	F
 (*	r"   NrA   r!   r"   r#   rC   rC   D   s,     '^&&o;WF
 
r"   rC   c                       e Zd ZdZ ej
                  dd      Z ej                  dd ej                  ddi	      
      Z
 ej                  dd ej                  ddi	      
      Z G d d      Zd Zy)PipelineEmployeeFilterz 
    PipelineEmployeeFilter
    r-   r   r.   notice_period_startsgter   r   r   )r   r   r   notice_period_endsltec                       e Zd ZeZg dZy)PipelineEmployeeFilter.Meta)stage_idemployee_id__genderr   r   ,employee_id__employee_work_info__job_role_id1employee_id__employee_work_info__employee_type_id)employee_id__employee_work_info__shift_id-employee_id__employee_work_info__work_type_idN)r   r   r   r   r   r    r!   r"   r#   r$   rR   r   s    #	
r"   r$   c                     |j                  |      |j                  |      z  |j                  |      z  j                         S )r4   )+employee_id__employee_first_name__icontains)stage_id__title__icontains)*stage_id__offboarding_id__title__icontainsr9   r<   s       r#   r-   z$PipelineEmployeeFilter.search_method   sH    
 OOONooo?@oooOP (*		r"   N)r   r   r   r%   r&   r'   r(   r)   r   r*   rM   rO   r$   r-   r!   r"   r#   rL   rL   `   s     '^&&o;WF4>44)uff%56
 322'uff%56
 
r"   rL   c                       e Zd ZdZg dZy)LetterReGroupz:
    Class to keep the field name for group by option
    )) Select)r   Employee)r   zPlanned to leave date)r   Status)r   
Department)r   zJob Position)r   zReporting ManagerN)r   r   r   r%   r    r!   r"   r#   r^   r^      s    Fr"   r^   )r%   uuidr&   djangor   base.filtersr   offboarding.modelsr   r   r   r   r
   r,   rC   rL   r^   r!   r"   r#   <module>rh      s_       " 
9 
.Y 0) 8'Y 'TI r"   