U
    )Ve                     @   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   s\  g }g }|j jrh|j jrL|j jr6|d |d qh|d |d n|j jrh|d |d |jsv|jjr|d |jjr|d |d |r|j|j	ks|jj
s|d |d n|d |d |sd S tjjdd	|jgd
d|ggddd
dgd}|D ]}|jdkrF|js0q|jj|jjkrFq|jdkrbtj|j| |jdkrtjj|d |jd}|r|  |jdkrtjj|d |jd}|r|  qtjjdd	|jgd
d|gdd	dggddd
dgd}|D ]^}	|	jdkr*|	jsq|	jj|jjkr*qtjj|d |	jd}|rtj|	j| 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   statusZ	cmf_ownerZ
cmf_authorZ
user_localZmodelsr   listr   Ztrigger_condition_status_codecoder	   ZCmfSDeskSlaCycleZstart_cyclegetr   r   )
clsZtaskZcommentZ	triggeredZopposite_triggeredZpossible_triggersZtriggercycleZopposite_triggersZopposite r   5./modules/servicedesk/models/cmf_sdesk_sla_trigger.pytask_changed_hook   s~    













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   