Jon Solow
Allow database download
f9247be
raw
history blame
1.36 kB
import datetime
import streamlit as st
from config import DEFAULT_ICON
from shared_page import common_page_config
from data_storage import add_new_user, is_admin, DB_PATH
def admin_add_new_user():
add_new_user(st.session_state["admin_new_user_email"], st.session_state["admin_new_user_name"])
def admin_add_new_user_form():
with st.form("Add new user"):
st.header("Admin add new user")
st.write("Adds new user to sqlite db")
st.text_input("Email Address", key="admin_new_user_email")
st.text_input("Name", key="admin_new_user_name")
st.form_submit_button("Submit", on_click=admin_add_new_user)
def database_backup_form():
with st.container():
st.header("Utility for backing up and restoring db file")
with open(DB_PATH, "rb") as f:
file_name = f"backup-{datetime.datetime.now().strftime('%y%m%d%H%M')}.db"
st.download_button("Download db", f, file_name=file_name)
def get_page():
page_title = "Admin"
st.set_page_config(page_title=page_title, page_icon=DEFAULT_ICON, layout="wide")
common_page_config()
if not is_admin(st.session_state.get("logged_in_user")):
st.write("Not authorized")
st.stop()
st.title(page_title)
database_backup_form()
admin_add_new_user_form()
if __name__ == "__main__":
get_page()