Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
|
@@ -152,7 +152,10 @@ async def validate_user(request: Request, username: str = Form(...), password: s
|
|
| 152 |
status,role = verify_user(username, password)
|
| 153 |
if status == 'success':
|
| 154 |
logging.info(f"user role {role}is rerturned")
|
| 155 |
-
|
|
|
|
|
|
|
|
|
|
| 156 |
|
| 157 |
else:
|
| 158 |
return templates.TemplateResponse("index.html", {"request": request})
|
|
@@ -200,7 +203,32 @@ async def get_companies():
|
|
| 200 |
raise HTTPException(status_code=500, detail="Internal Server Error")
|
| 201 |
@app.get("/dashboard")
|
| 202 |
async def dashboard(request: Request):
|
| 203 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 204 |
@app.get("/company_profile")
|
| 205 |
async def company_profile(request: Request):
|
| 206 |
return templates.TemplateResponse("company_profile.html", {"request": request,"title":"Company Profile"})
|
|
|
|
| 152 |
status,role = verify_user(username, password)
|
| 153 |
if status == 'success':
|
| 154 |
logging.info(f"user role {role}is rerturned")
|
| 155 |
+
response = RedirectResponse(url="/dashboard", status_code=302)
|
| 156 |
+
response.set_cookie(key="role", value=role)
|
| 157 |
+
response.set_cookie(key="username", value=username)
|
| 158 |
+
return response
|
| 159 |
|
| 160 |
else:
|
| 161 |
return templates.TemplateResponse("index.html", {"request": request})
|
|
|
|
| 203 |
raise HTTPException(status_code=500, detail="Internal Server Error")
|
| 204 |
@app.get("/dashboard")
|
| 205 |
async def dashboard(request: Request):
|
| 206 |
+
try:
|
| 207 |
+
cnx = get_db_connection()
|
| 208 |
+
cursor = cnx.cursor()
|
| 209 |
+
|
| 210 |
+
cursor.execute("show tables")
|
| 211 |
+
all_tables = cursor.fetchall()
|
| 212 |
+
table_count_of_each_table = {}
|
| 213 |
+
# Fetch count of each table in the database
|
| 214 |
+
for table in all_tables:
|
| 215 |
+
query = f"SELECT COUNT(*) FROM {table[0]}"
|
| 216 |
+
cursor.execute(query)
|
| 217 |
+
table_count_of_each_table[table[0]] = cursor.fetchone()[0]
|
| 218 |
+
|
| 219 |
+
cursor.close()
|
| 220 |
+
cnx.close()
|
| 221 |
+
|
| 222 |
+
logging.info(table_count_of_each_table)
|
| 223 |
+
# return templates.TemplateResponse("dashboard.html", {"request": request,"title":"Dashboard" , "table_count_of_each_table": table_count_of_each_table})
|
| 224 |
+
return templates.TemplateResponse("dashboard.html", {
|
| 225 |
+
"request": request,
|
| 226 |
+
"title": "Dashboard",
|
| 227 |
+
"table_count_of_each_table": table_count_of_each_table
|
| 228 |
+
})
|
| 229 |
+
except mysql.connector.Error as err:
|
| 230 |
+
logging.error(f"Database error: {err}")
|
| 231 |
+
raise HTTPException(status_code=500, detail="Internal Server Error")
|
| 232 |
@app.get("/company_profile")
|
| 233 |
async def company_profile(request: Request):
|
| 234 |
return templates.TemplateResponse("company_profile.html", {"request": request,"title":"Company Profile"})
|