B
    f                 @   s*   d dl T d dlmZ G dd dejZdS )    )*)cmf_componentc                   sp   e Zd Zejjdg Zdd Zdd Zdd Zdd	 Z	 fd
dZ
dd Z fddZdd fdd
Z  ZS )CmfComponentcreate_descr_documentc             C   s
   d| _ d S )NZcomponentlist)Zui_view_form)self r   )./modules/project/models/cmf_component.py_calc_ui_view_form   s    zCmfComponent._calc_ui_view_formc             C   s   | j js| jsd S t| j jtjr&d S t| j jtjrR| j j	  | j jdkrRd S | j r^| jr| j
}|s| j r| j jjdkr| j }n| j j
	  | j j
}tjj|dd}|stddd || _ d S tddd d S )N
components
CmfProject)tree_parentsys_typeu?   Проект не поддерживает КомпонентыT)abortun   Компоненты могут располагаться только в других компонентах)r   Z
is_changedZis_new
isinstancevaluemodelsr   Z	CmfFolderr   loadparent
class_nameget	cmf_alert)r   r   Zfolderr   r   r   _calc_tree_parent   s,    
zCmfComponent._calc_tree_parentc             C   s<   | j   | j jjdkr"| j | _n| j j  | j j| _d S )Nr   )r   r   r   r   r   )r   r   r   r   _calc_parent+   s
    

zCmfComponent._calc_parentc             C   sN   | j | _| j}x:|rH|r:|jjdkr:|j  d| j | _nP |j }qW d S )Nr   z / )nametextr   r   r   r   )r   r   r   r   r   _calc_fullname3   s    zCmfComponent._calc_fullnamec                s&   |    |   |   t j||S )N)r   r   r   supersave)r   argskwargs)	__class__r   r   r   >   s    zCmfComponent.savec             C   sV   |  dddg | jr"tddd tj| jd| j | d}|  || _|   d S )	Nr   r   descr_documentuC   Документ с описанием уже существует!T)r   u   Описание )r   r   r   )Zload_fieldsr!   r   r   ZCmfDocumentr   r   r   )r   r!   r   r   r   r   D   s    
z"CmfComponent.create_descr_documentc                s   t   dg S )NZtasks)r   project_perm_allow_fields)r   )r    r   r   r"   Q   s    z&CmfComponent.project_perm_allow_fieldsF)TEXKOM_db_deletec               sv   |r<x6t jjdd| ggdgdD ]}|j|  |  q W | j r\| jj|d|i| t	 j|d|i| d S )Nr
   IN)filterZfieldsr#   )
r   ZCmfTasklistr
   remover   r!   r   deleter   )r   r#   r   r   Ztask)r    r   r   r(   U   s     
zCmfComponent.delete)__name__
__module____qualname__r   r   Zapi_methodsr	   r   r   r   r   r   r"   r(   __classcell__r   r   )r    r   r      s   r   N)Zcmf.includeZmodules.project.fieldsr   r   r   r   r   r   <module>   s   