B
    GDbN                 @   sT   d dl mZ d dlmZmZmZ d dlmZmZmZm	Z	 d dl
Z
G dd deZdS )    )ladonize)request_valid
user_photointerface_response)SUCCESS_CODEMESSAGE_CODESYSTEM_EXCEPTIONDATA_EXCEPTIONNc            
   @   s2   e Zd ZdZeeeeeeeeeddd ZdS )BioTimeAppContactu   
    【Contact】
    )Zrtypec          
   C   s:  ddl m} ddlm} ddlm}	 |	|}
|
j}|
j}|
jjj	}y|j
j|d}| }|dkrn|j|d}|r|||d||d	B }d
}|pd}|d | }|| }||| }g }|r|dddddd}dd |D }ttt|ddS  tk
r4 } z ddl}|  ttdd|tS d}~X Y nX dS )u5  
        get contact
        @param search_item:     search condition(emp_code or first_name), return all data when this field is None
        @param page_num:        page number(１５items/page)
        @param source:          data source(1: IOS， 2：Android)
        @param device_token:    Token for push message
        @param language:
        @param token:
        @rtype:
            success
                {"code": 1, "error": "", "describe": "", "message": "", "data":[{"code": objcet ID, "pin": "emp_code", "
                name":"first_name", "photo":"photo address", "mobile": "cell phone number ", "email": "email address",
                "position":""}, ]}
            fail
                 {"code": -10001, "error": "", "describe": "exception state", "message": "Pop-up message", "data":""}

        r   )Q)Employee)online_employee_new)Zdepartment__company_id   )Zdepartment_id)Zfirst_name__icontains)Zemp_code__icontains      idemp_code
first_namemobileemailposition__position_namec             S   sT   g | ]L}|d  |d |d p"|d |d p,d|d p6d|d p@dt |d dqS )r   r   r   r    r   r   )codeZpinnamer   r   ZpositionZphoto)r   ).0obj r   ;G:\easytimepro\master/mysite/mobile\services\app_contact.py
<listcomp>8   s   z2BioTimeAppContact.pull_contact.<locals>.<listcomp>r   N)Zdjango.db.modelsr   Z&mysite.personnel.models.model_employeer   mysite.mobile.utilsr   app_roleZ
departmentZcompanyr   Zobjectsfilterstripvaluesr   r   jsondumps	Exception	traceback	print_excr   r   )selfZsearch_itemZpage_numsourceZdevice_tokenZlanguagetokenr   r   r   Zempr    Zemp_deptZ
company_idZempsZ	page_sizestartenddataZobjser'   r   r   r   pull_contact   s:    
zBioTimeAppContact.pull_contactN)	__name__
__module____qualname____doc__r   r   strintr0   r   r   r   r   r
      s   r
   )Zmysite.ladon.ladonizerr   r   r   r   r   r   r   r   r	   r$   objectr
   r   r   r   r   <module>   s   