U
    [SeV)                     @   s(   d dl T d dlmZ G dd deZdS )    )*)ApiViewc                       sJ   e Zd ZdZ fddZdd ZedddZej	j
 fd	d
Z  ZS )SDeskApiViewz/sd_apic                    s$   dd l }t j|jjjjgd d S )Nr   )Zextra_models_list)Z&modules.servicedesk.models.sdesk_toolssuper__init__ZservicedeskZmodelsZsdesk_tools
SdeskTools)selfmodules	__class__ (./modules/servicedesk/views/sdesk_api.pyr      s    zSDeskApiView.__init__c                 C   s.   t dt j  t jjrdS t jjr*dS dS )Nu   Доступ к SDesk апи: TF)gdebugZcurrent_personZcurrent_userZservicedesk_allowZ
user_localr   r   r   r   _check_access   s    zSDeskApiView._check_access)methodc                 O   s6  z|j ddd\}}W n tk
r,   Y d S X |ds<d S || jkrJd S d }|dkrh| jd d d }|d	kr| jd d d }|d
kr| jd d d }|dkr| jd d d }|dkr| jd d d }|dkr| jd d d }|dkr| jd d d }|dkr"| jd d d }|dkr>| jd d d }|dkrZ| jd d d }|dkrv| jd d d }|dkr| jd d d }|dkr| jd d d }|dkr| jd d d  }|d!kr| jd d d" }|d#kr| jd d d$ }|d%kr| jd d d }|d&kr:| jd d d' }|d(krV| jd) d d }|d*krr| jd) d d }|d+kr| jd) d d }|d,kr| jd) d d- }|d.kr| jd/ d d }|d0kr| jd/ d d }|d1kr| jd/ d d }|d2kr| jd/ d d" }|d3kr6| jd/ d d- }|d4krR| jd5 d d }|d6krn| jd7 d d8 }|d9kr| jd d d }|d:kr| jd7 d d; }|d<kr| jd d d }|d=kr| jd> d d? }|d@kr| jd d d }|dAkr| jd> d dB }|dCkr2| jdD d d }|dEkrN| jdD d d }|dFkrj| jd d d }|dGkr| jd d d }|dHkr| jd d d }|dIkr| jd d d }|dJkr| jd d d }|dKkr| jd d d }|dLkr| jd d d }|dMkr.| jd d d }|dNkrJ| jd d d }|dOkrf| jd d d }|dPkr| jd d d }|dQkr| jd d d }|dRkr| jdS d dT }|dUkr| jdV d d }|dWkr| jdV d d }|dXkr| jdY d d }|dZkr*| jdY d d }|d[krF| jd\ d d }|d]krb| jd\ d d }|d^kr~| jd_ d d }|d`kr| jd> d d }|dakr| jdb d d }|dckr| jdb d d }|ddkr| jde d d }|dfkr
| jde d d }|sd S | j| dg |dg< dh}||di< |S )jN.   )maxsplitZsdesk_z BaseModel.sdesk_get_ui_full_pathr   methodsZsdesk_get_ui_full_pathzCmfTask.sdesk_get_ui_full_pathz*CmfSDeskRequestType.sdesk_get_ui_full_pathz!CmfProject.sdesk_get_ui_full_pathzBaseModel.sdesk_all_models_metaZ	BaseModelZall_models_metazCmfProject.sdesk_getZ
CmfProjectZ	sdesk_getzCmfProject.sdesk_listZ
sdesk_listzCmfTask.sdesk_createZCmfTaskZsdesk_createzCmfTask.sdesk_listzCmfTask.sdesk_countZsdesk_countz%CmfTask.sdesk_timetracker_change_timeZ
sdesk_nonezCmfTask.sdesk_get_metaZget_metazCmfTask.sdesk_getzCmfTask.sdesk_ui_getZsdesk_ui_getzCmfTask.sdesk_updateZsdesk_updatez CmfTask.sdesk_field_options_listZsdesk_field_options_listzCmfTask.sdesk_lockzCmfTask.sdesk_approve_oneZsdesk_approve_onezCmfAttachment.sdesk_getZCmfAttachmentzCmfAttachment.sdesk_listzCmfAttachment.sdesk_createzCmfAttachment.sdesk_deletedeletezCmfComment.sdesk_createZ
CmfCommentzCmfComment.sdesk_getzCmfComment.sdesk_listzCmfComment.sdesk_updatezCmfComment.sdesk_deletezCmfSDeskSlaCycle.sdesk_listZCmfSDeskSlaCyclezCmfPersonVar.sdesk_getZCmfPersonVargetz-CmfPersonVar.sdesk_update_recent_options_listzCmfPersonVar.sdesk_pingZ
sdesk_pingz%CmfPersonVar.sdesk_update_recents_objz CmfPerson.sdesk_get_current_userZ	CmfPersonZget_current_userz"CmfPerson.sdesk_get_org_units_listzCmfPerson.sdesk_mark_viewedZmark_viewedzCmfDocument.sdesk_getZCmfDocumentzCmfDocument.sdesk_listzCmfGlobalSettings.sdesk_listz$CmfGlobalSettings.sdesk_get_settingszCmfLicense.sdesk_listzCmfGanttTask.sdesk_getzCmfGanttTask.sdesk_updatez CmfTimeTrackerHistory.sdesk_listzCmfTimeTrackerHistory.sdesk_getzCmfTaskFilter.sdesk_getzCmfTaskFilter.sdesk_updatezCmfRelationType.sdesk_listzCmfRole.sdesk_listzCmfRelationOption.sdesk_deletezCmfMenuTree.sdesk_get_treeZCmfMenuTreeZpublic_get_treezCmfSDeskRequestGroup.sdesk_getZCmfSDeskRequestGroupzCmfSDeskRequestGroup.sdesk_listzCmfSDeskRequestType.sdesk_listZCmfSDeskRequestTypezCmfSDeskRequestType.sdesk_getz#CmfSDeskKnowlageCategory.sdesk_listZCmfSDeskKnowlageCategoryz"CmfSDeskKnowlageCategory.sdesk_getzCmfRFile.sdesk_getZCmfRFilezCmfPerson.sdesk_getzCmfApprove.sdesk_getZ
CmfApprovezCmfApprove.sdesk_listzCmfApproveGroup.sdesk_getZCmfApproveGroupzCmfApproveGroup.sdesk_listZ_classFZ_use_simple)split
ValueError
startswithZrpc)r   r   argskwargsZproc_cls_nameZproc_methodZ
res_methodZ
use_simpler   r   r   rpc_prepare_method   s   


























































zSDeskApiView.rpc_prepare_methodc                    s
   t   S )N)r   postr   r
   r   r   r      s    zSDeskApiView.post)__name__
__module____qualname__Z__url__r   r   strr   ZcmfZviewsactionr   __classcell__r   r   r
   r   r      s   	 >r   N)Zcmf.includeZmodules.api.views.indexr   r   r   r   r   r   <module>   s   