U
    Of                     @   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 fddZ fddZe fddZe fdd	Z fd
dZ	 fddZ
  ZS )CmfUiFormFieldzN
    https://bcrm.carbonsoft.ru/project/Document/DOC-012822#spec-012789-b
    c                    s   t   dg S )Nparent)supersave_preload_fields)self	__class__ !./cmf/models/cmf_ui_form_field.pyr   
   s    z"CmfUiFormField.save_preload_fieldsc                    s   | j   t j||S N)r   invalidate_cacher   saver   argskwargsr   r
   r   r      s    
zCmfUiFormField.savec                    s8   t  jf d|i|}tjj|ddgd}|j  |S Nobj_idz--r   )idfields)r   
move_abovemodelsr   getr   r   clsr   r   Zordernoobjr   r
   r   r      s    
zCmfUiFormField.move_abovec                    s8   t  jf d|i|}tjj|ddgd}|j  |S r   )r   
move_belowr   r   r   r   r   r   r   r
   r   r      s    
zCmfUiFormField.move_belowc                    s   t  j||}|S r   )r   _save_import)r   r   r   resr   r
   r   r       s    zCmfUiFormField._save_importc                    s<   |  ddg | jr$tddd d S | j  t j||S )Nsystemr   uV   Нельзя удалять системное поле, только скрыватьT)abort)Zload_fieldsr   Z	cmf_alertr   r   r   deleter   r   r
   r   r!   $   s    
zCmfUiFormField.delete)__name__
__module____qualname____doc__r   r   classmethodr   r   r   r!   __classcell__r
   r
   r   r   r      s   r   )Zcmf.includeZcmf.fields.cmf_ui_form_fieldZcmfr   Zcmf_ui_form_fieldr   r
   r
   r
   r   <module>   s   