o
    ï™4h¥  ã                   @   s0   d dl mZ d dlmZ d dlmZ dd„ ZdS )é    ©Úwraps)Úredirect)Úmessagesc                     s   ‡ fdd„}|S )z¤
    Decorator to restrict access based on one or more user roles.

    Usage:
        @role_required('employee')
        @role_required('employee', 'manager')
    c                    s   t ˆ ƒ‡‡ fdd„ƒ}|S )Nc                    sX   t | jdƒst | d¡ tdƒS | jjjˆ vr!t | d¡ tdƒS ˆ| g|¢R i |¤ŽS )NÚprofileu<   Perfil de usuÃ¡rio nÃ£o encontrado. Contate o administrador.Úloginu4   VocÃª nÃ£o tem permissÃ£o para acessar esta pÃ¡gina.Ú	dashboard)ÚhasattrÚuserr   Úerrorr   r   Úrole)ÚrequestÚargsÚkwargs)Úrequired_rolesÚ	view_func© ú(/var/www/html/rh/vacations/decorators.pyÚ_wrapped_view   s   z7role_required.<locals>.decorator.<locals>._wrapped_viewr   )r   r   ©r   )r   r   Ú	decorator   s   
z role_required.<locals>.decoratorr   )r   r   r   r   r   Úrole_required   s   r   N)Ú	functoolsr   Údjango.shortcutsr   Údjango.contribr   r   r   r   r   r   Ú<module>   s    