U
    h[h                     @   s*   d dl T d dlmZ G dd dejZdS )    )*)cmf_trans_actionc                       sB   e Zd Zed
eed fddZ fddZ fdd	Z  Z	S )CmfTransActionNF)all_optionsmodels_filtersc              
      s   |dkr8|sg }|dddgg}t  jf ||dd|S |dd }	|dd }
|	r`|
r`|dkrt  jf |||||||d	|S t|	}t||
}|std
|	 d|
 dd |jf |
||d|S )Nwz_templateZis_templatez==T)relation_field_namefilterZinclude_templatescmf_model_namewz_field_nameZwz_value_obj)r   	object_idobject_fieldsmodels_listr   r   r	   u   У модели u$    не существует поле abort)r   r	   r   )superfield_options_listgetcmfutilZget_model_by_namegetattr	cmf_alert)clsr   r   r   r   r   r   r	   kwargsr
   r   ZmodelZmodel_field	__class__ #./common/models/cmf_trans_action.pyr      sD    


z!CmfTransAction.field_options_listc                    s   ddddddg}t   | S )N
logic_typer
   Zeval_file_path
wz_operater   wz_template_target)r   save_preload_fields)selfZfieldsr   r   r   r    .   s    z"CmfTransAction.save_preload_fieldsc                    s  | j r| j| _| j s&| jj | _| jjr:tddd | j	jrb| j	r\t
j| j	j| _nd | _| jdkr~tjs~tddd | jr| jj d| j d| jj d| j d| jj d| j  | _| jr| jrt| jjd	krt| jjd
krtddd t j||S )NuX   Нельзя напрямую изменять поле bql, используйте ubqlTr   evalu   Использование bzPython недоступно в Вашей версии, обратитесь в Техническую поддержку.:z, z: ZCmfDocumentZCmfListu^   Нельзя указывать местом создания документа список.)Zis_newcodenameZworkflowloadZ
transitionZbqlZ
is_changedr   ZubqlZmodelsZCmfTaskZubql2bqlvaluer   ZconfigZBZPYTHON_ENABLEDr   Zcaptionr
   Z	auto_textr   r   r   Zget_class_name_by_ididr   save)r!   argsr   r   r   r   r)   9   s0    

&zCmfTransAction.save)NNNFNN)
__name__
__module____qualname__classmethodbooldictr   r    r)   __classcell__r   r   r   r   r      s              'r   N)Zcmf.includeZcommon.fieldsr   r   r   r   r   r   <module>   s   