U
    g                     @   s*   d dl T d dlZG dd dejjjZdS )    )*Nc                       sd   e Zd ZdZejjjjdg Zdd Z	 fddZ
 fddZd	d
 fdd
Z fddZ  ZS )CmfCustFieldConfTcopyc                 C   s   g }g }|  ddg tjj| dgdD ]H}|jj|krP||jj |j  |jjD ]}||krX|| qXq(| j	D ]}||krx|  qx|| _	|| _
dS )u-   DEPRECATED не копировать
        cache_schemescache_projectszparent.projects)Zcust_field_conffieldsN)Zload_fieldsmodelsZCmfCustFieldConfSchemeRulelistparentvalueappendZinvalidate_cacheprojectsr   r   )selfZschemesr   ZruleZprojectscheme r   #./cmf/models/cmf_cust_field_conf.py
calc_cache
   s    


zCmfCustFieldConf.calc_cachec                    s   t   ddg S )Nr   r   )supersave_preload_fields)r   	__class__r   r   r      s    z$CmfCustFieldConf.save_preload_fieldsc                    s   |    t j||S )N)r   r   save)r   argskwargsr   r   r   r   !   s    zCmfCustFieldConf.saveF)TEXKOM_db_deletec                   s@   t jj| |dD ]}|j|d|i| qt j|d|i|S )N)r
   Zinclude_deletedr   )r   CmfCustFieldConfFieldr	   deleter   )r   r   r   r   
field_confr   r   r   r   %   s    zCmfCustFieldConf.deletec                    s6   t  j||}tjj| dD ]}|j|j|d q|S )N)r
   )namer
   )r   r   r   r   r	   r   )r   r   r   resr   r   r   r   r   *   s    zCmfCustFieldConf.copy)__name__
__module____qualname__Z	api_allowcmfr   cmf_cust_field_confr   Zapi_methodsr   r   r   r   r   __classcell__r   r   r   r   r      s   
r   )Zcmf.includeZcmf.fields.cmf_cust_field_confr#   r   r$   r   r   r   r   r   <module>   s   