o
    è°ÖhÉ  ã                   @   sB   d dl mZ d dlmZ d dlmZ d dlmZ G dd„ dƒZdS )é    )ÚHttpResponseForbidden)Úredirect)Úreverse)Úmessagesc                   @   s    e Zd ZdZdd„ Zdd„ ZdS )ÚAdminAccessMiddlewarez>Middleware to restrict Django admin access to only admin usersc                 C   s
   || _ d S )N)Úget_response)Úselfr   © r	   ú//var/www/html/ictaz-jobs/accounts/middleware.pyÚ__init__
   s   
zAdminAccessMiddleware.__init__c                 C   s|   |j  d¡r7|j dks|j dks|j  d¡s|j  d¡r!|  |¡S |jjr7|jjs7|jjs7t |d¡ t	dƒS |  |¡}|S )Nz/admin/z/admin/login/z/admin/jsi18n/z/static/z9You do not have permission to access the admin interface.zjobs:dashboard)
ÚpathÚ
startswithr   ÚuserÚis_authenticatedÚis_adminÚis_superuserr   Úerrorr   )r   ÚrequestÚresponser	   r	   r
   Ú__call__   s   


ÿ
þ

zAdminAccessMiddleware.__call__N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r	   r	   r	   r
   r      s    r   N)	Údjango.httpr   Údjango.shortcutsr   Údjango.urlsr   Údjango.contribr   r   r	   r	   r	   r
   Ú<module>   s
    