U
    Pdn                     @   sD   d dl m Z  d dlT d dlZd dlmZ G dd dejjjj	Z	dS )    )cached_property)*N)JiraApic                   @   st   e Zd Zejjjjjd Ze	dd Zdd Z
dd Zdd	 Zed
d ZedddZdd Zdd Zdd ZdS )CmfPluginJira)jirac              	   C   sP   |  dddddddg t| jjj| jjj| jjj| jjj| jjj| jj	jdS )	Npluginzplugin.ext_urlzplugin.ext_loginzplugin.ext_tokenzplugin.ext_passwordzplugin.cloudzplugin.verify_ssl)ZurlZlogintokenZpassword
verify_sslcloud)
Zload_fieldsr   r   Zext_urlvalueZ	ext_loginZ	ext_tokenZext_passwordr	   r
   )self r   (./modules/jira/models/cmf_plugin_jira.pyr      s        zCmfPluginJira.jirac                 C   s(   ddl m} ddlm} || j| S )Nr   JiraAPIImportJiraCSVImport)modules.jira.api_importr   modules.jira.csv_importr   r   tmplt_import_settingsr   
cmf_importr   r   r   r   r   r      s    z#CmfPluginJira.tmplt_import_settingsc                 C   s>   ddl m} ddlm} |jdkr2|| j| S || S )Nr   r   r   Zapi)r   r   r   r   typer   previewr   r   r   r   r      s
    
zCmfPluginJira.previewc                 C   s.   ddl m} ddlm} d|_|| j| S )Nr   r   r   u#   Импорт данных из Jira)r   r   r   r   namer   process_importr   r   r   r   r       s    zCmfPluginJira.process_importc               
   C   s   dt j t jjddt j t jjddt j t jjddt j t jjddt j t jjddt j t jjddt j	 t j	jdg} | S )	uR   Собственный магазин при выборе импорта из Jirau   Поля контактов)Zcaptionfieldsiconu   Поля организацийu   Поля задачu   Поля заметокu   Поля проектовu"   Поля списков задачu   Поля групп)
modelsZ	CmfPersonZimport_shop_fieldsr   Z
CmfCompanyZCmfTaskZ
CmfCommentZ
CmfProductZ
CmfProjectZCmfPersonGroup)resr   r   r   calc_models_settings&   s    	z"CmfPluginJira.calc_models_settings)cmf_import_idc             
   O   s   ddl m} g }zdd | j D }W n` tk
r } zBt| tjj	|ddgd}dd || j|
 D }|sx W 5 d }~X Y nX |S )	Nr   r   c                 S   s   g | ]}|qS r   r   .0objr   r   r   
<listcomp>8   s     z2CmfPluginJira.get_all_projects.<locals>.<listcomp>r   zplugin.plugin.*)idr   c                 S   s   g | ]}|qS r   r   r"   r   r   r   r%   =   s     )r   r   r   get_projects	Exceptiongdebugr   Z	CmfImportgetZ_get_projects)r   r!   argskwargsr   r   er   r   r   r   get_all_projects4   s    
zCmfPluginJira.get_all_projectsc                 O   s   t dd | j D S )uE   
        Проверяем подключение к апи
        c                 S   s   g | ]}|qS r   r   r"   r   r   r   r%   F   s     z&CmfPluginJira.test.<locals>.<listcomp>)boolr   r'   )r   r,   r-   r   r   r   testB   s    zCmfPluginJira.testc                 C   s   ddl m} || j| S Nr   r   )r   r   r   download_datar   r   r   r   r   r   r3   H   s    zCmfPluginJira.download_datac                 C   s   ddl m} || j| S r2   )r   r   r   download_filesr4   r   r   r   r5   L   s    zCmfPluginJira.download_filesN)__name__
__module____qualname__modulesr   r   cmf_plugin_jirar   Zui_meta_skipr   r   r   r   staticmethodr    strr/   r1   r3   r5   r   r   r   r   r      s   

r   )
r   Zcmf.includeZ#modules.jira.fields.cmf_plugin_jirar9   Zmodules.jira.apir   r   r   r:   r   r   r   r   r   <module>   s   