U
    Af                     @   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jr|jjr|jjs|d n|jjs|jjr|d |js|jjr|d |jjr|d |d |r |j	|j
ks|j	js|d |d	 n|d	 |d |s*d S tjjd
d|jgdd|ggddddgd}|D ]}|jdkr|jstqX|jj|jjkrqX|jdkrtj|j| |jdkrtjj|d |jdgd}|r|  |jdkrXtjj|d |jd}|rX|  qXt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@t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rd}q|rq@tjj|d |	jd}|r@tj|	j| q@d S )Nzassignee-changedzassignee-clearedzassignee-setzresolution-setzresolution-clearedz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
resolutionZ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   