U
    Ef|                     @   sJ   d dl mZ d dlT d dlT d dlmZ d dlmZ G dd dejZdS )    )fields)*)cmf_automation_crud_trigger)CmfActiveEntityc                       s0   e Zd Zedd Zdd Z fddZ  ZS )CmfAutomationCrudTriggerc                 C   s  |j dkrdS |j dkr0tt|j ts0dS |dkrHt|tjsXt	d| dd |j
dkrfdS |jspdS |d	d
ddg d g}t|jdr|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krZt|tjsrt	d| dd |js~dS |d	d
ddg d g}t|jdr|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rd|g}n|g}d g}|jr|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%d&gd'}d}	|D ]}
|
| d}	qz|	S )(N)ZCmfTaskZCmfDocumentZCmfDealZCmfList
CmfCommentCmfAttachmentFr   commentuR   DEV: в crud_hook eval_type=comment передали не комментарий: Tabortr   zparent.logic_type_idzparent.activityzparent.scheme_wf
project_idlogic_type_idORcmf_model_name=
logic_typeINactivity	scheme_wfZfilter_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_byZcache_inmemoryr   )
class_name
issubclasstyper   loadr   
isinstanceZmodelsr   	cmf_alertZ	log_levelload_fieldshasattrr   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+   i   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   )r1   argskwargs	__class__r.   r/   r   p   s    
zCmfAutomationCrudTrigger.save)__name__
__module____qualname__classmethodr0   r+   r   __classcell__r.   r.   r5   r/   r      s   
`r   N)	Zcmfr   Z
cmf.fieldsZcmf.includeZmodules.automation.fieldsr   Zcommon.models.cmf_active_entityr   r   r.   r.   r.   r/   <module>   s
   