U
    $-d                     @   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   !./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   ZemailZ
user_local)gr   ZmodelsZ	CmfPersonr   splitZ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)r1   F)Z
invalidateZorjson_)proc_cls_nameproc_method)r   Zcurrent_person_errordebugcodevaluer   ZrequestdataprintZinvalid_requestr$   r   r%   r.   	Exceptionr   
ValueErrorZmethod_not_foundgetattrr   AttributeErrorr   metaresultZresponse_ok)r   Zjson_resr%   r'   Z_filterr)   r*   r+   r,   r-   r/   r0   r1   r2   r#   Zinvalidate_listr6   r7   rC   ZsplitterrB   Zresult_dictZ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   rD   r   r   r   r   r   r!       s
   
Nr!   N)Zcmf.includeZflaskr   Zujsonr   r   Zmodules.helpdesk.api.deskapir   Zmodules.api.views.indexr   r   r	   r   r   ZBaseViewr
   r!   r   r   r   r   <module>   s   