mikaelJ46 commited on
Commit
c2fe3a0
Β·
verified Β·
1 Parent(s): a48732f

Create pages/teacher_pages.py

Browse files
Files changed (1) hide show
  1. pages/teacher_pages.py +73 -0
pages/teacher_pages.py ADDED
@@ -0,0 +1,73 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # pages/teacher_pages.py - Teacher pages
2
+ import streamlit as st
3
+ from modules.database import Session, User, Student, AcademicTerm, Mark
4
+
5
+ def show_teacher_menu():
6
+ """Show teacher menu and handle routing"""
7
+ page = st.sidebar.selectbox("Menu", [
8
+ "Dashboard", "Enter Results", "My Classes", "Change Login Details"
9
+ ])
10
+
11
+ if page == "Dashboard":
12
+ from pages import dashboard
13
+ dashboard.show()
14
+ elif page == "Enter Results":
15
+ show_enter_results()
16
+ elif page == "My Classes":
17
+ show_my_classes()
18
+ elif page == "Change Login Details":
19
+ show_change_login()
20
+
21
+ def show_enter_results():
22
+ """Enter results page"""
23
+ st.header("✏️ Enter Results")
24
+ session = Session()
25
+
26
+ user = session.query(User).get(st.session_state.user_id)
27
+ active_term = session.query(AcademicTerm).filter_by(is_active=True).first()
28
+
29
+ if not active_term:
30
+ st.warning("No active term set")
31
+ return
32
+
33
+ st.info(f"Current Term: {active_term.term_name}")
34
+
35
+ # Results entry form
36
+ with st.form("enter_results"):
37
+ st.write("Enter results for your assigned subjects")
38
+
39
+ # Simplified form for demonstration
40
+ subject = st.selectbox("Subject", ["Mathematics", "English", "Science"])
41
+ student = st.selectbox("Student", ["Student 1", "Student 2"])
42
+ score = st.number_input("Score", 0.0, 100.0)
43
+
44
+ if st.form_submit_button("Submit Results"):
45
+ st.success("Results submitted successfully")
46
+
47
+ session.close()
48
+
49
+ def show_my_classes():
50
+ """My classes page"""
51
+ st.header("πŸ“š My Classes")
52
+ session = Session()
53
+
54
+ user = session.query(User).get(st.session_state.user_id)
55
+
56
+ if user.class_teacher_for:
57
+ st.info(f"Class Teacher for: {user.class_teacher_for}")
58
+ else:
59
+ st.info("Not assigned as class teacher")
60
+
61
+ session.close()
62
+
63
+ def show_change_login():
64
+ """Change login details page"""
65
+ st.header("πŸ” Change Login Details")
66
+
67
+ with st.form("change_login"):
68
+ new_email = st.text_input("New Email")
69
+ current_pass = st.text_input("Current Password", type="password")
70
+ new_pass = st.text_input("New Password", type="password")
71
+
72
+ if st.form_submit_button("Update"):
73
+ st.success("Login details updated")