U
    [Se                     @   s*   d dl T d dlmZ G dd dejZdS )    )*)cmf_commentc                       sh   e Zd Zedd Z fddZedddddZeddd fd	d

ZedddddZ  Z	S )
CmfCommentc                 O   sz   d|kr,t jrt jt jkr,t|d |d< | j||}|j  z|j  W n  t	k
rp   t
ddd Y nX |d S )Ntextu   Нет доступа!Tabortid)gcurrent_personanonymous_usercmfutil
clean_textZcreateparentload_acl_check_readCmfPermissionError	cmf_alert)clsargskwargsres r   #./modules/api/models/cmf_comment.pypublic_create   s    

zCmfComment.public_createc                    s4   | j   | j tjkr&tddd d S t j||S )Nu>   Нельзя удалять чужой комментарий!Tr   )
cmf_authorr   r	   r
   r   superdelete)selfr   r   	__class__r   r   public_delete   s
    
zCmfComment.public_deleteNfieldsfilterc                O   sz   |sg }|sd S d|kr<t jr*t jt jkr<t|d |d< tjj|dgd}|jt jkrjt	ddd d S |j
|| d S )Nr   r   )r#   r"   uJ   Нельзя редактировать чужой комментарий!Tr   )r	   r
   r   r   r   Zmodelsr   getr   r   update)r   r"   r#   r   r   Zcommentr   r   r   public_update   s    
zCmfComment.public_updatec                   s   |sg }d|kr| d |s$g }ng }| | |}| dddg t j|||d|}z|j  W n tk
r   Y d S X |S )Nr   	log_levelz==r   r!   )appendr   r$   r   r   r   )r   r"   r#   r   r   Z
outer_listr   r   r   r   
public_get2   s     

zCmfComment.public_getc             	   O   s   |sg }d|kr| d |s"g }| dddg | j|||d|}g }|D ]6}z|j  | | W qP tk
r   Y qPY qPX qP|S )Nr   r'   =r   r!   )r(   listr   r   r   )r   r"   r#   r   r   Zres_uncheckedr   rr   r   r   public_listK   s     

zCmfComment.public_list)
__name__
__module____qualname__classmethodr   r    r&   r)   r-   __classcell__r   r   r   r   r      s   
	r   N)Zcmf.includeZmodules.crm.modelsr   r   r   r   r   r   <module>   s   