Assign homeroom teachers (class teachers) to each grade section. Manage which teacher is responsible for each class as their primary point of contact for administrative and pastoral care duties.
💡 Bulk option: download the class teachers template from this page, fill in the Teacher column for each grade row, then attach the file to Ori (chat icon, bottom-right) and say "set class teachers from this sheet". Ori shows a preview of every assignment change before saving. See Ori — Bulk Imports and Chat Actions.
Navigation
Start from the left sidebar navigation menu:
- Look for the "Class Teachers" menu item in the left sidebar
- Click on "Class Teachers" to navigate to this page
- The page will load and display: header card with title and search bar, stats showing assigned/unassigned counts, and a table listing all grade sections with their class teacher assignments
Overview
The Class Teachers page helps you assign a homeroom teacher to each grade section in your school. A class teacher (also called homeroom teacher) is the primary teacher responsible for a particular class, handling administrative duties, parent communication, and pastoral care. On this page you can view all grade sections with their current class teacher assignments, search for specific grades or teachers, edit assignments to assign or change class teachers, see statistics on how many sections have assigned vs unassigned class teachers, and identify grades that still need a class teacher assigned.
Tasks
Read - View Class Teacher Assignments
Navigation: Start from sidebar -> Click "Class Teachers" -> Page loads
Display Format: Table with the following columns:
- Grade: The grade name (e.g., "Grade 9", "Grade 10")
- Section: The section identifier (e.g., "A", "B", "C")
- Initials: The grade's initials code (e.g., "9A", "10B")
- Class Teacher: Assigned teacher shown as colored badge with name and initials, or "Not assigned" text
- Actions: Edit button to modify assignment
Sorting: Grades are sorted in logical order:
- Pre-school/Nursery levels first
- Foundation Stages (FS1, FS2)
- Kindergarten (KG, KG1, KG2)
- Grades 1-12 numerically
- Other grades alphabetically
- Within same grade, sections sorted alphabetically (A, B, C)
Example: "Open the page to see Grade 9 A with 'John Smith (JS)' as class teacher shown in an emerald badge, Grade 9 B with 'Not assigned' in gray text, Grade 10 A with 'Sarah Brown (SB)' in a blue badge."
Read - View Assignment Statistics
Navigation: Start from sidebar -> Click "Class Teachers" -> View stats in header
Display Format: Statistics shown in the section header:
- Assigned Count: Number of sections with a class teacher (e.g., "8 assigned")
- Unassigned Count: Number of sections without a class teacher (e.g., "4 unassigned") - shown in amber color
Location: Right side of the "Assignment List" section heading
Example: "The stats show '8 assigned' and '4 unassigned', meaning 8 of your 12 sections have class teachers and 4 still need to be assigned."
Read - Search Grades or Teachers
Navigation: Start from sidebar -> Click "Class Teachers" -> Use search box
Steps:
- Find Search Box: Locate the search input with placeholder "Search grades or teachers..."
- Enter Search Term: Type any part of:
- Grade name (e.g., "Grade 9", "10")
- Section (e.g., "A", "B")
- Grade initials (e.g., "9A", "10B")
- Teacher name (e.g., "John Smith")
- Teacher initials (e.g., "JS")
- View Results: Table filters to show only matching rows
- Clear Search: Delete search text to show all grades
Example: "Type 'Smith' to find all grades where the class teacher's name contains 'Smith'. Type '9' to find Grade 9 sections."
Update - Assign Class Teacher
Navigation: Start from sidebar -> Click "Class Teachers" -> Find grade -> Click Edit
Steps:
- Find Grade: Locate the grade section in the table (e.g., "Grade 9 B")
- Click Edit: Click the Edit button (pencil icon) in the Actions column
- Dialog Opens: "Edit Class Teacher" dialog appears
- View Grade Info: Grade field shows the grade (read-only, e.g., "Grade 9 B (9B)")
- Select Teacher: Click the "Class Teacher" dropdown
- Choose Teacher: Select a teacher from the list (e.g., "Alice Johnson (AJ)")
- Click Save: Click the "Save" button
- Result: Dialog closes, success message "Class teacher assigned" appears, table updates
Teacher Dropdown Options:
- "No teacher assigned" - clears the assignment
- List of all teachers with name and initials
Success Message: "Class teacher assigned"
Example: "To assign Ms. Johnson to Grade 9B: Find Grade 9 B row, click Edit, select 'Alice Johnson (AJ)' from dropdown, click Save. The table now shows Ms. Johnson as Grade 9B's class teacher."
Update - Change Class Teacher
Navigation: Start from sidebar -> Click "Class Teachers" -> Find grade with teacher -> Click Edit
Steps:
- Find Grade: Locate the grade with an existing assignment
- Click Edit: Click the Edit button
- Dialog Shows Current: The dropdown shows the currently assigned teacher
- Select New Teacher: Choose a different teacher from the dropdown
- Click Save: Save the change
- Result: Assignment updates to new teacher
Example: "Grade 10A currently has Mr. Smith. To change to Ms. Davis: Click Edit on Grade 10A, select 'Mary Davis (MD)' from dropdown, click Save."
Update - Remove Class Teacher Assignment
Navigation: Start from sidebar -> Click "Class Teachers" -> Find grade with teacher -> Click Edit
Steps:
- Find Grade: Locate the grade with an assigned teacher
- Click Edit: Click the Edit button
- Select None: Choose "No teacher assigned" from the dropdown
- Click Save: Save the change
- Result: Success message "Class teacher removed" appears, row shows "Not assigned"
Success Message: "Class teacher removed"
Example: "To remove Ms. Brown from Grade 11A: Click Edit, select 'No teacher assigned', click Save. The row now shows 'Not assigned'."
Buttons & Controls
- Search Input (Text Field with Search Icon): Filters the table by grade name, section, initials, or teacher name/initials. Placeholder: "Search grades or teachers...". Located in header card.
- Edit Button (Icon Button with Pencil): Opens the edit dialog for that grade section. Located in Actions column of each table row.
- Save Button (Primary Button in Dialog): Saves the class teacher assignment. Shows "Save" text. Located in dialog footer.
- Cancel/Close (Dialog X Button): Closes the dialog without saving changes.
- Class Teacher Dropdown (in Dialog): Selects which teacher to assign. Shows all teachers with their initials.
Visual Elements
- Header Card: Contains page title "Class Teachers", description, and search input.
- Stats Display: Shows "X assigned" and "Y unassigned" counts in section header.
- Assignment Table: Table with Grade, Section, Initials, Class Teacher, and Actions columns.
- Grade Initials Badge: Monospace badge showing grade initials (e.g., "9A", "10B").
- Teacher Badge (Colored): Colored badge showing assigned teacher name with icon:
- User icon before name
- Name format: "Teacher Name (Initials)"
- Colors cycle through: emerald, blue, violet, rose, cyan, amber, indigo, pink
- Consistent colors - same teacher always gets same color
- "Not assigned" Text: Gray italic text shown when no class teacher is assigned.
- Edit Dialog: Modal dialog titled "Edit Class Teacher" with:
- Description: "Assign a class teacher for [Grade] [Section]"
- Grade field (disabled/read-only)
- Class Teacher dropdown
- Save and Cancel buttons
- Success Alert (Green): Shows "Class teacher assigned" or "Class teacher removed" after successful save.
- Error Alert (Red): Shows error message if save fails.
- HR Warning Card (Amber): Warning shown if HR subject is not configured.
- Empty State: Message "No grades found" if no grades exist, or "No grades match your search" if search has no results.
- Loading Spinner: Animated spinner while page loads.
Form Fields Reference
In Edit Dialog:
- Grade (Disabled Input): Read-only field showing the grade being edited. Format: "Grade Name Section (Initials)". Example: "Grade 9 B (9B)"
- Class Teacher (Dropdown): Select list with options:
- "No teacher assigned" (removes assignment)
- List of all teachers: "Teacher Name (Initials)"
- Example options: "No teacher assigned", "John Smith (JS)", "Alice Johnson (AJ)"
Alerts & Errors
- "Class teacher assigned": Green success message after assigning a teacher.
- "Class teacher removed": Green success message after removing an assignment.
- "Failed to update assignment": Red error message if save operation fails.
- "Failed to load data": Error message if page cannot fetch grade/teacher data.
- "No grades found. Add grades first to assign class teachers.": Empty state when no grades exist.
- "No grades match your search.": Empty state when search returns no results.
- "Homeroom subject not found": Amber warning card shown when HR subject doesn't exist.
- "Create a subject with code HR to enable class teacher assignments.": Warning guidance with link to Subjects page.
Rules & Constraints
-
HR Subject Recommended: The system uses a subject with code "HR" (Homeroom) for class teacher assignments
- What Happens: Warning appears if HR subject doesn't exist
- Impact: Edit buttons may be disabled without HR subject
- How to Fix: Go to Subjects page and create a subject with code "HR"
- Example: Create "Homeroom" subject with code "HR" to enable class teacher features
-
One Class Teacher Per Section: Each grade section can have only one class teacher
- What's Valid: One teacher assigned to Grade 9A
- What's Invalid: Multiple teachers as class teacher for same section
- Example: Grade 9A can have Mr. Smith OR Ms. Johnson, not both
-
Teachers Can Be Class Teacher for Multiple Sections: Same teacher can be class teacher for different sections
- What's Valid: Ms. Johnson as class teacher for both 9A and 9B
- Note: This is allowed but may not be typical practice
-
Assignment Is Optional: Sections don't require a class teacher
- What's Valid: "Not assigned" is acceptable
- Display: Shows gray "Not assigned" text
- Stats: Unassigned sections counted in amber "unassigned" stat
-
Grade Must Exist: Can only assign class teachers to existing grades
- Prerequisite: Grades must be created first
- Empty State: "No grades found" shown if no grades exist
-
Teacher Must Exist: Can only assign existing teachers as class teachers
- Dropdown: Shows all teachers in the system
- Prerequisite: Teachers must be added first
-
Search Is Case-Insensitive: Search works regardless of capitalization
- What's Valid: "grade 9", "GRADE 9", "Grade 9" all find "Grade 9"
- Partial Match: "9" finds "Grade 9", "grad" finds all grades
Tips & Notes
- HR Subject First: Before using class teachers, create a subject with code "HR" (Homeroom) in the Subjects page. This enables the class teacher functionality.
- Consistent Colors: Teacher badges have consistent colors based on the teacher's name, making it easy to spot the same teacher across different rows.
- Stats Guide You: The "X assigned / Y unassigned" stats help you quickly see how many sections still need class teachers.
- Search for Quick Access: With many grades, use search to quickly find a specific grade or see all grades with a particular teacher.
- Sorted for Convenience: Grades are sorted logically (Pre-K, KG, Grade 1, Grade 2, etc.) not alphabetically, making it easy to navigate.
- One Click to Edit: Each row has an Edit button - no need to select the row first.
- Remove with "No teacher": To remove an assignment, select "No teacher assigned" from the dropdown rather than deleting.
- Success Messages Auto-Hide: Green success messages disappear after 3 seconds.
- Check Unassigned Count: Before school year starts, aim to get the "unassigned" count to 0.
- Class Teacher Responsibilities: Class teachers typically handle attendance, parent meetings, progress reports, and pastoral care for their assigned section.
- Link from Warning: If you see the HR subject warning, click the "Go to Subjects" link to quickly create the required subject.
- Period 1 Is Reserved for the Class Teacher: When you generate the timetable, period 1 of each working day is automatically reserved for the class teacher of that section. If Homeroom (HR) has periods allocated in Grade Subject Assignments, those HR periods fill slot 1. If HR has zero periods allocated but a class teacher is assigned, the generator automatically places one of the class teacher's own teaching subjects (e.g., English or Math, whichever has the most periods per week) in period 1 of each working day. This way the class teacher always "owns" the first period of the day without you having to pre-assign it manually. Group subjects are skipped — if the class teacher only teaches group subjects for the grade, period 1 is left for the generator to fill normally and a warning is logged.