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)
invalidateorjson_)proc_cls_nameproc_method)r   current_person_errordebugcodevaluer   requestdataprintinvalid_requestr)   r   r*   r3   	Exceptionr   
ValueErrormethod_not_foundgetattrr   AttributeErrorr   metaresultresponse_ok)r   json_resr*   r,   _filterr.   r/   r0   r1   r2   r4   r5   r6   r7   r(   invalidate_listr=   r>   rN   splitterrM   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$   rV   r   r   r   r   r   r&       s
   
Nr&   N)cmf.includeflaskr   ujsonr   r   Zmodules.helpdesk.api.deskapir   modules.api.views.indexr   r   r	   r"   r#   BaseViewr
   r&   r   r   r   r   <module>   s   