import pandas as pd 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, migrate_players_from_week def admin_add_new_user(): add_new_user( st.session_state["admin_new_user_email"], st.session_state["admin_new_user_name"], st.session_state["db_client"] ) def admin_add_new_user_form(): if st.button("Add new user"): 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 migrate_players_week(): with st.container(): st.header("Utility for migrating players to the next week") week_migrate_from = st.selectbox("week to migrate from", options=[1, 2, 3]) st.text_input("Enter week to confirm", key="week_migrate_from") if st.button("Migrate Week"): if st.session_state.get("week_migrate_from") == str(week_migrate_from): migrate_players_from_week(week_migrate_from, st.session_state["db_client"]) st.warning("Week migrated") else: st.warning("Must confirm migration by entering matching week") 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.session_state["db_client"]): st.write("Not authorized") st.stop() st.title(page_title) date_compare = pd.Timestamp.now(tz="America/New_York") st.write(f"Current datetime for use in roster lock: {date_compare}") admin_add_new_user_form() migrate_players_week() if __name__ == "__main__": get_page()