U
    e                     @   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g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rt|	jsqtjjdd	|	jgd
d	dgdd	dggdgd}
d}|
D ]}|jj|jjkrLd}qL|rt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)filterfieldsstartpauseZpaused)r   	stop_timeslar   stop)r   r   r   FT)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oppositeZpaused_triggersskipp 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   