U
    {yd	                     @   s*   d dl T d dlmZ G dd dejZdS )    )*)cmf_trans_actionc                       s6   e Zd Zedeed fddZ fddZ  ZS )	CmfTransActionNF)all_optionsmodels_filtersc              
      s   | dd }	| dd }
|	r(|
r(|dkrJt jf |||||||d|S t|	}t||
}|sztd|	 d|
 dd |jf |
||d	|S )
Ncmf_model_namewz_field_nameZwz_value_obj)relation_field_name	object_idobject_fieldsmodels_listr   r   filteru   У модели u$    не существует поле Tabort)r	   r   r   )getsuperfield_options_listZ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      s.    


z!CmfTransAction.field_options_listc                    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  | _t j||S )	NuX   Нельзя напрямую изменять поле bql, используйте ubqlTr   evalu   Использование bzPython недоступно в Вашей версии, обратитесь в Техническую поддержку.:z, z: )Zis_newcodenameZworkflowloadZ
transitionZbqlZ
is_changedr   ZubqlZmodelsZCmfTaskZubql2bqlvalueZ
logic_typeZconfigZBZPYTHON_ENABLEDZ
wz_operateZcaptionr   Z	auto_textr   save)selfargsr   r   r   r   r!   !   s$    

&zCmfTransAction.save)NNNFNN)	__name__
__module____qualname__classmethodbooldictr   r!   __classcell__r   r   r   r   r      s              r   N)Zcmf.includeZcommon.fieldsr   r   r   r   r   r   <module>   s   