o
    úÀ,hp  ã                   @   sD   d dl mZ d dlmZ d dlmZ d dlmZ G dd„ deƒZdS )é    )ÚMiddlewareMixin)Úredirect)Úreverse)Úmessagesc                   @   s   e Zd ZdZdd„ ZdS )ÚRoleMiddlewarezl
    Middleware to handle role-based access control
    Adds user role to request context for templates
    c                 C   s^   |j jsdS |j d¡rdS t|j dƒr|j jj|_dS |jtdƒkr-t	 
|d¡ tdƒS dS )z.Process the request before it reaches the viewNz/static/ÚprofileÚlogoutuH   Seu perfil nÃ£o estÃ¡ configurado corretamente. Contate o administrador.)ÚuserÚis_authenticatedÚpathÚ
startswithÚhasattrr   ÚroleÚ	user_roler   r   Úerrorr   )ÚselfÚrequest© r   ú(/var/www/html/rh/vacations/middleware.pyÚprocess_request   s   üzRoleMiddleware.process_requestN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r      s    r   N)	Údjango.utils.deprecationr   Údjango.shortcutsr   Údjango.urlsr   Údjango.contribr   r   r   r   r   r   Ú<module>   s
    