U
    ld                     @   s*   d dl T d dlmZ G dd dejZdS )    )*)cmf_componentc                       s4   e Zd Zdd Zdd Z fddZdd Z  ZS )	CmfComponentc                 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 )NZ
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)selfr   Zfolder r   )./modules/project/models/cmf_component.py_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                    s   |    |   t j||S )N)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   namedescr_documentuC   Документ с описанием уже существует!Tr   u   Описание )r   r   r   )Zload_fieldsr   r   r   ZCmfDocumentr   r   r   )r   r   r   r   r   create_descr_document0   s    
z"CmfComponent.create_descr_document)__name__
__module____qualname__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   