
    ]Nex                         d dl  d dlmZ d dlmZmZ d dlmZ d dlm	Z	  G d de
j                  j                        Z G d d	e	      Zy
)    )*)Response)dumpsloads)DeskApi)ApiViewc                   X    e Zd ZdZej
                  j                  d        Zed        Z	y)HelpdeskView/c                 D    | j                         }| j                  d      S Nz
index.html) _get_or_create_person_from_loginrender)selfpersons     !./modules/helpdesk/views/index.pygetzHelpdeskView.get   s    668{{<((    c                  T   d } t         j                  rt        j                  j	                  t         j                        } | set        j                  t         j                  j                  d      d   t         j                  t         j                  d      } | j                          | S )N)login@r   F)namer   email
user_local)gr   models	CmfPersonr   splitsave)r   s    r   r   z-HelpdeskView._get_or_create_person_from_login   sy    77%%)))8F))s+A.''''$	 *  r   N)
__name__
__module____qualname____url__cmfviewsactionr   staticmethodr    r   r   r
   r
      s7    GYY) )  r   r
   c                       e Zd ZdZej
                  j                  d        Zej
                  j                  d        Zy)HelpdeskApiViewz/deskapic           	         t         j                  s| j                  dd      S t         j                  dt         j                  j                  j
                   d       t        t        j                        }d|vrt        |       | j                  d      S d|vr| j                  d      S |d   | _        |j                  d	d
      }|t         _        |j                  d      xs i }|j                  d      xs i }|r||d<   |j                  d      xs g }|j                  dd       }|r||d<   |j                  dd       }|r||d<   |j                  dd       }|r||d<   |j                  dd       }	|	r|	|d<   |j                  di       t         _        |j                  dd       }
|
r|
|d<   t        d      |j                  d      }|j                  dd       }|j                  d      }|d   }g }	 |j!                  dd      \  }}	 t'        t(        |      }|k ||i |}t,        j/                  ||      }|j!                          |j0                  |j2                  }}| j5                  ||d | j                  ||d      }|S | j%                  | j                         ||dS # t"        $ r | j%                  | j                        cY S w xY w# t*        $ r d }Y w xY w)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)r;   F)
invalidateorjson_)proc_cls_nameproc_method)r   current_person_errordebugcodevaluer   requestdataprintinvalid_requestr.   r   r/   r8   	Exceptionr   
ValueErrormethod_not_foundgetattrr   AttributeErrorcmfutilCmfResultSplittermetaresultresponse_ok)r   json_resr/   r1   _filterr3   r4   r5   r6   r7   r9   r:   r;   r<   r-   invalidate_listrB   rC   rU   splitterrT   result_dictresps                          r   postzHelpdeskApiView.post#   s   ;;s$566	%a&6&6&;&;&A&A%B!DE&8#(O''(=>>8#''(=>>x(Wb)h'-2,,x(.B&F8||F#)rh-%F8Wd+#F7O<<
D1!)F:<<
D1!)F:,,w+<<
D1!)F:GHH \\,/
,,y$/<<
+(#	6)/cA)F&M;	Wk2F T,V,F000IHNN (x+D##KtT[[%\k,1 $ 3DK!!$++. +&
 	
'  	6((55	6
  	F	s$   8J, K ,$KKK$#K$c                 $    | j                  d      S r   )r   )r   s    r   r   zHelpdeskApiView.getr   s    {{<((r   N)	r    r!   r"   r#   r$   r%   r&   r]   r   r(   r   r   r*   r*       sD    GYYL
 L
\ 	YY) )r   r*   N)cmf.includeflaskr   ujsonr   r   modules.helpdesk.api.deskapir   modules.api.views.indexr   r$   r%   BaseViewr
   r*   r(   r   r   <module>re      s8       0 +399%% 0T)g T)r   