Spaces:
Sleeping
Sleeping
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"})
|