U
    J÷‰hü  ã                   @   s>   d dl T d dlT d dlmZ d dlmZ G dd„ dejƒZdS )é    )Ú*)Úcmf_comment)ÚCmfActiveEntityc                       s6   e Zd Z‡ fdd„Zddœ‡ fdd„
Zdd„ Z‡  ZS )	Ú
CmfCommentc                    s   t ƒ  ¡ ddg S )Nzdeal.idÚis_dummy)ÚsuperÚsave_preload_fields)Úself©Ú	__class__© ú#./modules/crm/models/cmf_comment.pyr   	   s    zCmfComment.save_preload_fieldsT)Únotifyc                   sf   | j r| j  ¡  | j  ¡  | jdkr,|  ¡  tƒ j|d|i|—Ž}| jsb| jdkrbtj	 
| dd¡ |S )Nr   r   ZcommentZ
after_save)ZdealÚloadÚemitZ	log_levelÚhandle_mention_personsr   Úsaver   ÚmodelsZCmfAutomationCrudTriggerZ	crud_hook)r	   r   ÚargsÚkwargsÚresr
   r   r   r      s    


zCmfComment.savec                 C   s¤   | j jrt| jjtƒsd S tƒ }tƒ }| j jrBttj	 
| j j¡ƒ}| j jr^ttj	 
| j j¡ƒ}dd„ || D ƒ}|r | j dg¡ |D ]}tjj| jd|d q†d S )Nc                 S   s   g | ]}|j d kr|‘qS ))ZCmfPersonGroupZ	CmfPersonZCmfRole)Ú
class_name)Ú.0Úobjr   r   r   Ú
<listcomp>$   s     
 z5CmfComment.handle_mention_persons.<locals>.<listcomp>ÚparentZmention)Zevent_person)ÚtextZ
is_changedÚ
isinstancer   Úvaluer   ÚsetÚoldr   ZCmfTaskZ
parse_textÚnewZload_fieldsZCmfEventZdo_event)r	   Zobjs_oldZobjs_newZnew_objsr   r   r   r   r      s    z!CmfComment.handle_mention_persons)Ú__name__Ú
__module__Ú__qualname__r   r   r   Ú__classcell__r   r   r
   r   r      s   r   N)Zcmf.includeZ
cmf.fieldsZmodules.crm.fieldsr   Zcommon.models.cmf_active_entityr   r   r   r   r   r   Ú<module>   s   