
    9gO                     D    d dl  d dlmZ  G d dej                        Zy)    )*)cmf_full_searchc                   V    e Zd ZdZej
                  j                  dgz   Zedd       Zy)CmfFullSearchTsdesk_fulltext_searchNc                 n    dvrg S fd}	t        j                  j                  d|||||||	d|}
|
S )N)CmfDocumentCmfSDeskRequestType
CmfProjectc                    d}| j                  ddg       | j                  r| j                  j                  dk(  rΉdk(  r,| j                  j	                  d      r| j                         }nudk(  r6| j                  j	                  d      r| j                  j                         }n:dk(  r5| j                  j	                  d      r| j                  j                         }|r&t        j                  | d       | j                          |S )	NFprojectzproject.logic_prefixzproject.servicedeskr   r	   r
   read)	load_fieldsr   logic_prefixid
startswith_sdesk_check_accesscmfutilacl_set_policy_acl_check_read)objcheck
model_names     /./modules/servicedesk/models/cmf_full_search.pycheck_accessz9CmfFullSearch.sdesk_fulltext_search.<locals>.check_access   s     EOOY(>?@{{s{{77;PP-#&&2C2CL2Q335E=0SVV5F5F}5UKK;;=E#88SVV=N=NOd=eKK;;=E**37'')L    )r   
field_namesearch_queryonly_idsslicefieldsno_analitycsr    )modelsr   fulltext_search)clsr   r   r   r   r    r!   r"   kwargsr   
search_ress    `         r   r   z#CmfFullSearch.sdesk_fulltext_search   sl     QQI	$ ))99 PZ\f  vB  MU:?]i  yEP IOP
r   )FNNF)	__name__
__module____qualname__	api_allowr   r   api_methodsclassmethodr   r#   r   r   r   r      s9    I!//;;? K  r   r   N)cmf.includemodules.project.modelsr   r   r#   r   r   <module>r1      s     2 O11  r   