U
    [c'                     @   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 g }t|tj	j
r|pt|d	d }|rd
d |D }n| }|D ].}g }|tjkrdddg}||j|d qntd|	 d|
 dd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field_options_list_limitc                 S   s   g | ]}t t|qS  )getattrmodels).0Z
model_namer   r   #./common/models/cmf_trans_action.py
<listcomp>"   s     z5CmfTransAction.field_options_list.<locals>.<listcomp>Z
user_local=)r   u   DEV: FATAL У поля .u!    не указана модель)getsuperfield_options_listZcmfutilZget_model_by_namer   	cmf_alert
issubclassZcmfZfieldsZ
CmfRelBaserelated_modelsr   Z	CmfPersonextendlist)clsr	   r
   r   r   r   r   r   kwargsr   r   ZmodelZmodel_fieldresultsr   r   m	__class__r   r   r      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ubqlr   ZCmfTaskZubql2bqlvalueZ
logic_typeZconfigZIS_BOX_VERSIONZ
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   