
    eg                     D    d dl  d dlmZ  G d dej                        Zy)    )*)cmf_commentc                        e Zd Zej                  j
                  g dz   Zeddd       Zed        Z fdZ	d Z
eddd fd	
       Zedddd
       Z xZS )
CmfComment)public_list
public_getpublic_createpublic_deletepublic_updatepublic_create_dummyN)fieldsc                p     | j                   |i |ddi}t        j                  j                  ||      S )uN   Создаем dummy-комментарий и возвращает его getis_dummyT)idr   )r	   modelsr   sget)clsr   argskwargsnew_comment_ids        #./modules/api/models/cmf_comment.pyr   zCmfComment.public_create_dummy   s>     +**DJFJTJ   %%%GG    c                 z   d|v rLt         j                  r!t         j                  t         j                  k(  rt        j	                  |d         |d<    | j
                  |i |}|j                  j                          	 |j                  j                          |d   S # t        $ r t        dd       Y |d   S w xY w)Ntextu   Нет доступа!Tabortr   )gcurrent_personanonymous_usercmfutil
html_cleancreateparentload_acl_check_readCmfPermissionError	cmf_alert)r   r   r   ress       r   r	   zCmfComment.public_create   s    V%%)9)9Q=M=M)M$//v?F6Ncjj$)&)

	<JJ&&( 4y " 	<.d;4y	<s   >B B:9B:c                     | j                   j                          | j                   t        j                  k7  rt	        dd       y t        |   |i |S )Nu>   Нельзя удалять чужой комментарий!Tr   )
cmf_authorr$   r   r   r'   superdelete)selfr   r   	__class__s      r   r
   zCmfComment.public_delete'   sH    ??a...V^bcw~t.v..r   c                 @   d|v rLt         j                  r!t         j                  t         j                  k(  rt        j	                  |d         |d<   | j                  dg       | j                  t         j                  k7  rt        dd       y  | j                  |i |S )Nr   r*   uJ   Нельзя редактировать чужой комментарий!Tr   )	r   r   r   r    r!   load_fieldsr*   r'   update)r-   r   r   s      r   r   zCmfComment.public_update0   s    V%%)9)9Q=M=M)M$//v?F6N,(??a...bjnot{{D+F++r   r   filterc                   |sg }d|vr|j                  d       |sg }ng }|j                  |       |}|j                  g d       t        |   |||d|}	 |j                  j	                          |S # t
        $ r Y y w xY w)Nr#   )	log_levelz==r   r2   )appendr+   getr#   r%   r&   )r   r   r3   r   r   
outer_listr(   r.   s          r   r   zCmfComment.public_get<   s    F6!MM(#FJf%F,-gk4vHH	JJ&&( 
 " 		s   A7 7	BBc                   |sg }d|vr|j                  d       |sg }|j                  g d        | j                  |||d|}g }|D ].  }	 |j                  j                          |j                  |       0 |S # t        $ r Y >w xY w)Nr#   )r5   =r   r2   )r6   listr#   r%   r&   )r   r   r3   r   r   res_uncheckedr(   rs           r   r   zCmfComment.public_listU   s    F6!MM(#F+, $vfOO 	A((*

1		 
 & s   +A==	B	B	)__name__
__module____qualname__r   r   api_methodsclassmethodr   r	   r
   r   r   r   __classcell__)r.   s   @r   r   r      s    ((44 8
 
K /3 H H  /
, &*4  0 '+D  r   r   N)cmf.includemodules.servicedesk.modelsr   r    r   r   <module>rG      s     2d'' dr   