U
    Įwh                     @   s*   d dl T d dlmZ G dd dejZdS )    )*)cmf_registryc                       s0   e Zd Z fddZdd Z fddZ  ZS )CmfRegistryc                    sX  | j jrD| j dkr*d| _d | _d| _n| j dkrJd| _d | _d| _n| 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| _nz| j d	krd	| _d | _d| _nZ| j d
krd
| _d | _d| _n8| j dkr.d| _d | _d| _n| j dkrNd| _d | _d| _n| j dkrnd| _d | _d| _n| j dkrd| _d | _d| _n| j dkrd| _d| _d| _n| j dkrd| _d | _d| _nv| j dkrd| _d | _d| _nV| j dkrd| _d | _d| _n6| j dkr.d| _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-blogZCmfDocumentCmfEvagitGroupu$   Данный тип реестра "u#   " не поддерживается)abort)	type
is_changedZ	obj_modelZobj_logic_prefixZallow_childrenZ	cmf_alertsystemsupersave)selfargskwargs	__class__ ./common/models/cmf_registry.pyr      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| _nx| j d	krld
| _nf| j dkr~d| _nT| j dkrd| _nB| j dkrd| _n0| j dkrd| _n| j dkrd| _n| j | _d S )Nr   Zblogr   Zregistrytestcaser   Zregistrytestplanr   Zregistrytestcycler   Zregistrytestconfigurationr	   Zregistrytestparamr
   Zregistrytestenvironmentr   Zregistrycourser   Zregistryquestionr   Zregistryquestionfolder)r   r   Zis_newZui_view_formZui_namelower)r   r   r   r   _calc_ui_view_formW   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!   q   s    


zCmfRegistry._calc_parent)__name__
__module____qualname__r   r   r!   __classcell__r   r   r   r   r      s   Qr   N)Zcmf.includeZcommon.fieldsr   r   r   r   r   r   <module>   s   