o
    i	                     @   s   d Z ddlmZ ddlmZmZmZmZmZmZm	Z	 ddl
mZmZmZmZ ddlmZmZ edeZejddd	gd
dd Zejddd	gd
edd Zeddd Zededd Zejdd	gd
edd ZdS )z)Login y manejo de sesion del panel admin.    )datetime)	Blueprintflashjsonifyredirectrender_templaterequesturl_for)current_userlogin_required
login_userlogout_user)Usuariodbauthz/loginGETPOST)methodsc                  C   s   t jr	ttdS tjdkrwtjrtjddpi } ntj} | 	dp#d
 }| 	dp,d}tjj|dd }|rg||rgt |_tj  t|dd	 tjrYtd| d
S tj	dpbtd}t|S tjrrtddddfS tdd tdS )Nzpages.dashboardr   Tsilentusername password)UsernameActivo)rememberokusernextFzCredenciales invalidasr   error  z Usuario o contrasena incorrectosdangerz
login.html)r
   is_authenticatedr   r	   r   methodis_jsonget_jsonformgetstripr   query	filter_byfirstcheck_passwordr   utcnowUltimoAccesor   sessioncommitr   r   to_dictargsr   r   )datar   r   r   next_url r7   )/var/www/html/LicenciasMIG/routes/auth.py
login_page   s*   



r9   z/logoutc                   C   s,   t   tjdkrtjrtddS ttdS )Nr   Tr   zauth.login_page)r   r   r%   r&   r   r   r	   r7   r7   r7   r8   logout,   s   
r;   z/api/v1/auth/checkc                   C   s$   t jrtdt  dS tdddfS )NTr   Fr:   r"   )r
   r$   r   r3   r7   r7   r7   r8   
check_auth5   s   r<   z/api/v1/auth/profilec                   C   s   t dt dS )NTr   )r   r
   r3   r7   r7   r7   r8   profile<   s   r=   z/api/v1/auth/change-passwordc                  C   s   t jddpi } | dpd}| dpd}t|s#tdddd	fS t|d
k r1tdddd	fS t| tj	
  tddS )NTr   actualr   nuevaFzContrasena actual invalidar    i     z4La nueva contrasena debe tener al menos 6 caracteresr:   )r   r'   r)   r
   r.   r   lenset_passwordr   r1   r2   )r5   r>   r?   r7   r7   r8   change_passwordB   s   



rC   N)__doc__r   flaskr   r   r   r   r   r   r	   flask_loginr
   r   r   r   modelsr   r   __name__bprouter9   r;   r<   r=   rC   r7   r7   r7   r8   <module>   s&    $


