U
    çì‘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   s2  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¡ |rd| dg¡ |j|jks:|jjsP| d	¡ | d
¡ n| d
¡ | d	¡ |snd 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rœtjj|d |jdg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ˆ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rØd}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cmf_owner.user_localz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load_fieldsZ	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   