コンテンツにスキップ

保護者のお知らせを未読優先・日時順に表示

2026-09-27。ユーザーはモックを確認し「未読が優先です」と指定した後、「本番に反映して」と依頼した。

合意した動作

  • 保護者ホームの新着欄と、ホームから開くお知らせ一覧に適用する。
  • 未読を先に表示し、未読・既読の各グループ内では日時の新しい順に並べる。
  • 出欠確認を別枠として先頭にまとめず、通常のお知らせと混ぜる。
  • 重要マーク、本文、既読・未読表示、詳細へのリンクを保持する。
  • 日時は通常のお知らせの公開開始日時(未設定なら作成日時)、出欠確認の作成日時を使う。
  • 詳細を開いて既読になる既存動作を保持。既読日時を並び替えには使わない。
  • ホームの最大5件、一覧の全件表示、公開範囲・公開期間・家庭の権限を保持する。
  • 未回答アンケートは従来どおりホームと未読・未回答画面に含め、未読相当のグループ内で公開日時順に並べる。お知らせ一覧には追加しない。

実装

routers/parent_portal.py の共通取得処理で未読状態と日時を使って整列する。 一覧も同じ取得処理を使い、templates/parent_portal/notices.html で整列済みの項目を1回のループで描画する。 各種カードの見た目を保持し、モック用の設定UIは含めない。 DBスキーマ、既読保存処理、通知送信処理は変更しない。

検証

  • 最新本番commit c907275b94cabcb613b4cf2a8edf778c05ade8dd から作成した専用コピーで40テスト成功(11.51秒、失敗・スキップ・収集エラーなし)。
  • 対象:test_parent_notice_order.py、test_parent_portal.py、test_notices.py。
  • 新旧の出欠確認と通常のお知らせ、既読・未読、重要度、全件既読/全件未読、閲覧後の移動、ホーム5件、公開日時、アンケートの日本時間を検証。
  • 本番用の読み取り専用検査を架空の2アカウント・6画面で実行し、DB全体のdumpが検査前後で完全一致。
  • 配備手順の8テストがローカルと実機の両方で成功。
  • 配備用commit 51ddae0ad1ff641310fdd4edb22f369385d0f45b。本番基準との差分は実装2ファイルと回帰テスト1ファイルだけ。

2026-09-27 05:52:08 JSTに本番反映完了。実機でも40テストと保護者8アカウント・24画面の読み取り専用検査が成功し、公開HTTPSのHTTP 200を確認した。 配備結果は docs/deployment-parent-notice-order-2026-09-27.md に記録した。