Skip to main content

Module teacher_view

Module teacher_view 

Source
Expand description

The ledger as a course’s teacher surfaces show it, and what a teacher’s bulk retry may move.

Structs§

CourseModuleStateCount
Live rows of one course grouped by module and state, with the preconditions a pending row is waiting on and how many of each group the pipeline handed to support.
TeacherCreditRegistration
One ledger row as a teacher sees it: the raw state, the student’s identity and the unmasked verified student number, but never the study registry’s own error text.
TeacherCreditRegistrationFilters
The optional narrowings a teacher surface applies, all of them in SQL.

Functions§

count_by_module_and_state_for_course
The course’s live rows per module and state, narrowed to one instance where the caller names one.
count_submission_uncertain_by_course_id
How many of a course’s live rows a bulk retry has to refuse, all for the one remaining reason: the submission may have landed, so only a human may move that row.
count_teacher_facing_by_course_id
How many rows get_teacher_facing_by_course_id would return without a page limit.
get_retryable_ids_by_course_id
The course’s live rows a bulk retry can actually move: failed for good, and not held open by Suotar. Oldest first, capped by limit.
get_teacher_facing_attempts_for_completion
Every attempt for the same completion as row, that one included, newest attempt first.
get_teacher_facing_by_course_id
The course’s ledger rows as the teacher surfaces show them, newest completion first.
get_teacher_facing_by_id
One row for a teacher surface, by id. None when no such live row exists.
search_pattern_of 🔒
Lowercased and with metacharacters escaped, so a search for % matches a literal one.
teacher_facing_page 🔒
The one query behind every teacher-facing read, so a filter wired into a page cannot be missed in its count. total_count is computed before the limit, which is why the count reads it with limit = 1.