Skip to content

管理者画面から特別シフト申請を削除できない不具合を修正 - #77

Merged
champierre merged 1 commit into
mainfrom
fix/admin-calendar-special-shift-delete
Oct 8, 2026
Merged

champierre merged 1 commit into
mainfrom
fix/admin-calendar-special-shift-delete

Conversation

@champierre

Copy link
Copy Markdown
Contributor

概要

管理者画面で特別シフト申請を削除しても、実際には削除されないまま「削除しました」と表示される不具合を修正します。

原因

特別シフト申請の UUID を通常シフト用の削除 API(deleteMultipleShifts / deleteShift)に送っていました。特別シフト申請は shifts テーブルにないため 0 件削除となり、それでも API は成功を返すので、画面上は削除できたように見えていました。

変更内容

  • 対象は次の 3 箇所の削除操作です。
    • シフト一覧カレンダーの「選択したシフトを削除」(calendar.js)
    • 全シフト一覧テーブルの一括削除と行ごとの削除ボタン(allShiftsTable.js)
    • シフト詳細モーダルからの削除(shifts.js の deleteShiftFromModal)
  • チェックボックスと削除ボタンに data-type(special / regular)を持たせ、特別シフト申請は cancelSpecialShiftApplication でキャンセルするようにしました。
  • 自分のシフト一覧にあった振り分け・削除処理を collectUuidsByType() / deleteShiftsByType() として shifts.js に切り出し、各画面で共有しています。
  • 全シフト一覧テーブルのチェックボックスの属性を data-shift-uuid から data-uuids に変更しました。

テスト

  • test/admin-special-shift-delete.test.js を追加しました。エクスポートガード経由で実コードを直接 import して検証しています(docs/refactoring/phase-1-test-foundation.md の方針)。
  • npm test: 430 passed(33 suites)
  • ブラウザでの実機確認は行っていません。

補足

  • 表示の変更はないため、スクリーンショットは添付していません。
  • DB マイグレーションや破壊的変更はありません。
  • test/bulk-delete.test.js の 173〜182 行目には、全シフト一覧テーブルの旧い UUID 取り出し処理(data-shift-uuid)がインラインコピーとして残っています。コピーなのでテストは通りますが、実コードとは一致しなくなっています。この PR では手を入れていません。

🤖 Generated with Claude Code

管理者のシフト一覧カレンダー・全シフト一覧テーブル・シフト詳細モーダルで
特別シフト申請を削除しても、実際には削除されないまま「削除しました」と
表示されていた。特別シフト申請の UUID を通常シフト用の削除 API
(deleteMultipleShifts / deleteShift)に送っていたため、shifts テーブルに
該当行がなく 0 件削除で成功扱いになっていた。

チェックボックスや削除ボタンに data-type(special / regular)を持たせ、
特別シフト申請は cancelSpecialShiftApplication でキャンセルするようにした。

UUID の振り分けと種類別の削除は、自分のシフト一覧にあった処理を
collectUuidsByType() / deleteShiftsByType() として shifts.js に切り出し、
各画面で共有している。全シフト一覧テーブルのチェックボックスの属性は
data-shift-uuid から data-uuids に変更した。

テストは実コードを直接 import して検証している
(docs/refactoring/phase-1-test-foundation.md の方針)。

テスト: 430 passed (33 suites)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@champierre
champierre merged commit 0f2709d into main Oct 8, 2026
2 checks passed
@champierre
champierre deleted the fix/admin-calendar-special-shift-delete branch October 8, 2026 04:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant