U
    Įwh                     @   s*   d dl T d dlmZ G dd dejZdS )    )*)cmf_commentc                       s   e Zd Zejjddddddg Zeddd	d
Zedd Z fddZ	dd Z
eddd fdd
ZedddddZ  ZS )
CmfCommentpublic_list
public_getpublic_createpublic_deletepublic_updatepublic_create_dummyN)fieldsc                O   s$   | j ||ddi}tjj||dS )uN   Создаем dummy-комментарий и возвращает его getZis_dummyT)idr   )r   Zmodelsr   sget)clsr   argskwargsZnew_comment_id r   #./modules/api/models/cmf_comment.pyr
      s    zCmfComment.public_create_dummyc                 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abortr   )gcurrent_personanonymous_usercmfutil
html_cleanZcreateparentload_acl_check_readCmfPermissionError	cmf_alert)r   r   r   resr   r   r   r      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   r   '   s
    
zCmfComment.public_deletec                 O   s`   d|kr,t jrt jt jkr,t|d |d< | dg | jt jkrTtddd d S | j||S )Nr   r!   uJ   Нельзя редактировать чужой комментарий!Tr   )	r   r   r   r   r   Zload_fieldsr!   r   updater$   r   r   r   r	   0   s    
zCmfComment.public_updater   filterc                   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"   getr   r   r   )r   r   r*   r   r   Z
outer_listr    r&   r   r   r   <   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   r   U   s     

zCmfComment.public_list)__name__
__module____qualname__r   r   Zapi_methodsclassmethodr
   r   r   r	   r   r   __classcell__r   r   r&   r   r      s$   	
	r   N)Zcmf.includeZmodules.servicedesk.modelsr   r   r   r   r   r   <module>   s   