U
    Kfc                     @   s   d dl mZ d dlmZ d dlmZ d dlmZmZ d dl	m
Z
 d dlmZ ejrG dd dejZejee G d	d
 d
ejZejee n@G dd dejZejee G dd
 d
ejZejee dS )    )settings)admin)ReadOnlyField)AccessInviteAccess)format_html)defined_rolesc                   @   s(   e Zd ZdZdd Zdd Zdd ZdS )	AccessAdmin)user_full_nameinstitute_namehuman_readable_rolesmodified_atinstitute_created_atc                 C   s   |j j d|j j S N )user
first_name	last_nameselfobj r   //var/www/wikiazma_server/collaborators/admin.pyr
      s    zAccessAdmin.user_full_namec                 C   sf   g }|j D ]V}|tjkr$|d n6|tjkr:|d n |tjkrP|d n
|| |  S d S NOwnerzSuper AdminAdminrolesdr__ROLE_OWNER__append__ROLE_SUPER_ADMIN____ROLE_ADMIN__r   r   resultroler   r   r   r      s    




z AccessAdmin.human_readable_rolesc                 C   s$   t d|jj d|jj d|jdS Nz%<a href= '/admin/institute/institute/z'>z</a>)urlr   	instituteidnamer   r   r   r   r   !   s    zAccessAdmin.institute_nameN)__name__
__module____qualname__list_displayr
   r   r   r   r   r   r   r	   
   s   r	   c                   @   s,   e Zd ZdZdZdd Zdd Zdd Zd	S )
InviteAccessAdmin)modifireinvited_user_full_nameinvited_phoneinvited_emailr   r   
created_at)invited_userr3   r4   c                 C   s    |j r|j j d|j j S d S r   )r6   r   r   r   r   r   r   r2   *   s    z(InviteAccessAdmin.invited_user_full_namec                 C   s$   t d|jj d|jj d|jdS r&   r(   r   r   r   r   r   -   s    z InviteAccessAdmin.institute_namec                 C   sf   g }|j D ]V}|tjkr$|d n6|tjkr:|d n |tjkrP|d n
|| |  S d S r   r   r#   r   r   r   r   0   s    




z&InviteAccessAdmin.human_readable_rolesN)r,   r-   r.   r/   search_fieldsr2   r   r   r   r   r   r   r0   &   s
   r0   c                   @   s0   e Zd Zdd Zd
ddZdddZdZd	ZdS )r	   c                 C   s   dS NFr   r   requestr   r   r   has_add_permissionC   s    zAccessAdmin.has_add_permissionNc                 C   s   dS r8   r   r   r:   r   r   r   r   has_change_permissionF   s    z!AccessAdmin.has_change_permissionc                 C   s   dS r8   r   r<   r   r   r   has_delete_permissionI   s    z!AccessAdmin.has_delete_permission)r   r)   r   r   r   r   )r   r)   r   r   r   r   )N)Nr,   r-   r.   r;   r=   r>   r/   readonly_fieldsr   r   r   r   r	   A   s
   

c                   @   s0   e Zd Zdd Zd
ddZdddZdZd	ZdS )r0   c                 C   s   dS r8   r   r9   r   r   r   r;   V   s    z$InviteAccessAdmin.has_add_permissionNc                 C   s   dS r8   r   r<   r   r   r   r=   Y   s    z'InviteAccessAdmin.has_change_permissionc                 C   s   dS r8   r   r<   r   r   r   r>   \   s    z'InviteAccessAdmin.has_delete_permission)r1   r6   r)   r   keyr5   )r1   r6   r)   r5   r   )N)Nr?   r   r   r   r   r0   T   s
   

N)django.confr   Zdjango.contribr   rest_framework.fieldsr   Zcollaborators.modelsr   r   django.utils.htmlr   collaboratorsr   r   DJANGO_ADMIN_IS_ENABLED
ModelAdminr	   siteregisterr0   r   r   r   r   <module>   s   