
    LPhC
                     h    d dl  d dlZ G d dej                  j                  j
                        Zy)    )*Nc                   :     e Zd Zd Z fdZd Z fdZd Z xZS )CmfCustFieldConfFieldc                     | j                   j                          t        j                  j	                  | | j                          y )N)cust_field_obj)
cust_fieldloadmodelsCmfCustFieldcheck_filter_optionsselfs    )./cmf/models/cmf_cust_field_conf_field.py_calc_filter_optionsz*CmfCustFieldConfField._calc_filter_options   s/    00doo0V    c                 *    t         |          g dz   S )N)namecaptionorig_captionparentr   default)supersave_preload_fields)r   	__class__s    r   r   z)CmfCustFieldConfField.save_preload_fields
   s    w*,/uuur   c                    | j                   j                  j                  d      }|d   }d }t        |      dkD  r|d   }t        j
                  j                  |   }|s|j                  | _        y t        |t        j                  j                        r9t        t              |j                     j                  |   j                  | _        y t        d| j                    dd       y )N.r      u*   Конфигурирование поля u"    не поддерживаетсяTabort)r   valuesplitlenr
   CmfTaskfieldsr   r   
issubclasscmfCmfRelationvarsmodel	cmf_alert)r   field_names
field_namefield_name_subnamefields        r   _calc_orig_captionz(CmfCustFieldConfField._calc_orig_caption   s    iioo++C0 ^
!{a!,Q%%j1! %Dszz556 $VU[[ 9 @ @AS T \ \DB499+Mopx|}r   c                 D   | j                          | j                          | j                  st        dd       | j                  rXt
        j                  j                  j                  | j                  j                        st        d| j                   dd       | j                          | j                  ret
        j                  j                  dd| j                  gdd| j                  gd	d
| j                  gg      rt        d| j                   dd       | j                   rMt#        | j                   j                  t$              rd| j                   vrt        d| j                    dd       | j                  j'                          t)        | T  |i |S )Nu5   Имя поля не может быть пустымTr   u   Поля с именем u    нет в системеr   z==r   idz!=)filteru   Настройка поля u,    уже есть в конфигурацииr    ua   Не правильный формат хранения значения по умолчанию u6   , используйте пример dict(value=None))
_calc_namer   r   r*   r   r
   r#   r$   getr    r/   is_newr   sgetr   r1   r   
isinstancedict
calc_cacher   save)r   argskwargsr   s      r   r:   zCmfCustFieldConfField.save   so   !!#yyMUYZ??6>>#8#8#<#<TYY__#M1$))<UV^bc!;;677<<fdSWS\S\E]FNtUYU`U`EaFJDRVRYRYEZE\< ] 4TYYK?kltxy<<DLL,>,>!EX\XdXdIdyz~  {G  {G  zH  H~    GK  L w|T,V,,r   c                 l    | j                   s| j                  sy | j                  j                   | _         y )N)r   r   r   s    r   r3   z CmfCustFieldConfField._calc_name/   s#    99DOOOO((	r   )	__name__
__module____qualname__r   r   r/   r:   r3   __classcell__)r   s   @r   r   r      s    Wv~-&)r   r   )cmf.include$cmf.fields.cmf_cust_field_conf_fieldr&   r$   cmf_cust_field_conf_fieldr    r   r   <module>rF      s'     +-)CJJ@@VV -)r   