U
    Vc                     @   sl   d dl T 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 G dd dejjZG dd	 d	eZd
S )    )*)Response)dumpsloads)DeskApi)	cmf_dumpsCmfResultSplitterApiViewc                   @   s,   e Zd ZdZejjdd Zedd Z	dS )HelpdeskView/c                 C   s   |   }| dS Nz
index.html) _get_or_create_person_from_loginrender)selfperson r   */opt/crm/./modules/helpdesk/views/index.pyget   s    zHelpdeskView.getc                  C   sL   d } t jrHtjjt jd} | sHtjt jdd t jt jdd} |   | S )N)login@r   F)namer   email
user_local)gr   models	CmfPersonr   splitsave)r   r   r   r   r      s    z-HelpdeskView._get_or_create_person_from_loginN)
__name__
__module____qualname____url__cmfviewsactionr   staticmethodr   r   r   r   r   r
      s
   
r
   c                   @   s0   e Zd ZdZejjdd Zejjdd ZdS )HelpdeskApiViewz/deskapic              	   C   s>  t js| ddS t dt jjj d ttj}d|krNt	| | 
dS d|kr`| 
dS |d | _|d	d
}|t _|dpi }|dpi }|r||d< |dpg }|dd }|r||d< |dd }|r||d< |dd }|r||d< |dd }	|	r|	|d< |di t _|dd }
|
rD|
|d< td|d}|dd }|d}|d }g }z|jddd\}}W n" tk
r   | | j Y S X ztt|}W n tk
r   d }Y nX |d k	r(|||}t||d}|  |j|j }}| j||d | j||dd}|S | | j ||dS )Ni  u   Нет правzAPI request start ()methodzNo method specifiedcallidzNo callid specifiedjsurl kwargsfilterargsfieldssliceorder_bygroup_byflagsno_cacheu)   no_cache запрещен go to spec0 osv
no_jscacheno_metacache_id.   )maxsplit)r6   F)
invalidateZorjson_)proc_cls_nameproc_method)r   current_person_errordebugcodevaluer   requestdataprintZinvalid_requestr)   r   r*   r3   	Exceptionr   
ValueErrorZmethod_not_foundgetattrr   AttributeErrorr   metaresultZresponse_ok)r   json_resr*   r,   _filterr.   r/   r0   r1   r2   r4   r5   r6   r7   r(   Zinvalidate_listr<   r=   rK   splitterrJ   Zresult_dictrespr   r   r   post#   sx    








zHelpdeskApiView.postc                 C   s
   |  dS r   )r   )r   r   r   r   r   r   s    zHelpdeskApiView.getN)	r   r   r    r!   r"   r#   r$   rP   r   r   r   r   r   r&       s
   
Nr&   N)cmf.includeflaskr   ujsonr   r   Zmodules.helpdesk.api.deskapir   Zmodules.api.views.indexr   r   r	   r"   r#   BaseViewr
   r&   r   r   r   r   <module>   s   