U
    ]d                     @   s>   d dl mZ d dlT d dlT d dlmZ G dd dejZdS )    )fields)*)cmf_automation_crud_triggerc                       s0   e Zd Zedd Zdd Z fddZ  ZS )CmfAutomationCrudTriggerc                 C   sV  |j dkrdS |dkrt|tjs6td| dd |jdkrDdS |jsNdS |dd	d
dg d g}|jjrz|jjj	g}d g}|j
r|j
j	g}dddd gdd|jj	j ggdddd gdd|ggdddd gdd|jjggdddd gdd|jjggdddd gdd|ggdd|gdddgg}n|dkrt|tjsDtd| dd |jsPdS |dd	d
dg d g}|jjr~|jjj	g}d g}|j
r|j
j	g}dddd gdd|jj	j ggdddd gdd|ggdddd gdd|jjggdddd gdd|jjggdddd gdd|ggdd|gdddgg}n|ddddg |dkrDd|g}n|g}d g}|jrd|jjj	g}d g}|jr~|jjj	g}dddd gdd|j ggdddd gdd|ggdddd gdd|jggdddd gdd|jggdddd gdd|ggdddd gdd|ggdd|gdddgg}tjj|dgdddd d!d"d#d$gd%}d}	|D ]}
|
| d}	q<|	S )&N)ZCmfTaskZCmfDocumentZCmfDealZCmfList
CmfCommentCmfAttachmentFcommentuR   DEV: в crud_hook eval_type=comment передали не комментарий: Tabortr   zparent.logic_type_idzparent.activityzparent.scheme_wfroot_parent_idORcmf_model_name=
logic_typeINactivity	scheme_wfZprojectcrud_actionZdisabledZ
attachmentuO   DEV: в crud_hook eval_type=attachment передали не вложение: parent)Zcreateupdatesave	eval_typeZordernoZ	eval_codeZ	eval_fileZeval_file_pathcall_triggercall_trigger.eval_codecall_trigger.call_triggercall_trigger.eval_filecall_trigger.eval_file_path)filterZorder_byr   )
class_name
isinstanceZmodelsr   	cmf_alertZ	log_levelr   load_fieldsZlogic_type_idvaluer   r   r   r   r   idr   listrun)clsobjr   r   Zlogic_type_filterZproject_filterr   Zcrud_actionsZtrigger_listZhas_chandesZtrigger r(   :./modules/automation/models/cmf_automation_crud_trigger.py	crud_hook   s    










   	
z"CmfAutomationCrudTrigger.crud_hookc                 C   s2   |  | | jr.| ddddg | j| d S )Nr   r   r   r   )Zeval_bzpythonr   r!   r%   )selfr'   r(   r(   r)   r%   e   s    
 zCmfAutomationCrudTrigger.runc                    s^   | j dkr"| jdkr"td d| _| jdkrBtd| j ddd	 tjsPtd
 t j||S )Nr   Zbefore_saveu   События комментирования обрабатываются только в Методе вызова after_save. Выставлен Метод вызова after_saveZ
after_save)r   r   u/   Автоматизация для модели u    временно недоступна. Воспользуйтесь событием комментирования или событием добавления вложения или обратитесь в техническую поддержку.Tr	   u   Использование bzPython и Автоматизации недоступно в Вашей версии, обратитесь в Техническую поддержку.)r   r   r    r   ZconfigZBZPYTHON_ENABLEDsuperr   )r+   argskwargs	__class__r(   r)   r   l   s    
zCmfAutomationCrudTrigger.save)__name__
__module____qualname__classmethodr*   r%   r   __classcell__r(   r(   r/   r)   r      s   
\r   N)Zcmfr   Z
cmf.fieldsZcmf.includeZmodules.automation.fieldsr   r   r(   r(   r(   r)   <module>   s   