U
    TFd[
                     @   s*   d dl T d dlmZ G dd dejZdS )    )*)cmf_sdesk_sla_triggerc                   @   s   e Zd ZedddZdS )CmfSDeskSlaTriggerNc                 C   sv  g }|j jrF|j jr4|j jr(|d qF|d n|j jrF|d |jsT|jjr^|d |jjrp|d |r|j|j	ks|jj
s|d n
|d |sd S tjjdd	|jgd
d|ggddd
dgd}|D ]}|jdkr|jsq|jj|jjkrq|jdkrtj|j| |jdkrFtjj|d |jd}|rF|  |jdkrtjj|d |jd}|r|  qd S )Nzassignee-changedzassignee-clearedzassignee-setzissue-createdzstatus-type-changedzcomment-by-reporterzcomment-for-reporterzparent.parent=trigger_conditionINparenttrigger_typez"trigger_condition_status_code.code)filterZfieldsstartpause)r   Z	stop_timeZslastop)ZresponsibleZ
is_changedoldnewappendZis_newr   Zcache_status_typeZ	cmf_ownerZ
cmf_authorZ
user_localZmodelsr   listr   Ztrigger_condition_status_codecodestatusr	   ZCmfSDeskSlaCycleZstart_cyclegetr   r   )clsZtaskZcommentZ	triggeredZpossible_triggersZtriggercycle r   5./modules/servicedesk/models/cmf_sdesk_sla_trigger.pytask_changed_hook   sP    







z$CmfSDeskSlaTrigger.task_changed_hook)N)__name__
__module____qualname__classmethodr   r   r   r   r   r      s   r   N)Zcmf.includeZmodules.servicedesk.fieldsr   r   r   r   r   r   <module>   s   