
    +Yh&                     6    d dl T d dlmZ  G d de          ZdS )    )*)CmfAssetSchemec                   N     e Zd Zd Z fdZ fdZ fdZ fdZd Zd Z	 xZ
S )r   c                    t           j                            | d          s1t                               | | ddd                                          }t           j                            | d          s1t                               | | ddd                                          }t           j                            | d          s3t                               | | dd	d                                          }d S d S )
Nu   Активы)parentnameassetsT)tree_parentr   r   sys_typesystemu   Типы активовasset_typesu   Локации	locations)models	CmfFoldergetsave)selfassets_folderasset_types_folderlocations_folders       *./modules/asset/models/cmf_asset_scheme.py_scaffold_assetszCmfAssetScheme._scaffold_assets   s>   ##4n#EE 	H",,dQ_jr{,  A  A  F  F  H  HM##46O#PP 	^"("2"2tDWp  |I  RV"2  #W  #W  #\  #\  #^  #^##46F#GG 	P%//DTdoz  DH/   I   I   N   N   P   P	P 	P    c                     |                                   | j        } t                      j        |i | |r|                                  d S d S N)_calc_asset_code_prefixis_newsuperr   r   )r   argskwargsr   	__class__s       r   r   zCmfAssetScheme.save   sa    $$&&&d%f%%% 	$!!#####	$ 	$r   c                 b    |                                    t                      j        |i | d S r   )r   r   _save_importr   r   r    r!   s      r   r#   zCmfAssetScheme._save_import   s7    $$&&&d-f-----r   c                 L    t                                                      dgz   S )Nr   )r   save_preload_fields)r   r!   s    r   r&   z"CmfAssetScheme.save_preload_fields   s(    ww**,,0
 
 	
r   c                     | j                                          | j         rt          dd            t                      j        |i | d S )Nu?   Запрещено удалять системную схемуTabort)r   load	cmf_alertr   deleter$   s      r   r,   zCmfAssetScheme.delete   sX    ; 	eW_cdddd''''''r   c                    | j         j        sd S | j         j                                        | _         |                     | j                    |                     | j         dz              t
          j                            | d          D ],}|                    d           |	                                 -t
          j
                            | d          D ],}|                    d           |	                                 -d S )NTT)r   include_deleted)from_recalculate)asset_code_prefix
is_changedvalueupper_check_code_prefix_uniqr   CmfAssetlist
_calc_coder   CmfAssetType)r   asset
asset_types      r   r   z&CmfAssetScheme._calc_asset_code_prefix$   s    "-	 F!%!7!=!C!C!E!E$$T%;<<<$$T%;c%ABBB _))t)LL 	 	Ed333JJLLLL -22$PT2UU 	 	J!!4!888OO	 	r   c                 H   |dk    s|dk    s|dk    s|| j         k    rt          d| d           t          j                            dd| j        gd	d
|ggdgd          }|rt          d| d|j         dd           t          j                            dd| j        gdd
|ggdgd          }|rt          d| d|j         dd           t          j                            dd| dgdd| ggdgd          }|r"t          d| d|j	        j         d           d S d S )NTSKA	NOPROJECTuH   Нельзя использовать системный префикс Tr(   idz!=r1   =r   )filterfieldsr/   u   Код u.    уже используется схемой u   . Выберите другойtask_code_prefixu2    уже используется проектом codeLIKEz-%projectzproject.nameu8    ранее использовался проектом u   . Это может привести к пропускам в нумерации кодов. Если это нежелательно - укажите другой префикс)
code_prefixr+   r   r   r   r@   r   
CmfProjectCmfTaskCodeHistoryrG   )r   rH   scheme_with_prefixproject_with_prefix	code_useds        r   r5   z&CmfAssetScheme._check_code_prefix_uniq<   s    %#%%+--$"222nalnnvz{{{{#2664),?k+RS8  7 
 

  	" 8 8 8[m[r 8 8 8 " " " " %/334),>[+QR8  4 
 

  	" 8 8 8_r_w 8 8 8 " " " "
 -11V%7%7%789dD:QR"#  2 
 
	
  	q  p p peneve{ p p p q q q q q	q 	qr   )__name__
__module____qualname__r   r   r#   r&   r,   r   r5   __classcell__)r!   s   @r   r   r      s        P P P$ $ $ $ $. . . . .
 
 
 
 

( ( ( ( (  0+q +q +q +q +q +q +qr   r   N)cmf.include%modules.asset.fields.cmf_asset_schemer    r   r   <module>rU      sk        @ @ @ @ @ @bq bq bq bq bq^ bq bq bq bq bqr   