
    ?fU                     d    d dl m Z  d dl d dlmZ  G d dej                  j
                        Zy)    )copy)*)fieldsc                       e Zd ZdZ ej
                  ej                  dd dd      Zej                  j                  j                  ddgz   Zd Zd	 Zy
)CmfLikeMixinTu   Нравитсяc                      g S N r
       ./cmf/fields/cmf_like_mixin.py<lambda>zCmfLikeMixin.<lambda>	   s     r   F)captiondefaultnullableno_acllikepublic_likec                    | j                  dg       t        | j                  j                        D ]y  }|d   |d   k(  s|d   |d   k(  rE| j                  j	                  |       | j                  d       | j                  j                  c S | j                  j	                  |       { | j                  j                  |       | j                  d       | j                  j                  S )u`   
        Функция враппер для контроля уникальности
        likesperson_loginemojiT)	only_data)load_fieldsr   r   valueremovesaveappend)selfr   argskwargsvs        r   r   zCmfLikeMixin.like   s     	'#djj&&' 	%A D$88W:g.JJ%%a(III-::+++

!!!$	% 	

$		D	!zzr   c                     	 | j                   j                           | j                  |g|i |S # t        $ r Y y w xY wr	   )parent_acl_check_readCmfPermissionErrorr   )r   r   r   r    s       r   r   zCmfLikeMixin.public_like    sH    	KK'') tyy//// " 		s   2 	>>N)__name__
__module____qualname__abstractr   FieldCmfLikesr   cmfmodels	CmfEntityapi_methodsr   r   r
   r   r   r   r      sW    HFLL2D!+eDJE**&&226
 
K
 "0r   r   N)r   cmf.includer,   r   r-   r.   r   r
   r   r   <module>r1      s$       03::''  0r   