U
    QiI                     @   s*   d dl T d dlmZ G dd dejZdS )    )*)cmf_registryc                       sT   e Zd Zedd Z fddZ fddZdd Z fd	d
Z fddZ  Z	S )CmfRegistryc                 C   s   | j  d| j d| j S )N/)Z	ui_moduleui_namecodeself r
   ./common/models/cmf_registry.pyhref   s    zCmfRegistry.hrefc                    s   t   }|dg S Ntypesupersave_preload_fields)r	   Zpreload_fields	__class__r
   r   r   
   s    
zCmfRegistry.save_preload_fieldsc                    s  | j jr| j dkr*d| _d | _d| _nz| j dkrJd| _d | _d| _nZ| j dkrjd| _d | _d| _n:| j dkrd| _d | _d| _n| j dkrd| _d | _d| _n| j dkrd| _d | _d| _n| j d	krd	| _d | _d| _n| j d
krd
| _d | _d| _n| j dkr.d| _d | _d| _nv| j dkrPd| _d | _d| _nT| j dkrrd| _d | _d| _n2| j dkrd| _d | _d| _n| j dkrd| _d| _d| _n| j dkrd| _d | _d| _n| j dkrd| _d | _d| _n| j dkrd| _d | _d| _n| j dkr4d| _d | _d| _np| j dkrNd| _d | _nV| j dkrnd| _d | _d| _n6| j dkrd| _d | _d| _ntd| j  ddd d| _t j||S )NCmfTestcaseTCmfTestplanCmfTestcycleCmfTestConfigurationFCmfTestParamCmfTestEnvironment	CmfCourseCmfQuestionZ
CmfOrgShedCmfQuestionFolderzCmfExam-pollZ	CmfReportzCmfTask-epicZCmfTaskz	task.epicZCmfListCmfDocument-blogCmfDocument
CmfCompanyCmfEvagitGroupCmfRequ$   Данный тип реестра "u#   " не поддерживается)abort)	r   
is_changedZ	obj_modelZobj_logic_prefixZallow_childrenZ	cmf_alertsystemr   save)r	   argskwargsr   r
   r   r%      s    



















zCmfRegistry.savec                 C   s   | j js| jsd S | j dkr$d| _n| j dkr6d| _n| j dkrHd| _n| j dkrZd| _n| j d	krld
| _n| j dkr~d| _n| j dkrd| _n| j dkrd| _nz| j dkrd| _nh| j dkrd| _nV| j dkrd| _nD| j dkrd| _n2| j dkrd| _n | j dkrd| _n| j | _d S )Nr   Zblogr   Zregistrydocumentr   Zregistrycompanyr   Zregistrytestcaser   Zregistrytestplanr   Zregistrytestcycler   Zregistrytestconfigurationr   Zregistrytestparamr   Zregistrytestenvironmentr   Zregistrycourser   Zregistryquestionr   Zregistryquestionfolderr!   ZregistryreqZCmfReqFolderZregistryreqfolder)r   r#   Zis_newZui_view_formr   lowerr   r
   r
   r   _calc_ui_view_formj   s>    












zCmfRegistry._calc_ui_view_formc                    sB   | j dkr4tjjddd}| j|kr>|| _|   n
t   d S )Nr    Zapp_gitT)Zsys_typer$   )r   ZmodelsZ	CmfFoldergetparentZsave_preparer   _calc_parent)r	   r+   r   r
   r   r,      s    


zCmfRegistry._calc_parentc                    s   t   dg S r   r   r   r   r
   r   r      s    )
__name__
__module____qualname__propertyr   r   r%   r)   r,   __classcell__r
   r
   r   r   r      s   
\"	r   N)Zcmf.includeZcommon.fieldsr   r   r
   r
   r
   r   <module>   s   