Redmind commited on
Commit
376e13d
·
verified ·
1 Parent(s): d34a0f2

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +30 -2
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
- return templates.TemplateResponse("dashboard.html", {"request": request, "username": username,"role": role})
 
 
 
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
- return templates.TemplateResponse("dashboard.html", {"request": request,"title":"Dashboard"})
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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"})