
    si                        d Z ddl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mZ ddlmZmZ  G d d	e      Z G d
 de      Z G d de      Z G d d      Z G d de      Z G d de      Z G d de      Z G d de      Zy)zG
filters.py

This page is used to register filter for employee models

    N)forms)
CharFilter
DateFilter)Tags)FAQDepartmentManagerFAQCategoryTicket
TicketType)	FilterSetHorillaFilterSetc                   8    e Zd ZdZ edd      Z G d d      Zy)	FAQFilterzw
    Filter set class for FAQ model

    Args:
        FilterSet (class): custom filter set class to apply styling
    question	icontains
field_namelookup_exprc                       e Zd ZdZeZddgZy)FAQFilter.Meta7
        Meta class to add the additional info
        searchtagsN)__name__
__module____qualname____doc__r   modelfields     3/var/www/python-projects/worksol/helpdesk/filter.pyMetar      s    	 
r!   r#   Nr   r   r   r   r   r   r#   r    r!   r"   r   r      s     :;GF	
 	
r!   r   c                   8    e Zd ZdZ edd      Z G d d      Zy)FAQCategoryFilterz
    Filter set class for FAQ category model

    Args:
        FilterSet (class): custom filter set class to apply styling
    titler   r   c                       e Zd ZdZeZdgZy)FAQCategoryFilter.Metar   r   N)r   r   r   r   r	   r   r   r    r!   r"   r#   r)   1   s    	 
r!   r#   Nr$   r    r!   r"   r&   r&   '   s     7DF
 
r!   r&   c                       e Zd ZdZ edd      Z edd ej                  ddi	      
      Z	 edd ej                  ddi	      
      Z
 ej                  d      Z G d d      Zy)TicketFilterzz
    Filter set class for Ticket model

    Args:
        FilterSet (class): custom filter set class to apply styling
    r'   r   r   deadlinegtetypedate)attrs)r   r   widgetltestatus)r   c                       e Zd ZdZeZg dZy)TicketFilter.Metar   )	r'   r   employee_idticket_typepriorityr,   assigned_tor3   	is_activeN)r   r   r   r   r
   r   r   r    r!   r"   r#   r5   S   s    	 

r!   r#   N)r   r   r   r   r   r   r   r   	DateInput	from_dateto_datedjango_filterspipeline_statusr#   r    r!   r"   r+   r+   <   s~     7DFuff%56I
 uff%56G
 0n//O
 
r!   r+   c                       e Zd ZdZg dZy)TicketReGroupz:
    Class to keep the field name for group by option
    )) Select)r6   Owner)r7   zTicket Type)r3   Status)r8   Priority)r   r   )r9   Assigner)+employee_id__employee_work_info__company_idCompanyN)r   r   r   r   r   r    r!   r"   rA   rA   f   s    	Fr!   rA   c                   8    e Zd Z ed      Zd Z G d d      Zy)TicketTypeFiltersearch_methodmethodc                     |j                  |      |j                  |      z  |j                  |      z  j                         S )G
        This method is used to search employees and objective
        title__icontains)type__icontains)prefix__icontainsfilterdistinctselfqueryset_values       r"   rL   zTicketTypeFilter.search_method{   sF     OOUO3ooeo45ooo67 (*		r!   c                       e Zd ZeZg dZy)TicketTypeFilter.Meta)r'   r.   prefixN)r   r   r   r   r   r   r    r!   r"   r#   r^      s    ,r!   r#   Nr   r   r   r   r   rL   r#   r    r!   r"   rK   rK   w   s    /F	- -r!   rK   c                   8    e Zd Z ed      Zd Z G d d      Zy)
TagsFilterrL   rM   c                 B    |j                  |      j                         S )rP   rQ   rU   rX   s       r"   rL   zTagsFilter.search_method   s    
 7AACCr!   c                       e Zd ZeZdgZy)TagsFilter.Metar'   N)r   r   r   r   r   r   r    r!   r"   r#   re      s    
r!   r#   Nr`   r    r!   r"   rb   rb      s    /FD
 
r!   rb   c                   r    e Zd Z ej                  d      Z ej                  d      Z G d d      Zd Zy)DepartmentManagerFilterrL   rM   	search_inc                       e Zd ZeZddgZy)DepartmentManagerFilter.Meta
departmentmanagerN)r   r   r   r   r   r   r    r!   r"   r#   rj      s    !	*r!   r#   c                 h    |j                  |      |j                  |      z  j                         S )rP   )!department__department__icontains)'manager__employee_first_name__icontainsrU   rX   s       r"   rL   z%DepartmentManagerFilter.search_method   s2     __u_EooeoLM
(*	r!   N)	r   r   r   r>   r   r   search_fieldr#   rL   r    r!   r"   rg   rg      s5    &^&&o>F,>,,K@L+ +r!   rg   c                   :    e Zd Z edd      Z G d d      Zd Zy)	FaqSearchrL   r   )rN   r   c                       e Zd ZeZdgZy)FaqSearch.Metar   N)r   r   r   r   r   r   r    r!   r"   r#   rt      s    r!   r#   c                     |j                  |      |j                  |      z  |j                  |      z  j                         S )zD
        This method is used to add custom search condition
        )question__icontains)answer__icontains)tags__title__icontainsrU   rX   s       r"   rL   zFaqSearch.search_method   sF    
 OOO6ooo67ooUo;< (*		r!   N)r   r   r   r   r   r#   rL   r    r!   r"   rr   rr      s    KHF r!   rr   )r   r>   djangor   r   r   base.modelsr   helpdesk.modelsr   r   r	   r
   r   horilla.filtersr   r   r   r&   r+   rA   rK   rb   rg   rr   r    r!   r"   <module>r}      s      1  S S 7
	 
,
	 
*'
9 '
T "-y -(
 
$. (	 r!   