B
    ifU                 @   s8   d dl m Z  d dlT d dlmZ G dd dejjZdS )    )copy)*)fieldsc               @   sL   e Zd ZdZejejddd dddZej	j
jddg Zd	d
 Zdd ZdS )CmfLikeMixinTu   Нравитсяc               C   s   g S )N r   r   r   ./cmf/fields/cmf_like_mixin.py<lambda>	       zCmfLikeMixin.<lambda>F)ZcaptiondefaultZnullableZno_acllikepublic_likec             O   s   |  dg x`t| jjD ]P}|d |d kr|d |d kr^| j| | jdd | jjS | j| qW | j| | jdd | jjS )u`   
        Функция враппер для контроля уникальности
        likesZperson_loginZemojiT)Z	only_data)Zload_fieldsr   r   valueremoveZsaveappend)selfr   argskwargsvr   r   r   r      s    zCmfLikeMixin.likec             O   s6   y| j   W n tk
r"   d S X | j|f||S )N)parentZ_acl_check_readZCmfPermissionErrorr   )r   r   r   r   r   r   r   r       s
    zCmfLikeMixin.public_likeN)__name__
__module____qualname__Zabstractr   ZFieldZCmfLikesr   cmfmodels	CmfEntityZapi_methodsr   r   r   r   r   r   r      s   
r   N)r   Zcmf.includer   r   r   r   r   r   r   r   r   <module>   s   