Fetch PASS's real per-lesson roster (Eve-Det.asp), show unregistered classmates to teacher #1
Loading…
Reference in a new issue
No description provided.
Delete branch "worktree-roster-prefill"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Eve-Det.asp (the event-detail popup PASS shows when a student clicks an agenda
entry) returns the actual Formateur(s)/Apprenant(s) list for that event, keyed by
the shared NumEve id. Pulling it eagerly alongside every agenda sync gives:
links, replacing the old free-text "does this line look like a person's name"
guess as the primary source (kept as fallback for lessons not yet roster-synced).
field) — an exact, non-fuzzy link from a roster row back to a real account once
that student logs in for the first time.
session, not just the subset who'd already registered a teacher link themselves.
Unregistered ones show with no pair_value — visible to the teacher, but sign()'s
valid_pairs check can never record a signature against them (needs their own
account linked via student_pass_ids first). Storing name+PASS id for students who
haven't opened this app is a deliberate scope call, not an oversight: actually
letting a teacher batch-sign attendance for someone who's never touched the app
is a separate, bigger decision this doesn't make.
New tables: lesson_roster, student_pass_ids (additive, no backfill needed).
Co-Authored-By: Claude Sonnet 5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_01AhtAKWj9fVGNgw3rqv8zAV
Roster-only students in _teacher_candidates now get a real, signable pair_value ("<lesson_id>::pid:<pass_id>") instead of None — the teacher ticks them alongside registered students and signs once for the whole group, same as before. Since there's no owner_username yet, the signature/absence lands in new lesson_signatures_pending / lesson_absences_pending tables (keyed by pass_id) instead of the real ones. pass_session._reconcile_pending_signatures migrates those pending rows onto the real owner_username the moment that student's own pass_id is learned (their first agenda sync) — the signature just appears on their /lessons and /pdf with no action needed from them. Already-pending pass_ids are filtered back out of _teacher_candidates so the teacher doesn't see (or re-sign) someone already covered. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AhtAKWj9fVGNgw3rqv8zAVView command line instructions
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.