キャスト一覧のソート
概要
在籍キャスト一覧(/casts)および出勤表(/schedule)の並び順は、管理画面のサイト設定で切り替えられます。
ソート方式
| 方式 | 説明 |
|---|---|
| 出勤時間ベース | 当日の出勤が早い順、または現在出勤中を優先 |
| ランキングベース | ランキング管理で設定した順位 |
| ミックス | 例: 「出勤中かつランキング上位」を最上位に配置する独自ロジック |
| 新人優先 | 入店日からの経過が浅いキャストを上位に固定 |
設定キー: Site_Settings.cast_sort_logic(実装で具体値が定義されます)
ランキングとの連動
ランキング管理画面で「一覧ソートと同期」トグルを ON にすると、ランキング順が一覧にも反映されます。
設定値一覧(cast_sort_logic)
| UI 表示 | DB 値 | 並び順ロジック |
|---|---|---|
| 出勤中優先 | working_first |
working → on_break → その他 → 名前昇順(デフォルト) |
| ランキング順 | ranking |
Rankings テーブルの rank 昇順、未登録は末尾 |
| 新人優先 | new_first |
join_date 降順(入店日が新しい順) |
| ミックス | mixed |
当日出勤中+ランキング上位を優先する複合ロジック |
管理画面: サイト設定 → キャスト並び順 セレクトボックスで切り替え。
公開 API クエリパラメータ ?sort=<値> で一時的に上書きも可能です(GET /api/public/casts?sort=ranking 等)。
絞り込みフィルタ
キャスト一覧ページ(/casts)にはフィルタバーが表示されます。
| ボタン | 挙動 |
|---|---|
| NEW | 入店60日以内のキャストのみ表示(?is_new=1) |
| 出勤中のみ | 当日 working / on_break のキャストのみ表示(?working_only=1) |
フィルタは URL パラメータで管理されるため、ブラウザの戻る/進むで状態が保持されます。複数のフィルタを同時に適用することもできます。