U
    oŒh`  ã                   @   s<   d dl mZ d dlmZ G dd„ deƒZG dd„ deƒZdS )é    )ÚBasePermission)ÚQc                   @   s   e Zd ZdZdd„ ZdS )ÚIsOwnerPermissionzS
    Custom permission to only allow owners of an object to edit or delete it.
    c                 C   s   |j |j kS ©N©Úuser)ÚselfÚrequestÚviewÚobj© r   úB/home/worker/MarketYantra/Yantra/yantra/permissions/permissions.pyÚhas_object_permission   s    z'IsOwnerPermission.has_object_permissionN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r      s   r   c                   @   s   e Zd Zdd„ Zdd„ ZdS )ÚCompanyPermissionc                 C   s   |j jS r   )r   Úis_authenticated)r   r	   r
   r   r   r   Úhas_permission   s    z CompanyPermission.has_permissionc                 C   s*   dS |j|jkp|jd kS tj |¡ ¡ S )NTr   )Úcompany)Úorganization)	r   r   r   r   Ú
created_byÚuserprofileÚobjectsÚfilterÚexists)r   r	   r
   r   ÚqFilterr   r   r   r      s       z'CompanyPermission.has_object_permissionN)r   r   r   r   r   r   r   r   r   r      s   r   N)Zrest_framework.permissionsr   Údjango.db.modelsr   r   r   r   r   r   r   Ú<module>   s   	