Jon Solow
commited on
Commit
·
a3c0746
1
Parent(s):
d0acf6f
Add admin page
Browse files- src/data_storage.py +5 -0
- 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()
|