Kerikim commited on
Commit
8f2ffd9
·
1 Parent(s): 25c379d

elkay: lesson.py and teacher link

Browse files
Files changed (2) hide show
  1. phase/Student_view/teacherlink.py +7 -15
  2. utils/api.py +1 -21
phase/Student_view/teacherlink.py CHANGED
@@ -216,24 +216,16 @@ def show_code():
216
  with c1:
217
  # pass lesson & assignment to the Lessons page
218
  if st.button("▶️ Start Lesson", key=f"start_lesson_{r.get('assignment_id')}"):
219
- lesson_id = int(r.get("lesson_id"))
220
- assignment_id = int(r.get("assignment_id"))
221
-
222
- # Tell backend we started
223
- try:
224
- _mark_assignment_started(student_id, assignment_id)
225
- _set_assignment_progress(student_id, assignment_id, current_pos=1, progress=0.05)
226
- except Exception as e:
227
- st.warning(f"Could not mark as started yet. Continuing anyway. {e}")
228
-
229
- # Route intent
230
- st.session_state.selected_lesson = lesson_id
231
- st.session_state.selected_assignment = assignment_id
232
  st.session_state.lesson_route = {
233
  "source": "teacher",
234
- "lesson_id": lesson_id,
235
- "assignment_id": assignment_id,
236
  }
 
237
  st.session_state.current_page = "Lessons"
238
  st.rerun()
239
  with c2:
 
216
  with c1:
217
  # pass lesson & assignment to the Lessons page
218
  if st.button("▶️ Start Lesson", key=f"start_lesson_{r.get('assignment_id')}"):
219
+ st.session_state.selected_lesson = int(r.get("lesson_id")) # keep for backward compat
220
+ st.session_state.selected_assignment = int(r.get("assignment_id")) # keep for backward compat
221
+
222
+ # New explicit route hint. This is what fixes your navigation.
 
 
 
 
 
 
 
 
 
223
  st.session_state.lesson_route = {
224
  "source": "teacher",
225
+ "lesson_id": int(r.get("lesson_id")),
226
+ "assignment_id": int(r.get("assignment_id") or 0),
227
  }
228
+
229
  st.session_state.current_page = "Lessons"
230
  st.rerun()
231
  with c2:
utils/api.py CHANGED
@@ -318,14 +318,6 @@ def delete_lesson(lesson_id: int, teacher_id: int):
318
  d = _req("DELETE", f"/lessons/{lesson_id}", json={"teacher_id": teacher_id}).json()
319
  return bool(d.get("ok", True)), d.get("message", "")
320
 
321
- def mark_assignment_started(student_id: int, assignment_id: int):
322
- return _req("POST", f"/assignments/{assignment_id}/start").json()
323
-
324
- def set_assignment_progress(student_id: int, assignment_id: int, current_pos: int, progress: float):
325
- return _req("PATCH", f"/assignments/{assignment_id}/progress",
326
- json={"current_pos": current_pos, "progress": progress}).json()
327
-
328
-
329
  # Quizzes
330
  def list_quizzes_by_teacher(teacher_id: int):
331
  return _json_or_raise(_req("GET", f"/teachers/{teacher_id}/quizzes"))
@@ -665,16 +657,4 @@ def tutor_explain(lesson_id: int, level_slug: str, wrong: list[dict]):
665
  "wrong": wrong
666
  }, timeout=60)
667
  r.raise_for_status()
668
- return r.json()["feedback"]
669
-
670
- @app.post("/assignments/{assignment_id}/start")
671
- def start_assignment(assignment_id: int, student=Depends(auth_student)):
672
- db.mark_assignment_started(student.id, assignment_id)
673
- return {"ok": True}
674
-
675
- @app.patch("/assignments/{assignment_id}/progress")
676
- def update_progress(assignment_id: int, payload: dict, student=Depends(auth_student)):
677
- db.set_assignment_progress(student.id, assignment_id,
678
- payload.get("current_pos", 0),
679
- payload.get("progress", 0.0))
680
- return {"ok": True}
 
318
  d = _req("DELETE", f"/lessons/{lesson_id}", json={"teacher_id": teacher_id}).json()
319
  return bool(d.get("ok", True)), d.get("message", "")
320
 
 
 
 
 
 
 
 
 
321
  # Quizzes
322
  def list_quizzes_by_teacher(teacher_id: int):
323
  return _json_or_raise(_req("GET", f"/teachers/{teacher_id}/quizzes"))
 
657
  "wrong": wrong
658
  }, timeout=60)
659
  r.raise_for_status()
660
+ return r.json()["feedback"]