3
ÅKâ^P  ã               @   sL   d dl mZ d dlmZ d dlmZ d dlZd dlmZ dd„ Z	dd	„ Z
dS )
é    )ÚPermissionDenied)Úredirect)ÚwrapsN)ÚUserc                s   ‡ fdd„}ˆ j |_ |S )Nc                s‚   d| j krbtdƒ | j d }td|ƒ tjj|d�jƒ }|rr|jdkrPtdƒ qrtdƒ tdƒS ntd	ƒ tdƒS ˆ | f|ž|ŽS )
NÚ_auth_user_idzalready logged userÚid)r   TÚadminz	not adminz/dashboard/login/z$not logged in so redirect to login .)ÚsessionÚprintr   ÚobjectsÚfilterÚfirstÚis_superuserr   )ÚrequestÚargsÚkwargsr   Ú	superuser)Úfunction© ú./var/www/html/myproject/dashboard/decorator.pyÚwrap	   s    




zuser_redirect.<locals>.wrap)Ú__doc__)r   r   r   )r   r   Úuser_redirect   s    r   c                s   ‡ fdd„}ˆ j |_ |S )Nc                sx   d| j kr`| j d }td|ƒ tjj|d�jƒ }|rh|jdkrVtdƒ tdƒ tdƒS tdƒ ntd	ƒ ˆ | f|ž|ŽS )
Nr   r   )r   Tr   z.already logged user, redirect it to dashboard.z/dashboard/zno adminzno logged user)r	   r
   r   r   r   r   r   r   )r   r   r   r   r   )r   r   r   r   "   s    



zlogin_redirect.<locals>.wrap)r   )r   r   r   )r   r   Úlogin_redirect!   s    r   )Údjango.core.exceptionsr   Údjango.shortcutsr   Ú	functoolsr   ÚdatetimeÚdjango.contrib.auth.modelsr   r   r   r   r   r   r   Ú<module>   s   