U
    ZÁ×fO  ã                   @   sÌ   d dl Z d dlZd dlm  mZ d dlmZ e  ¡ Ze e¡ G dd„ de j	ƒZ
e ¡ Zejdd„ ƒZejdd„ ƒZejd	d
dgddd„ ƒZe d¡e jdd„ ƒƒZe d¡dd„ ƒZejdd„ ƒZdS )é    N)Úappc                   @   s   e Zd ZdS )ÚUserN)Ú__name__Ú
__module__Ú__qualname__© r   r   ú&/var/www/FlaskApp/FlaskApp/app/auth.pyr   	   s   r   c                 C   s   | t krd S tƒ }| |_|S )N)Úusersr   Úid)ÚusernameÚuserr   r   r   Ú	load_user   s
    r   c                 C   s(   | j  d¡}|tkrd S tƒ }||_|S )Nr   )ÚformÚgetr	   r   r
   )Úrequestr   r   r   r   r   Úrequest_loader   s    r   z/loginÚGETÚPOST)Úmethodsc                  C   s   t jjdkrdS t jjd } | tkrŒt jjd t|  krŒtƒ }| |_t |¡ dt j	kr|t j	d }d t j	d< t  
t  |¡¡S t  
t  d¡¡S dS )	Nr   aG  
               <form action='login' method='POST'>
                <input type='text' name='username' id='username' placeholder='username'/>
                <input type='password' name='password' id='password' placeholder='password'/>
                <input type='submit' name='submit'/>
               </form>
               r   ÚpasswordÚurlÚurz/dashboard/z	Bad login)Úflaskr   Úmethodr   r	   r   r
   Úflask_loginÚ
login_userÚsessionÚredirectÚurl_for)r   r   r   r   r   r   Úlogin!   s    



r   z
/protectedc                   C   s   dt jj S )NzLogged in as: )r   Úcurrent_userr
   r   r   r   r   Ú	protected<   s    r!   z/logoutc                   C   s   t  ¡  dS )Nz
Logged out)r   Úlogout_userr   r   r   r   ÚlogoutA   s    r#   c                   C   s   t  t  d¡¡S )Nr   )r   r   r   r   r   r   r   Úunauthorized_handlerF   s    r$   )r   r   ZFlaskApp.app.commonr   ÚcommonÚFlaskApp.appÚLoginManagerÚlogin_managerÚinit_appÚ	UserMixinr   Z	get_usersr	   Úuser_loaderr   r   Úrouter   Úlogin_requiredr!   r#   r$   r   r   r   r   Ú<module>   s(   


	

