o
    ÀFf~  ã                   @   s8   d dl mZ d dlmZ d dlmZ G dd„ deƒZdS )é    )ÚHttpResponseRedirect)Úmessages)Úreverse_lazyc                       s4   e Zd ZdZdZdd„ Zdd„ Z‡ fdd„Z‡  ZS )	ÚValidatePermissionRequiredMixinÚ Nc                 C   s.   g }t | jtƒr| | j¡ |S t| jƒ}|S )N)Ú
isinstanceÚpermission_requiredÚstrÚappendÚlist)ÚselfÚperms© r   ú(/var/www/vitalapp/apps/usuarios/mixin.pyÚ	get_perms
   s   
ÿz)ValidatePermissionRequiredMixin.get_permsc                 C   s   | j d u r	tdƒS | j S )NÚinicio)Úurl_redirectr   )r   r   r   r   Úget_url_redirect   s   
z0ValidatePermissionRequiredMixin.get_url_redirectc           
         sè   |j j ¡ }|j  ¡ }|dkr]|D ]K}|}td|ƒ |d urO|  ¡ }td|ƒ |D ]}	|	|vr?t |d¡ t|  	¡ ƒ    S q)t
ƒ j|g|¢R i |¤Ž  S t |d¡ t|  	¡ ƒ  S |j jrnt
ƒ j|g|¢R i |¤ŽS ttdƒƒS )Nr   zsuper : zperms : u-   No tiene permiso para ingresar a este mÃ³dulor   )ÚuserÚgroupsÚallÚget_group_permissionsÚprintr   r   Úerrorr   r   ÚsuperÚdispatchÚis_superuserr   )
r   ÚrequestÚargsÚkwargsÚriquestÚlistaÚiÚgrupor   Úp©Ú	__class__r   r   r      s(   


þz(ValidatePermissionRequiredMixin.dispatch)	Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   Ú__classcell__r   r   r%   r   r      s    r   N)Údjango.httpr   Údjango.contribr   Údjango.urlsr   Úobjectr   r   r   r   r   Ú<module>   s    