U
     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 qd 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   