U
    /g5                     @   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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rx| 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rX| jd d d( }|d)krt| jd d d* }|d+kr| jd d d, }|d-kr| jd d d. }|d/kr| jd d d0 }|d1kr| jd d d2 }|d3kr | jd4 d d }|d5kr| jd4 d d }|d6kr8| jd4 d d }|d7krT| jd4 d d8 }|d9krp| jd4 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 }|dAkr| jd< d d# }|dBkr| jd< d dC }|dDkr4| jd< d dE }|dFkrP| jdG d d }|dHkrl| jdI d dJ }|dKkr| jd d d }|dLkr| jdI d dM }|dNkr| jd d d }|dOkr| jd d d }|dPkr| jdQ d dR }|dSkr| jd d d }|dTkr0| jdQ d dU }|dVkrL| jdQ d d# }|dWkrh| jdQ d dX }|dYkr| jdZ d d }|d[kr| jdZ d d }|d\kr| jdZ d d] }|d^kr| jd d d }|d_kr| jd` d d }|dakr| jd` d db }|dckr,| jd` d dd }|dekrH| jdf d dg }|dhkrd| jdi d d }|djkr| jdi d dk }|dlkr| jd` d dk }|dmkr| jd d d }|dnkr| jd d d }|dokr| jd d d }|dpkr| jd d d }|dqkr(| jd d d }|drkrD| jd d d }|dskr`| jd d d }|dtkr|| jd d d }|dukr| jd d d }|dvkr| jd d d }|dwkr| jdx d dy }|dzk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 }|dkr\| jd d d }|dkrx| jd d d }|dkr| jd d d }|dkr| jd d d }|dkr| jd d d }|dkr| jdQ d d }|dk	r| jd d d }|dk	r | jd d d }|dk	r<| jd d d }|dk	rX| jd d d }|dk	rt| jd d d }|	s~d S | j| d |d< d}||d< |S )N.   )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.sdesk_mark_viewedZ
sdesk_nonez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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CmfTask.sdesk_create_dummy_taskZsdesk_create_dummy_taskzCmfTask.sdesk_delete_dummy_taskZsdesk_delete_dummy_taskzCmfTask.sdesk_save_dummy_taskZsdesk_save_dummy_taskz!CmfTask.sdesk_task_transition_runZsdesk_task_transition_runzCmfTask.sdesk_attach_listZsdesk_attach_listzCmfAttachment.sdesk_getZCmfAttachmentzCmfAttachment.sdesk_listzCmfAttachment.sdesk_createzCmfAttachment.sdesk_deletedeletezCmfAttachment.sdesk_countcountzCmfComment.sdesk_createZ
CmfCommentzCmfComment.sdesk_create_dummyZsdesk_create_dummyzCmfComment.sdesk_getzCmfComment.sdesk_listzCmfComment.sdesk_updatezCmfComment.sdesk_deleteZsdesk_deletezCmfComment.sdesk_ux_check_permZsdesk_ux_check_permz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CmfPersonVar.sdesk_updatez CmfPerson.sdesk_get_current_userZ	CmfPersonZget_current_userz"CmfPerson.sdesk_get_org_units_listzCmfPerson.sdesk_mark_viewedZmark_viewedzCmfPerson.sdesk_updatezCmfPerson.sdesk_set_avatarZsdesk_set_avatarzCmfDocument.sdesk_getZCmfDocumentzCmfDocument.sdesk_listz&CmfDocument.sdesk_macros_page_tree_getZsdesk_macros_page_tree_getzCmfGlobalSettings.sdesk_listzCmfGlobalSettings.sdesk_getZCmfGlobalSettingsz-CmfGlobalSettings.sdesk_enabled_plugin_nclistZenabled_plugin_nclistz-CmfGlobalSettings.sdesk_html_clean_attributesZhtml_clean_attributesz CmfDeferredJob.sdesk_my_job_listZCmfDeferredJobZmy_job_listzCmfHtmlScheme.sdesk_getZCmfHtmlSchemezCmfHtmlScheme.sdesk_updateupdatezCmfGlobalSettings.sdesk_updatez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CmfTask.sdesk_feedbackZsdesk_feedbackz#CmfFullSearch.sdesk_fulltext_searchZCmfFullSearchZsdesk_fulltext_searchzCmfPerson.sdesk_getzCmfApprove.sdesk_getZ
CmfApprovezCmfApprove.sdesk_listzCmfApproveGroup.sdesk_getZCmfApproveGroupzCmfApproveGroup.sdesk_listz CmfTrans.sdesk_trans_ui_form_getZCmfTransZsdesk_trans_ui_form_getZ_classFZ_use_simple)split
ValueError
startswithZrpcendswith)r   r   argskwargsZproc_cls_nameZproc_methodZ
res_methodZ
use_simpler   r   r   rpc_prepare_method   sn   

















































































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   	 ur   N)Zcmf.includeZmodules.api.views.indexr   r   r   r   r   r   <module>   s   