
    oiG                     P    d dl m Z  d dl d dlmZ  G d dej                        Zy)    )copy)*)cmf_cust_field_conf_schemec                   P    e Zd Zd Zed        Zd Ze ed      d               Z	y)CmfCustFieldConfSchemec                     | j                  dg       | j                  D ]&  }|j                  j                  j	                          ( y)u-   DEPRECATED не копировать
        z,cust_field_conf_scheme_rules.cust_field_confN)load_fieldscust_field_conf_scheme_rulescust_field_confvalue
calc_cache)selfrules     -./common/models/cmf_cust_field_conf_scheme.py
cache_hookz!CmfCustFieldConfScheme.cache_hook   sC     	HIJ55 	4D  &&113	4    c                    fdi }g d}dd|gddd|ggg dgdd	d|ggg d
gddd|ggg dgg}	t         j                  j                  |	|dg      }
|
r(|
j                  j                  D ]   t         j
                  j                  j                        |j                  j                  <   |j                  j                     |j                  j                  = wj                  d      }|j                  j                     D ]]  }|dk(  r%|d    |d   |j                  j                     d<   -|j                  |      ?||   |j                  j                     |<   _ |d   dk7  r|d   |j                  j                     d<   |d   |d   |j                  j                     d<   |d   r|d   |j                  j                     d<   |
j                  j                  j                  |j                  j                     d<   d|j                  j                     d<   j                  sՉj                  j                  j                  |j                  j                     d<    d}|
rl|
j                  r`|
j                  j                  j                  |
j                  j                  j                  |
j                  j                  j                  d}||fS )u   
        DEPRECATED не копировать
        Для совместимости со старым функционалом генерирует json настройки полей
        c                    d }|j                  d      ^}}| j                  j                  |      s-t        j	                  dj
                  j                          y |r? t        t              | j                  |   j                     dj                  |            S t        | j                  |   j                        S )N.u(   Поля в задаче еще нет: )splitfieldsgetgdebugnamer   varsmodelsmodeljoinr   ui_meta)r   
field_name	sub_namesr   get_metas      r   r#   z7CmfCustFieldConfScheme.ui_fields_json.<locals>.get_meta   s    I%/%5%5c%:"J<<##J/B?CWCWC]C]B^_`VU\\*-E-K-K LchhW`NabbZ08899r   )logic_typesz$cust_field_conf.cust_field_configs.*z?cust_field_conf.cust_field_configs.cust_field.field_custom_typeparent==ORr$   IN)r$   r&   Nparent_logic_types)r)   r&   N
activities)r*   r&   Nz-orderno)filterr   order_byNdict)typereadonlyfield_readonlydefault_NONE_requireddisabled_choicescust_field_conf_idfield_custom_type)idcoder   )r   CmfCustFieldConfSchemeRuler   r   cust_field_configsCmfTaskr   r   dumpsr7   
cust_fieldr6   r8   )cls	scheme_id
logic_typeactivityproject_logic_typeargskwargsresult_fields_filterr   cust_field_dictkeycust_field_configr   r#   s                 @@r   ui_fields_jsonz%CmfCustFieldConfScheme.ui_fields_json   s#   	:  LdI.=$=?Z[/8J7KLNpq<z:<VWY 0044GG_i^j4k#'#7#7#J#J A5=fnnoNbNbNhNh5i++112/..445=3399:"1"7"7V"7"D!/"6"6"<"<= 	WCj(_=M-N-ZIXYiIj3399::F 
 '**3/;BQRUBV3399:3?	W #9-9DST]D^F?//556yA":.:ETU_E`F?//556zB"#56M\]oMpF?//5567IJ LPK_K_KbKbKhKh++1123GHJN++1123FG"--N]NhNhNzNz  OA  OAF?//5567JK=AB !D((**--33,,1177,,1177! (((r   c                 L    d| j                   j                  i}t        d|       y)ux   
        DEPRECATED не копировать
        Сбрасываем кеш настройки полей
        r?   CmfCustFieldConfScheme:changedN)r7   r   cmf_emit_server_event)r   datas     r   invalidate_cachez'CmfCustFieldConfScheme.invalidate_cacheR   s!    
 TWW]]+>Er   rM   )channelc                 l    t         j                  j                         D ]  \  }}| d   |v s|| d   =  y)ue   DEPRECATED не копировать

        Args:
            data (_type_): _description_
        r?   N)APPcache_cust_field_config_schemeitems)rO   _kwargs_ui_form_caches       r    on_cust_field_conf_scheme_changez7CmfCustFieldConfScheme.on_cust_field_conf_scheme_changeZ   sA     !$ B B H H J 	5A}K M1!${"34	5r   N)
__name__
__module____qualname__r   classmethodrK   rP   staticmethodon_server_eventrY    r   r   r   r      sF    4 @) @)DF =>5 ? 5r   r   N)r   cmf.includecommon.fieldsr   r   r`   r   r   <module>rc      s#      4]57NN ]5r   