
    Y~h_                     @    d dl T d dlmZ  G d dej                  ZdS )    )*)cmf_componentc                        e Zd Zej        j        dgz   Zd Zd Zd Zd Z	 fdZ
 fdZd Z fd	Zd
d fd
Z fdZ xZS )CmfComponentcreate_descr_documentc                     d| _         d S )Ncomponentlist)ui_view_formselfs    )./modules/project/models/cmf_component.py_calc_ui_view_formzCmfComponent._calc_ui_view_form   s    +    c                    | j         j        s	| j        sd S t          | j         j        t
          j                  rd S t          | j         j        t
          j                  r0| j         j        	                                 | j         j        dk    rd S | j         r| j        r| j
        }|sN| j         rG| j         j        j        dk    r| j         }n*| j         j
        	                                 | j         j
        }t
          j                            |d          }|st          dd           || _         d S t          dd           d S )N
components
CmfProject)tree_parentsys_typeu?   Проект не поддерживает КомпонентыTabortun   Компоненты могут располагаться только в других компонентах)r   
is_changedis_new
isinstancevaluemodelsr   	CmfFolderr   loadparent
class_nameget	cmf_alert)r   r   folders      r   _calc_tree_parentzCmfComponent._calc_tree_parent   sp    + 	;	Fd&,f.ABB 	Fd&,f.>?? 	%**,,,(L88 	4; 	[F 5d. 5#)4DD!-FF$+00222!-4F%))f|)TTF j\dhiiii%DF  C  KO  	P  	P  	P  	P  	P  	Pr   c                     | j                                          | j         j        j        dk    r| j         | _        d S | j         j                                         | j         j        | _        d S )Nr   )r   r   r   r   r   r   s    r   _calc_parentzCmfComponent._calc_parent+   sb    !,<<*DKKK#((****1DKKKr   c                     | j         | _        | j        }|rH|r'|j        j        dk    r|j          d| j         | _        nd S |j                                        }|Fd S d S )Nr   z / )nametextr   r   r   r   )r   r   s     r   _calc_fullnamezCmfComponent._calc_fullname3   s    I	& 	9 {0;~MM*/??DI??		%16688K  	9 	9 	9 	9 	9r   c                     |                                   |                                  |                                   t                      j        |i |S N)r#   r%   r)   supersaver   argskwargs	__class__s      r   r-   zCmfComponent.save>   sT       uww|T,V,,,r   c                 b    |                                    t                      j        |i | d S r+   )r)   r,   _save_importr.   s      r   r3   zCmfComponent._save_importD   s7    d-f-----r   c                    |                      g d           | j        rt          dd           t                              | j        d| j         |           }|                                 || _        |                                  d S )N)r   r'   descr_documentuC   Документ с описанием уже существует!Tr   u   Описание )r   r'   r   )load_fieldsr5   r!   r   CmfDocumentr   r'   r-   )r   r5   s     r   r   z"CmfComponent.create_descr_documentH   s    ===>>> 	i[cghhhh++;0TY00 , 
 

 	,		r   c                 L    t                                                      dgz   S )Ntasks)r,   project_perm_allow_fieldsr   r1   s    r   r:   z&CmfComponent.project_perm_allow_fieldsU   s     ww0022gY>>r   F)TEXKOM_db_deletec                J   |rWt           j                            dd| ggdg          D ]0}|j                            |            |                                 1| j                                        r | j        j        |d|i|  t                      j        |d|i| d S )Nr   IN)filterfieldsr<   )
r   CmfTasklistr   remover-   r5   r   deleter,   )r   r<   r/   r0   taskr1   s        r   rD   zCmfComponent.deleteY   s     	++L$3OYeXf+gg  &&t,,,		##%% 	[&D&Z?OZSYZZZJ/?J6JJJJJr   c                 L    t                                                      dgz   S )Nr(   )r,   save_preload_fieldsr;   s    r   rG   z CmfComponent.save_preload_fieldsd   s     ww**,,x77r   )__name__
__module____qualname__r   r   api_methodsr   r#   r%   r)   r-   r3   r   r:   rD   rG   __classcell__)r1   s   @r   r   r      s       ,8#<
 
K, , ,P P P82 2 2	9 	9 	9- - - - -. . . . .  ? ? ? ? ? .3 	K 	K 	K 	K 	K 	K 	K8 8 8 8 8 8 8 8 8r   r   N)cmf.includemodules.project.fieldsr   r    r   r   <module>rP      sd        0 0 0 0 0 0_8 _8 _8 _8 _8=- _8 _8 _8 _8 _8r   