U
    3cC                     @   sZ   d dl Z d dlZd dlZd dlT d dlmZ d dlmZ d dlm	Z	 G dd dej
Z
dS )    N)*)cmf_comment)Path)CmfActiveEntityc                       s*   e Zd Zdd fdd
Zdd Z  ZS )
CmfCommentF)forcec                   s   |  dg | j}|s.| jjdgdr.| jj}|r|jjdkrD|}n|j}|r|jjdkrtj| jkrz|j	d|d W q t
k
r   |j	d|d Y qX n|j	d|d td	|j d
| jji| d t j|d|i|S )Nparent.parentparentZfields
CmfProjectZ	CmfPersonzPPP-COM-DELETE-ALLobjzPPP-COM-DELETE-OWNzcomment-delete-id)Zevent_personsr   )load_fieldsr	   tree_parentloadvalue
class_namegcurrent_user	cmf_ownercheck_project_role_accessCmfPermissionErrorZcmf_emit_eventr   Zall_relation_personssuperdelete)selfr   argskwargsr	   project	__class__ ./common/models/cmf_comment.pyr      s"    "zCmfComment.deletec                 C   s   | j dkrd S | dg | j}|s<| jjdgdr<| jj}|jjdkrN|}n|j}|rh|rh|jjdkrld S | jr|jd|d nZ| j	j
rtj| jkrz|jd	|d W q tk
r   |jd
|d Y qX n|jd	|d d S )Nr   r   r	   r
   r   )ZCmfPipelineZCmfDealzPPP-COM-ADDr   zPPP-COM-EDIT-ALLzPPP-COM-EDIT-OWN)Z	log_levelr   r	   r   r   r   r   Zis_newr   textZ
is_changedr   r   r   r   )r   r	   r   r!   r!   r"   _check_project_perm*   s(    
zCmfComment._check_project_perm)__name__
__module____qualname__r   r$   __classcell__r!   r!   r   r"   r      s   r   )base64ZdatetimeZ	mimetypesZcmf.includeZ
cmf.modelsr   pathlibr   Zcommon.models.cmf_active_entityr   r   r!   r!   r!   r"   <module>   s   