U
    5,h                     @   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r|j	 }|r||j
jkr|d |d |j
jr|d |d |rX|j|jks.|jjsD|d |d	 n|d	 |d |sbd S tjjd
d|jgdd|ggddddgd}|D ]}|jdkr|jsq|jj|j
jkrq|jdkrtj|j| |jdkrtjj|d |jdgd}|r|  |jdkrtjj|d |jdgd}|r|  qt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   stopFT)r   r   r   )ZresponsibleZ
is_changedoldnewappendZ
resolutionZis_newr   ZworkflowZget_default_statusstatusvalueZ	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default_statusZ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   