o
    Gƒ8h‡  ã                   @   s^  d dl Z d dl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 d dlmZ d dlmZmZ eeƒZdejd< dejd	< e e¡ ejd
d„ ƒZe d¡dd„ ƒZejdddgddd„ ƒZe d¡dd„ ƒZe d¡dd„ ƒZe d¡dd„ ƒZejdddgddd „ ƒZejd!ddgdd"d#„ ƒZejd$dgdd%d&„ ƒZ ed'kr­ej!d(d) dS dS )*é    N)ÚFlaskÚrender_templateÚrequestÚredirectÚurl_forÚsessionÚResponse)ÚdbÚDonnee)Úget_system_metrics)Úload_ticketsÚsave_ticketzsqlite:///neuropulse.dbÚSQLALCHEMY_DATABASE_URIÚneuropulse_secretÚ
SECRET_KEYc                   C   s   t  ¡  d S )N)r	   Ú
create_all© r   r   ú&/var/www/html/neuropulse_webapp/app.pyÚcreate_tables   s   r   ú/c                   C   s    dt v r
ttdƒƒS ttdƒƒS )NÚuserÚ	dashboardÚlogin)r   r   r   r   r   r   r   Úindex   s   r   z/loginÚGETÚPOST)Úmethodsc                  C   sV   t jdkr't jd } t jd }| dkr!|dkr!| td< ttdƒƒS tddd	S tdƒS )
Nr   ÚusernameÚpasswordÚadminr   r   z
login.htmlzIdentifiants invalides)Úerror)r   ÚmethodÚformr   r   r   r   )r   r   r   r   r   r      s   


r   z/logoutc                   C   s   t  dd ¡ ttdƒƒS )Nr   r   )r   Úpopr   r   r   r   r   r   Úlogout%   s   r$   z
/dashboardc                  C   ó&   dt vr
ttdƒƒS tƒ } td| dS )Nr   r   zdashboard.html©Ústats)r   r   r   r   r   r&   r   r   r   r   +   ó   r   z/ticketsc                  C   r%   )Nr   r   ztickets.html)Útickets)r   r   r   r   r   )Úall_ticketsr   r   r   r)   3   r(   r)   z/tickets/newc                  C   sP   dt vr
ttdƒƒS tjdkr$tjd } tjd }t| |ƒ ttdƒƒS tdƒS )Nr   r   r   ÚtitleÚdescriptionr)   znew_ticket.html)r   r   r   r   r!   r"   r   r   )r+   r,   r   r   r   Ú
new_ticket:   s   



r-   z/datac                  C   sd   dt vr
ttdƒƒS tjdkr.tjd } tjd }tj  t| |d¡ tj  	¡  ttdƒƒS t
dƒS )	Nr   r   r   ÚnomÚvaleur©r.   r/   Ú
data_entryz
index.html)r   r   r   r   r!   r"   r	   Úaddr
   Úcommitr   r0   r   r   r   r1   F   s   



r1   z/adminc                  C   sD   t j} | r| jdkr| jdkstddddiƒS tj ¡ }td|dS )	Nr   Úadmin123u   AccÃ¨s refusÃ©i‘  zWWW-AuthenticatezBasic realm="Login Required"z
admin.html)Údonnees)	r   Úauthorizationr   r   r   r
   ÚqueryÚallr   )Úauthr5   r   r   r   r   S   s
   
r   Ú__main__T)Údebug)"ÚosÚjsonÚflaskr   r   r   r   r   r   r   Úmodelsr	   r
   Úutils.monitoringr   Úutils.ticketingr   r   Ú__name__ÚappÚconfigÚinit_appÚbefore_first_requestr   Úrouter   r   r$   r   r)   r-   r1   r   Úrunr   r   r   r   Ú<module>   s>    $











ÿ