3
Lâ^É  ã               @   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ˆ   t dƒ d| jkrht dƒ | jd }t d|ƒ tjj|d�jƒ }|rx|jdkr^t dƒ tdƒS t d	ƒ nt d
ƒ tdƒS ˆ | f|ž|ŽS )Nzin user_redirect userprofile.Ú_auth_user_idzalready logged userÚid)r   Tzadmin (user)z/login/znot admin (user)z$not logged in so redirect to login .)ÚprintÚsessionr   ÚobjectsÚfilterÚfirstÚis_superuserr   )ÚrequestÚargsÚkwargsr   Ú	superuser)Úfunction© ú,/var/www/html/myproject/userapp/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                sˆ   t dƒ d| jkrh| jd }t d|ƒ tjj|d�jƒ }|rx|jdkr^t dƒ t dƒ tdƒS t d	ƒ nt d
ƒ t dƒ ˆ | f|ž|ŽS )Nzin login_redirect userprofile.r   r   )r   Tzadmin (user)z.already logged user, redirect it to dashboard.z/dashboard/zno admin (user)zno logged userzpass it)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   