
    ifU                     V    d dl m Z  d dlT d dlmZ  G d dej        j                  ZdS )    )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d
S )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                    |                      dg           t          | j        j                  D ]~}|d         |d         k    rj|d         |d         k    r>| j                            |           |                     d           | j        j        c S | 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     	'###dj&'' 	% 	%A D$888W:g..J%%a(((III---:++++
!!!$$$
$		D	!!!zr   c                 |    	 | j                                          n# t          $ r Y d S w xY w | j        |g|R i |S r	   )parent_acl_check_readCmfPermissionErrorr   )r   r   r   r    s       r   r   zCmfLikeMixin.public_like    sb    	K''))))! 	 	 	44	ty///////s    
**N)__name__
__module____qualname__abstractr   FieldCmfLikesr   cmfmodels	CmfEntityapi_methodsr   r   r
   r   r   r   r      s        HFL2D!+eDJ J JE*&26
 
K
     "0 0 0 0 0r   r   N)r   cmf.includer,   r   r-   r.   r   r
   r   r   <module>r1      sn                    0  0  0  0  03:'  0  0  0  0  0r   