
     h                     D    d dl  d dlmZ  G d dej                        Zy)    )*)cmf_ui_form_fieldc                   h     e Zd ZdZ fdZ fdZe fd       Ze fd       Z fdZ	 fdZ
 xZS )CmfUiFormFieldzN
    https://bcrm.carbonsoft.ru/project/Document/DOC-012822#spec-012789-b
    c                 (    t         |          dgz   S )Nparent)supersave_preload_fields)self	__class__s    ../modules/settings/models/cmf_ui_form_field.pyr
   z"CmfUiFormField.save_preload_fields	   s    w*,z99    c                 V    | j                   j                          t        |   |i |S N)r   invalidate_cacher	   saver   argskwargsr   s      r   r   zCmfUiFormField.save   s'    $$&w|T,V,,r   c                     t        |   dd|i|}t        j                  j	                  |ddg      }|j
                  j                          |S Nobj_idz--r   )idfields )r	   
move_abovemodelsr   getr   r   clsr   r   ordernoobjr   s        r   r   zCmfUiFormField.move_above   O    '$=F=f=##''64:J'K

##%r   c                     t        |   dd|i|}t        j                  j	                  |ddg      }|j
                  j                          |S r   )r	   
move_belowr   r   r   r   r   r   s        r   r%   zCmfUiFormField.move_below   r#   r   c                 &    t        |   |i |}|S r   )r	   _save_import)r   r   r   resr   s       r   r'   zCmfUiFormField._save_import   s    g"D3F3
r   c                     | j                  ddg       | j                  rt        dd       y | j                  j	                          t        |   |i |S )Nsystemr   uV   Нельзя удалять системное поле, только скрыватьT)abort)load_fieldsr*   	cmf_alertr   r   r	   deleter   s      r   r.   zCmfUiFormField.delete#   sP    (H-.;;nvz{$$&w~t.v..r   )__name__
__module____qualname____doc__r
   r   classmethodr   r%   r'   r.   __classcell__)r   s   @r   r   r      sI    :-
    / /r   r   N)cmf.includemodules.settings.fieldsr   r   r   r   r   <module>r7      s     5%/&55 %/r   