U
    *d1'                     @   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   s  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 }|d/kr| jd- d d }|d0kr| jd- d d" }|d1kr| jd- d d+ }|d2kr6| jd3 d d }|d4krR| jd5 d d6 }|d7krn| jd d d }|d8kr| jd5 d d9 }|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@ }|dAkr| jdB d d }|dCkr2| jdB d d }|dDkrN| jd d d }|dEkrj| jd d d }|dFkr| 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rJ| jd d d }|dNkrf| jd d d }|dOkr| jd d d }|dPkr| jdQ d dR }|dSkr| jdT d d }|dUkr| jdT d d }|dVkr| jdW d d }|dXkr| jdW d d }|dYkr*| jdZ d d }|d[krF| jdZ d d }|d\krb| jd] d d }|d^kr~| jd< d d }|sd S | j| d_ |d_< d`}||da< |S )bN.   )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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_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   	 2r   N)Zcmf.includeZmodules.api.views.indexr   r   r   r   r   r   <module>   s   