Jon Solow commited on
Commit
a3c0746
·
1 Parent(s): d0acf6f

Add admin page

Browse files
Files changed (2) hide show
  1. src/data_storage.py +5 -0
  2. src/pages/99_Admin.py +36 -0
src/data_storage.py CHANGED
@@ -69,3 +69,8 @@ def get_user_id_if_email_exists(email: str) -> int | None:
69
  else:
70
  user_id = None
71
  return user_id
 
 
 
 
 
 
69
  else:
70
  user_id = None
71
  return user_id
72
+
73
+
74
+ def is_admin(user_id: int):
75
+ # Replace with db data field later
76
+ return user_id == 1
src/pages/99_Admin.py ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+
3
+ from config import DEFAULT_ICON
4
+ from shared_page import common_page_config
5
+
6
+ from data_storage import add_new_user, is_admin
7
+
8
+
9
+ def admin_add_new_user():
10
+ add_new_user(st.session_state["admin_new_user_email"], st.session_state["admin_new_user_name"])
11
+
12
+
13
+ def admin_add_new_user_form():
14
+ with st.form("Add new user"):
15
+ st.header("Admin add new user")
16
+ st.write("Adds new user to sqlite db")
17
+ st.text_input("Email Address", key="admin_new_user_email")
18
+ st.text_input("Name", key="admin_new_user_name")
19
+ st.form_submit_button("Submit", on_click=admin_add_new_user)
20
+
21
+
22
+ def get_page():
23
+ page_title = "Admin"
24
+ st.set_page_config(page_title=page_title, page_icon=DEFAULT_ICON, layout="wide")
25
+ common_page_config()
26
+ if not is_admin(st.session_state.get("logged_in_user")):
27
+ st.write("Not authorized")
28
+ st.stop()
29
+
30
+ st.title(page_title)
31
+
32
+ admin_add_new_user_form()
33
+
34
+
35
+ if __name__ == "__main__":
36
+ get_page()