
    oi                     D    d dl  d dlmZ  G d dej                        Zy)    )*)cmf_trans_actionc                   L     e Zd Ze	 	 ddedef fd       Z fdZ fdZ xZ	S )CmfTransActionall_optionsmodels_filtersc                    |dk(  r|sg }|g dg}t        |   d||dd|S |dk(  r|sg }t        |   d||d|S |j                  dd       }	|j                  dd       }
|	r|
r|d	k7  rt        |   d|||||||d
|S t        j	                  |	      }t        ||
      }|st        d|	 d|
 d        |j                  d|
||d|S )Nwz_template)is_templatez==TT)relation_field_namefilterinclude_templateswz_template_target)r   r   cmf_model_namewz_field_namewz_value_obj)r   	object_idobject_fieldsmodels_listr   r   r   u   У модели u$    не существует поле abort)r   r   r    )superfield_options_listgetcmfutilget_model_by_namegetattr	cmf_alert)clsr   r   r   r   r   r   r   kwargsr   r   modelmodel_field	__class__s                #./common/models/cmf_trans_action.pyr   z!CmfTransAction.field_options_list   sZ   
 -/9:F7- $7"& 	  "667- $7   '**+;TB%))/4@]7Jn7\7- 	$7#+''-	 	 	 )).9e]3((88\]j\kltxy'u'' OMRX6COGMO 	O    c                 .    g d}t         |          |z   S )N)
logic_typer   eval_file_path
wz_operater
   r   )r   save_preload_fields)selffieldsr$   s     r%   r+   z"CmfTransAction.save_preload_fields6   s    
 w*,v55r&   c                 @   | j                   r| j                  | _        | j                  j	                         s)| j
                  j                  j	                         | _        | j                  j                  rt        dd       | j                  j                  rL| j                  r9t        j                  j                  | j                  j                        | _        nd | _        | j                  dk(  rt        j                   st        dd       | j                  ru| j"                  j$                   d| j"                   d| j                  j$                   d| j                   d| j&                  j$                   d| j&                   z   | _        | j*                  rq| j,                  ret.        j1                  | j*                  j2                        d	k(  r9t.        j1                  | j,                  j2                        d
k(  rt        dd       t5        | l  |i |S )NuX   Нельзя напрямую изменять поле bql, используйте ubqlTr   evalu   Использование bzPython недоступно в Вашей версии, обратитесь в Техническую поддержку.:z, z: CmfDocumentCmfListu^   Нельзя указывать местом создания документа список.)is_newcodenameworkflowload
transitionbql
is_changedr   ubqlmodelsCmfTaskubql2bqlvaluer(   configBZPYTHON_ENABLEDr*   captionr   	auto_textr
   r   r   get_class_name_by_ididr   save)r,   argsr!   r$   s      r%   rF   zCmfTransAction.saveA   s   ;;		DI}}!!# OO4499;DM88px|}99yy!>>22499??C??f$**  t  }A  B?? $ 7 78$//9J"T__MdMdLeeghlhwhwgxxz{((001D4G4G3HIJDN  7 7,,T-=-=-@-@A]R,,T-D-D-G-GHIUz  CG  Hw|T,V,,r&   )NNNFNN)
__name__
__module____qualname__classmethodbooldictr   r+   rF   __classcell__)r$   s   @r%   r   r      s?    VZIM-O-O7;-O -O^	6- -r&   r   N)cmf.includecommon.fieldsr   r   r   r&   r%   <module>rQ      s      *V-%44 V-r&   