U
    <Ægå  ã                   @   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rÞtj |j|¡ |jdkrtjj|d |jdgd}|r| ¡  |jdkrtjj|d |j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”qxt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rÈd}qÈ|rðqxtjj|d |
jd}|rxtj |
j|¡ qxd 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   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   