
    *.+h8                     Z    d dl T d dlZ G d dej        j        j        j                  ZdS )    )*Nc                        e Zd ZdZej        j        j        j        j	        dgz   Z	 fdZ
d
dZed             Z fdZ fdZd	 Z xZS )CmfAssetCatTnested_listc                 :     t                      j        |i | d S N)super_save_import)selfargskwargs	__class__s      './modules/asset/models/cmf_asset_cat.pyr
   zCmfAssetCat._save_import
   s%    d-f-----    Fc                 d    | j         s|sd S g d}t          j                            | |           d S )N)name
logic_typecode	asset_catasset_types	asset_tag)is_newmodelsr   _scaffold_ui_form)r   forcefieldss      r   scaffold_ui_formzCmfAssetCat.scaffold_ui_form   sB    { 	5 	FXXX,,T6:::::r   c                 \   |j         dk    rdnd}t                              |j        ||          }|                                 t          |j        j        t          j                  r|j        j	        dv sdS |dk    r#|j
        sd|_
        |                                 n"|j        sd|_        |                                 t                              d|d	
          }|                                 |D ]3}t                              |||dd                                           4dS )uQ  
        Создает ui_form-у для актива/типа актива
        Args:
            cat (CmfAssetCat/CmfAssetTypeCat): Категория актива/категория типа актива
            fields (массив строк): Поля, которые надо добавлять на ui-форму
        r   CmfAssetCmfAssetType)r   cmf_model_nameparent)assetsr   NT_maingroup)r   r"   typeF)r   ui_form_groupr"   hidden
hide_empty)
class_namer   	CmfUiFormr   save
isinstancetree_parentvalue	CmfFoldersys_typeasset_ui_form_children_inherit	save_data#asset_type_ui_form_children_inheritCmfUiFormGroupCmfUiFormField)clscatr   
model_nameasset_ui_formr'   
field_names          r   r   zCmfAssetCat._scaffold_ui_form   s@    $'>]#B#BZZ
((chzZ](^^ 3?0&2BCC	O,0IIIF ##5  592:  :>7--7=W^-__  	 	J!!}][`mr "  dffff	 	r   c                 b     t                      j        |i |}|                                  |S r   )r	   r,   r   )r   r   r   resr   s       r   r,   zCmfAssetCat.save8   s4    egglD+F++
r   c                 N    t                                                      ddgz   S )Ndefault_logic_typeztree_parent.sys_type)r	   save_preload_fields)r   r   s    r   r@   zCmfAssetCat.save_preload_fields=   s+    ww**,, "80
 
 	
r   c                     t           j                            |           }|D ])}|                    |                                           *|S )uq   Костыль. Потом доработаем all_nested и включим в ORM или что-то такое)r.   )r   r   listextendr   )r   r   r   childschilds        r   r   zCmfAssetCat.nested_listB   sP    #((T(:: 	/ 	/EMM%++--....r   )F)__name__
__module____qualname__	api_allowmodulesassetr   cmf_asset_catr   api_methodsr
   r   classmethodr   r,   r@   r   __classcell__)r   s   @r   r   r      s        I-&4@LP
 
K. . . . .; ; ; ; ! ! [!F    

 
 
 
 

      r   r   )cmf.include"modules.asset.fields.cmf_asset_catrJ   rK   r   rL   r    r   r   <module>rS      sf        ) ) ) )C C C C C'-&4@ C C C C Cr   