Commit Graph
32 Commits
Author SHA1 Message Date
admin e96653200a Modified by www.SourceFiles.app 2026-08-07 04:14:13 +00:00
admin 1b20b4740d Modified by www.SourceFiles.app 2026-08-07 04:14:12 +00:00
admin 83e2a03cc2 Modified by www.SourceFiles.app 2026-08-07 04:14:12 +00:00
admin e3064fcdd0 Modified by www.SourceFiles.app 2026-08-07 04:14:11 +00:00
admin 161f93aaeb Modified by www.SourceFiles.app 2026-08-07 04:14:11 +00:00
admin 4cf9f1c993 Modified by www.SourceFiles.app 2026-08-07 04:14:10 +00:00
admin d5b4d3319a Modified by www.SourceFiles.app 2026-08-07 04:14:10 +00:00
admin 05a02add05 Modified by www.SourceFiles.app 2026-08-07 04:14:09 +00:00
admin 2d12361bab Modified by www.SourceFiles.app 2026-08-07 04:14:09 +00:00
admin 1b56e5a3b2 Modified by www.SourceFiles.app 2026-08-07 04:14:08 +00:00
admin f15efb2276 Modified by www.SourceFiles.app 2026-08-07 04:14:08 +00:00
admin 7d6a0284e5 Modified by www.SourceFiles.app 2026-08-07 04:14:07 +00:00
admin 382e93ac67 Modified by www.SourceFiles.app 2026-08-07 04:14:07 +00:00
admin 64f3764a1d Modified by www.SourceFiles.app 2026-08-07 04:14:06 +00:00
admin 29aa2618f8 Modified by www.SourceFiles.app 2026-08-07 04:14:06 +00:00
admin 63adc514ae Modified by www.SourceFiles.app 2026-08-07 04:14:05 +00:00
admin 29675806ba Modified by www.SourceFiles.app 2026-08-07 04:14:05 +00:00
admin a74636bca9 Modified by www.SourceFiles.app 2026-08-07 04:14:04 +00:00
admin 06a0409c2f Modified by www.SourceFiles.app 2026-08-07 04:13:19 +00:00
admin a13e0ac8f3 Modified by www.SourceFiles.app 2026-08-07 04:13:19 +00:00
admin bbabc3d82b Modified by www.SourceFiles.app 2026-08-07 04:13:18 +00:00
admin 50a3be868e Modified by www.SourceFiles.app 2026-08-07 04:13:18 +00:00
admin e749f76ef9 Modified by www.SourceFiles.app 2026-08-07 04:13:18 +00:00
admin 2d67582e20 Modified by www.SourceFiles.app 2026-08-07 04:13:17 +00:00
admin 39ad1ae76a Modified by www.SourceFiles.app 2026-08-07 04:12:32 +00:00
admin 2d14990a1b Modified by www.SourceFiles.app 2026-08-07 04:12:31 +00:00
admin 534ef5c12d Modified by www.SourceFiles.app 2026-08-07 04:12:18 +00:00
adminandClaude Opus 5 9360bf3055 Add printable report cards, progress reports and invoices
Three documents, all print-styled rather than generated server-side: no
PDF dependency is added, and "Save as PDF" in the browser produces the
file. @media print in styles.css strips the app chrome (.no-print) and
breaks each student onto its own sheet (.print-page).

- Report card: weighted category breakdown, overall percent and letter
  from the existing gradebook config, plus an attendance summary.
- Academic progress report: the same, plus assignment-level detail —
  a mid-term report is only actionable with the underlying work listed.
- 504 / IEP progress report: each goal's baseline, target, status and
  progress entries within the period, for the quarterly report IDEA
  requires. RLS keeps it to the case manager, admins and parents.
- Invoice, reachable per student from the tuition ledger: opening
  balance carried forward, itemised activity, and balance due.

Grade maths is reused from lib/grades and the class grading config from
useEffectiveConfig, so report cards cannot drift from the gradebook.

The "Email to parents" button opens a prefilled mailto: draft — the same
mechanism the intake-link share already uses. It gathers addresses from
intake guardians and linked parent accounts. mailto cannot attach a file,
so the itemisation goes in the body as text; sending a real attachment
would need a transactional email provider and an API key.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-26 09:45:46 -04:00
adminandClaude Opus 5 9d7d18669d Add 504 / IEP plans with tiered confidentiality
Plans, accommodations, related services, annual goals with progress
monitoring, meetings/team, and signed documents — plus a compliance
list and dashboard alerts for annual-review and triennial re-evaluation
dates (overdue in red, due-within-30-days in amber).

Access is tiered because special-education records are need-to-know
under FERPA:

  FULL  admin, the plan's case manager, the student's parents
  IMPL  the above, plus any teacher of the student — accommodations
        and services only, never eligibility or meeting notes

RLS is row-level and every app role is the same Postgres role
(`authenticated`), so column grants cannot separate the tiers. The
split is therefore physical: confidential fields live in plan_details,
plan_goals, plan_meetings and plan_documents rather than as columns on
student_plans.

The UI asks the database which tier applies via the same predicates the
policies use (can_view_plan_full / can_edit_plan) instead of re-deriving
the rules client-side.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-26 09:14:40 -04:00
adminandClaude Opus 4.8 e95171a0d4 Make remaining date inputs Safari-safe (uncontrolled)
Attendance filter, gradebook assignment date, and tuition entry date now use
defaultValue (with a remount key where the field resets after submit).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-19 19:46:33 -04:00
adminandClaude Opus 4.8 8fe6ad00f4 Gradebook: classes, weighted grading, assignments, grades, student role
- Migration: student role, students.user_id, grade_categories/grade_scale
  (school defaults + per-class override), assignments, grades + RLS
- Classes area (nav): list/create classes, class page with Gradebook / Roster /
  Grading setup tabs; teachers see their classes, admins all
- Weighted-category grade calc -> letter scale (shared helper)
- Roster assignment (admin), assignment + grade entry (teacher/admin)
- Student profile: view-only Grades tab (parents/students)
- Portal access: create parent OR student logins linked to the student

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-19 16:57:27 -04:00
Lovable cb75921659 template: tanstack_start_ts_current-40f3c252c0da 2025-01-01 00:00:00 +00:00