バージョン情報
現在のバージョン:0.46.50 (2026年6月19日)
Version 0.46.50
理者がロッカー本体で個別解錠を行い備品を取り出した場合に、ロッカー本体とWeb管理画面のBOX状態が一致しない問題を修正しました。
-
修正
管理者取り出し時のBOX状態更新を追加
TAKE_OUT(取出し) イベント受信時に LockerBox.status_code を LOANED(貸出中) へ更新する処理を追加。
-
修正
ロッカー本体とWeb表示の状態不一致を解消
管理者個別解錠後に備品を取り出した場合でも、BOX一覧・ダッシュボード・利用状況画面で「貸出中」と表示されるよう改善
-
修正
利用状況HTML/JSON出力の整合性改善
status_code が正しく更新されることで、利用状況HTML出力およびJSON出力でも貸出中状態が正しく反映されるよう改善。
-
追加
ダッシュボード稼働率の精度向上
管理者取り出し中のBOXも LOANED として集計されるため、稼働率が実態に即した値となるよう改善。
Version 0.46.49
新規設備作成直後など、BOXが未初期化状態の場合にダッシュボードの稼働率が 73 / 0 のように不正表示される問題を修正しました。
-
修正
稼働率の分子・分母集計を統一
ダッシュボードの稼働率表示で、分子・分母が異なる条件で算出される可能性があったため、同一条件のBOX集計を基準に算出するよう修正。
-
修正
未初期化BOXの稼働率対象外を明確化
EMPTY(未初期化) のBOXは運用開始前として、稼働率の分子・分母に含めない仕様に統一。
-
修正
分母0件時の表示不整合を防止
稼働率対象BOXが0件の場合に x / 0 のような不正表示にならないよう、表示制御を追加。
Version 0.46.48
システムログの集計機能について、利用状況として扱うイベント種別を整理しました。不足返却を独立した集計項目として追加し、取出し・収納は管理者運用イベントとして集計対象から除外しました。また、代理返却・未取出・未収納が管理者操作として登録された場合でも利用者起因イベントとして集計されるよう見直し、解錠件数の定義を集計対象イベントの合計に統一しました。
-
変更
集計対象イベント種別を利用状況ベースに再整理
対象種別を BORROW / RETURN / SHORT_RETURN / ADMIN_RETURN / NOT_TAKEN / NOT_STORED / UNLOCK に統一し、TAKE_OUT / STORE_IN を集計画面から除外しました。
UNLOCK は上記6種の合計で算出する派生項目に変更しました。
対象ファイル:
- portal_locker/forms/stats.py
- portal_core/views_locker_stats.py
- templates/portal_locker/stats/list.html
- portal_core/tests/test_views_locker_stats.py
Version 0.46.47
マスタ送信画面のチェックボックスラベルおよびセクション見出しについて、表記ゆれや分かりづらい名称を整理し、画面上の表示名称を統一しました。あわせて注記テキスト内の参照名称も更新しています。本対応は表示名称のみの変更であり、内部処理、送信対象、送信仕様、ログ出力への影響はありません。
-
修正
スタ送信画面の項目名称を統一し、表記ゆれを解消
ロッカー設備設定、利用停止期間設定、貸出窓口スタッフ在席時間、ロッカーレイアウト設定、備品情報、罰則情報、利用者一覧など、マスタ送信画面上の項目名称を統一。
操作方法および送信処理に変更なし。
Version 0.46.46
場所マスタの削除時に関連データが存在する場合、500エラーではなく削除不可メッセージを表示するよう改善しました。あわせて拠点・場所・設備の削除処理を共通化し、ProtectedError、RestrictedError、IntegrityError による削除失敗を安全に処理できるよう整理しました。関連データがない場合は従来どおり削除でき、関連データがある場合は理由を表示して一覧へ戻るよう改善しています。
-
追加
削除保護の共通処理を追加
拠点、場所、設備の削除処理で共通利用できる delete_guards.py を追加しました。guarded_delete() により、削除成功時と削除不可時の処理を共通化し、削除失敗時に500エラーとならないよう整理しました。
-
修正
場所削除時に500エラーになる問題を修正
場所マスタ削除時に関連設備などの関連データが存在する場合、DB制約により削除に失敗し、500エラー画面が表示される場合がありました。ProtectedError に加えて RestrictedError および IntegrityError を削除不可として扱い、削除できない理由を画面に表示して一覧へ戻るよう修正しました。
-
変更
拠点・場所・設備の削除処理を共通化
拠点削除、場所削除、設備削除で個別に実装されていた削除処理を共通ガード処理へ統一しました。関連データがある場合の削除不可メッセージ表示や、関連データがない場合の正常削除動作を同じ方針で処理できるよう改善しました。
-
追加
削除保護に関する回帰テストを追加
関連設備がある場所を削除しても500エラーにならないこと、削除不可メッセージが表示されること、関連データがない場所は正常に削除できることを確認する回帰テストを追加しました。あわせて拠点・設備も同じ方針で削除保護されることを検証し、同種の削除保護漏れの再発防止を強化しました。
Version 0.46.45
拠点、場所、設備、BOXの有効/無効状態、および未初期化BOXの扱いを共通化し、ダッシュボード、利用状況出力、通知、未返却抽出、集計機能で同じ対象条件を使用するよう改善しました。これにより、左メニューや未返却者リストでは非表示になっている無効拠点の設備/BOXが、稼働率の分母や各種出力に含まれる不整合を解消しました。
-
追加
アクティブ対象判定の共通サービスを追加
拠点、場所、設備、BOXの有効/無効状態、および未初期化BOXの除外条件を一元管理するため、portal_locker/services/active_scope.py を追加しました。active_sites()、active_locations()、active_devices()、utilization_boxes()、filter_target_box_events() を導入し、画面やバッチごとに個別実装されていた対象判定を共通化しました。
-
修正
無効拠点・無効設備が稼働率分母に含まれる問題を修正
左メニューや未返却者リストでは無効拠点が非表示になる一方で、ダッシュボードの稼働率計算では無効拠点配下の設備/BOXが分母に含まれる場合がありました。稼働率計算で site.enabled=True、location.enabled=True、device.enabled=True、box.enabled=True、かつ box.status_code != "EMPTY" の条件を適用するよう修正し、表示対象と集計対象の不一致を解消しました。
-
変更
ダッシュボード・出力・通知・集計の対象条件を統一
ホームダッシュボード、拠点別ダッシュボード、利用状況HTML出力、利用状況JSON出力、利用状況JSON API、通知対象抽出、未返却抽出コマンド、集計画面/CSV出力に共通のアクティブ対象条件を適用しました。これにより、画面表示、出力、通知、集計で対象となる設備/BOXの範囲が統一されました。
-
追加
有効/無効条件に関する回帰テストを追加
無効拠点、無効場所、無効設備、無効BOX、および未初期化BOXが稼働率分母や利用状況出力、通知対象、集計対象に含まれないことを確認する回帰テストを追加しました。また、左メニューとダッシュボードの対象拠点が一致すること、利用状況HTML/JSON/APIの対象BOXが一致することも検証し、同種の不整合の再発防止を強化しました。
Version 0.46.43
設備一覧からBOX一覧およびレイアウト編集画面へ遷移した際に、検索条件やページ番号が保持されるよう改善しました。BOX一覧から一覧画面へ戻った際も遷移元の条件を維持できるようになり、複数設備の設定作業時の操作性を向上しました。また、関連する回帰テストを追加し、今後の改修による再発を防止しています。
-
変更
BOX一覧の戻り先制御を改善
BOX一覧画面で next パラメータを利用するよう変更し、設備一覧から遷移した際の検索条件やページ番号を保持できるよう改善しました。
-
変更
レイアウト編集画面の遷移制御を改善
BOX一覧からレイアウト編集画面へ遷移した際も next パラメータを引き継ぎ、保存後に元の一覧条件へ戻れるよう改善しました。
-
修正
検索条件が失われる問題を修正
設備一覧 → BOX一覧 → 一覧へ戻る操作で検索条件やページ番号がリセットされる問題を修正しました。
Version 0.46.44
BOXレイアウト編集および罰則手動追加画面において、autocomplete入力時の表示値と保存値の不整合を防止しました。候補未選択の手入力や古い候補選択状態(stale selection)のまま保存された場合でも、既存データが意図せず解除・変更されないよう防御処理を追加しました。また、サーバ側でも入力内容の整合性チェックを行い、入力補助機能を利用した操作時のデータ保護を強化しました。
-
修正
BOXレイアウト編集で備品割当が意図せず解除される問題を修正
BOXレイアウト編集画面において、備品候補を選択せずに備品IDを手入力した状態で保存すると、hidden項目の備品IDが空のまま送信され、既存の備品割当が解除される場合がありました。候補未確定の入力は解除扱いにせず既存割当を保持するよう変更し、明示的なクリア操作のみを解除として扱うよう改善しました。
-
修正
不正なautocomplete入力によるデータ不整合を防止
存在しない備品IDや削除済み備品のIDが送信された場合でも、500エラーや割当解除が発生しないよう防御処理を追加しました。不正な入力値が送信された場合は安全側の動作として既存データを保持し、データ破損を防止するよう改善しました。
-
変更
手動罰則登録時の利用者選択整合性を改善
利用者検索後に候補を選択した状態で検索文字列を変更すると、画面上の表示内容と実際に保存される borrower_id が不一致になる可能性がありました。検索文字列変更時に選択済み利用者IDを自動的にクリアするよう改善し、サーバ側でも borrower_query と borrower_id の整合性チェックを追加しました。
-
追加
autocomplete入力に関する回帰テストを追加
備品割当および手動罰則登録において、候補未選択入力・明示的解除・不正候補・古い候補選択状態などのケースを検証する回帰テストを追加しました。同種の「入力補助と保存値の不一致」による不具合の再発防止を強化しています。
Version 0.46.42
拠点・場所・設備・BOXの表示順制御を統一し、ダッシュボードおよび利用状況出力を含めた並び順ルールを共通化しました。また、設備一覧からBOX一覧・レイアウト編集画面へ遷移した際の検索条件保持を改善し、運用時の操作性を向上しました。
-
変更
表示順(sort_order)管理の共通化
拠点、場所、設備、BOXの表示順制御を共通ルールへ統一しました。各画面ごとに異なっていた並び順処理を整理し、sort_order → コード順 の共通ルールで管理するよう改善しました。
-
変更
ダッシュボードおよび利用状況出力の並び順を統一
拠点別ダッシュボード、利用状況HTML出力、JSON出力などで個別実装されていた並び順処理を共通ルールへ統一しました。画面表示と出力結果で順序が異なる問題を解消し、利用者にとって分かりやすい表示へ改善しました。
-
修正
設備一覧からBOX一覧への画面遷移改善
設備一覧からBOX一覧へ遷移した際に、ページ番号や検索条件が失われる場合がある問題を修正しました。BOX一覧やレイアウト編集画面でも遷移元情報を保持するよう改善し、作業効率を向上させました。
-
追加
表示順および画面遷移の回帰テストを追加
表示順変更時の反映確認、ダッシュボードや出力機能との整合性確認、設備一覧からBOX一覧への遷移時の検索条件保持などについて回帰テストを追加しました。今後の改修による再発防止を強化しています。
Version 0.46.41
罰則管理機能を見直し、権限制御の強化、解除日時指定の柔軟化、およびサービス層への処理分離を実施しました。運用担当者による手動罰則登録・解除の管理性を向上し、今後の機能拡張に対応しやすい構成へ整理しました。
-
変更
罰則管理機能のサービス層分離
手動罰則登録および解除処理をサービス層へ分離し、画面処理と業務ロジックを整理しました。今後の機能追加や仕様変更に対応しやすい構成へ改善するとともに、処理の再利用性を向上させました。
-
追加
罰則管理の権限制御を強化
罰則登録および解除機能について専用の権限制御を追加しました。利用者管理権限と罰則管理権限を分離し、運用担当者ごとの役割に応じたアクセス制御が行えるよう改善しました。
-
変更
罰則解除日時の柔軟化
手動罰則解除時に解除日時を柔軟に設定できるよう改善しました。運用上の例外対応や過去事象への対応が行いやすくなり、実際の運用に即した管理が可能となりました。
-
修正
罰則データ管理の整合性を改善
BorrowerPenalty を borrower_id 単位で1レコード管理する運用へ統一し、解除済みデータの再利用処理を整理しました。重複登録や状態不整合が発生しないよう管理ロジックを改善し、回帰テストを追加しました。
Version 0.46.40
システムログ機能を見直し、ログ検索画面のUIを整理しました。検索条件の統一、結果表示の改善、ログ種別ごとの検索性向上を実施し、運用時の調査効率を改善しました。
-
変更
システムログ検索画面のUI整理
システムログ検索画面の構成を見直し、検索条件や結果表示を統一しました。ログ種別ごとに異なっていた画面構成を整理し、運用担当者が目的のログを探しやすい画面構成へ改善しました。
-
変更
ステムログ機能の検索性向上
システムログ、アクセスログ、認証ログ、APIログなどの検索処理を見直し、検索条件による絞り込み精度を向上させました。運用時の調査や障害解析を行いやすいよう検索機能を改善しました。
-
修正
ログ検索結果の表示不整合を修正
検索条件によってログが正しく表示されないケースや、ログ種別ごとに表示内容が異なる問題を修正しました。検索結果の整合性を向上し、ログ確認時の誤認を防止しました。
Version 0.46.37
未返却リスト、返却通知、罰則判定で分散していたイベント判定処理を共通化しました。あわせて不足返却(SHORT_RETURN)、管理者返却、管理者取出(TAKE_OUT)の扱いを整理し、履歴表示や検索時の不整合を修正しました。
-
変更
event_type判定と返却相殺条件を共通化
ダッシュボード未返却リスト、未返却抽出バッチ、返却通知、罰則判定で使用していた event_type 判定ロジックを共通化し、同一拠点・同一備品であれば別デバイス・別BOXへの返却でも相殺できるよう統一しました。
-
変更
不足返却(SHORT_RETURN)の扱いを統一
SHORT_RETURN を返却成立イベントとして未返却リストおよび返却通知から除外し、不足返却に対する罰則は即時付与する仕様へ統一しました。
-
修正
未収納イベントの重複表示を修正
利用者による未収納(NOT_STORED)発生時に、貸出履歴と未収納履歴が未返却リストへ重複表示される問題を修正しました。同一利用者・同一備品単位で未返却状態を1件に集約するよう改善しました。
-
修正
管理者返却・収納イベントの相殺条件を修正
ADMIN_RETURN および STORE_IN について、borrower_id が管理者でも元の貸出履歴を正しく相殺できるよう改善しました。
-
修正
管理者取出(TAKE_OUT)の備品NO表示を統一
TAKE_OUT イベントだけ別形式となっていた備品NO取得方法を統一し、equipment_no を正規項目として扱うよう改善しました。旧形式データとの互換性も維持しています。
-
修正
TAKE_OUTの備品名表示を改善
TAKE_OUT イベントでも備品NOから備品マスタを参照し、履歴一覧やCSV出力で正しい備品名を表示できるよう改善しました。
Version 0.46.36
手動マスタ送信時にシステムログ種別が「自動更新」と表示される問題を修正しました。手動操作では成功・失敗を問わず「マスタ送信」として記録されるよう統一するとともに、送信失敗時の原因を接続タイムアウト・送信先未到達・認証エラー・送信エラーに分類して表示するよう改善しました。これにより障害発生時の原因特定と運用保守が容易になりました。
-
修正
手動マスタ送信のログ種別を統一
手動マスタ送信実行時に自動更新用ログ(MASTER_SEND_AUTO)が記録され、「自動更新」と表示される場合があった問題を修正しました。手動操作では成功・失敗を問わず「マスタ送信(MASTER_SEND)」のみ記録されるよう変更しました。
-
修正
マスタ送信結果の記録タイミングを改善
マスタ送信成功ログを送信完了前に記録していた処理を見直し、実際の送信成功後に記録するよう変更しました。送信失敗時は result=FAILED として正しいエラー内容を保持したまま記録されます。
-
変更
マスタ送信失敗時の原因表示を追加
接続タイムアウト、送信先未到達、認証エラー、送信エラーを自動判別し、システムログおよび画面上に分かりやすいメッセージとして表示するよう改善しました。
-
変更
システムログの障害情報を強化
MASTER_SEND の失敗ログに reason 情報を追加し、障害原因を分類して記録するよう変更しました。運用時に障害内容を迅速に把握できるようになりました。
-
修正
マスタ送信関連の回帰テストを追加
手動マスタ送信の成功・失敗、自動更新処理のログ出力、および接続タイムアウト・送信先未到達・認証エラー・送信エラーの各分類について自動テストを追加し、再発防止を強化しました。
Version 0.46.35
備品が紐づいた状態でロッカーレイアウト変更を行った際、エラー表示後に設備本体のみが更新され、BOX構成と不整合になる問題を修正しました。レイアウト変更可否判定を保存前に実施し、エラー時は設備情報・BOX情報ともに更新されないよう改善しました。また、変更判定に使用する元値管理を見直し、再保存時の誤判定を防止しました。
-
修正
レイアウト変更禁止時に設備本体のみ更新される不具合を修正
備品が紐づいた状態でレイアウト変更を行った際、エラー表示後にも設備本体のレイアウト設定値だけが保存されてしまう不具合を修正しました。レイアウト変更可否判定を保存処理より前に実施し、禁止条件に該当する場合は設備本体・BOX情報ともに更新されないよう改善しました。
-
修正
設備設定とBOX構成の不整合を防止
レイアウト変更禁止エラー発生時に設備本体の設定値だけが変更され、BOX一覧の構成と不整合になる問題を修正しました。設備設定とBOX構成が常に一致した状態で管理されるよう改善しました。
-
修正
エラー再表示後の変更判定を改善
レイアウト変更判定に使用する元値をフォーム表示値ではなくDB上の確定値から取得するよう見直しました。エラー再表示後も正しい元値を保持し、再保存時に変更なしと誤判定される問題を防止しました。
-
変更
編集画面の再表示処理を共通化
レイアウト変更禁止エラー発生時の画面再表示処理を共通化し、通常の編集画面と同じ情報を保持した状態で再表示するよう改善しました。これにより、エラー発生後も正しい変更判定や画面表示が維持されるようになりました。
Version 0.46.34
ロッカー設備の新規登録画面でガイダンス表示モードが未選択状態となり保存できない不具合を修正。初期値設定を見直し、保存時の必須エラーを解消するとともに回帰テストを追加。
-
修正
ガイダンス表示モードが未選択になる不具合を修正
ロッカー設備の新規登録画面において、ガイダンス表示モードが未選択状態で表示される不具合を修正しました。初期値として有効な選択肢(NONE)を設定し、画面表示時に適切なラジオボタンへチェックが入るよう改善しました。
-
修正
ガイダンス表示モード未選択による必須エラーを解消
ガイダンス表示モードを変更せず保存した場合に「このフィールドは必須です。」エラーが発生し登録できない問題を修正しました。初期表示時から有効な値が選択されるため、そのまま保存しても正常に登録できるよう改善しました。
-
修正
既存設備編集時の設定値保持を保証
新規登録時のみ初期値を設定するよう実装を見直し、既存設備の編集画面では登録済みのガイダンス表示モードがそのまま表示されるよう対応しました。既存データや運用への影響が発生しないことを確認しています。
Version 0.46.33
ロッカーレイアウト設定の注意文を利用者向けに見直し、レイアウト変更時の確認ダイアログを改善しました。BOX情報の再生成が発生する操作について事前確認を行うことで、誤操作を防止し、設定変更時の影響を分かりやすく案内できるよう改善しました。
-
変更
レイアウト設定の注意文を利用者向けに改善
レイアウト設定変更時に発生する影響や事前確認事項を分かりやすく案内するよう改善しました。BOX情報が削除・再作成されることや、設定変更前に確認すべき内容を明確に表示するよう変更しました。
-
追加
レイアウト変更時の確認ダイアログを追加
ICタグチェックまたはサブユニット数を変更した場合のみ確認ダイアログを表示するよう改善しました。BOX情報が削除・再作成されること、現在のBOX設定内容が失われること、および操作を元に戻せないことを事前に確認できるようになりました。
-
修正
レイアウト変更判定の信頼性を向上
ICタグチェックおよびサブユニット数の変更検知処理を見直し、入力項目の取得方法や値比較処理を改善しました。変更がある場合は確実に確認ダイアログが表示され、変更がない場合は不要な確認が表示されないよう改善しました。
-
修正
確認ダイアログ表示失敗時の安全対策を追加
モーダルダイアログの初期化に失敗した場合でも確認処理が省略されないよう、ブラウザ標準の確認ダイアログへ自動的に切り替える処理を追加しました。
Version 0.46.32
設備一覧(電源操作)の権限設定において、必要な親権限との依存関係を追加しました。権限設定画面上で関連する権限が自動的に連動するよう改善し、メニューが表示されず操作できなくなる不整合を防止しました。
-
修正
設備一覧と電源操作権限の不整合を修正
設備一覧(電源操作)の編集権限のみを付与し、設備一覧の表示権限を付与していない場合、設備一覧メニューが表示されず電源操作機能へアクセスできない不整合を修正しました。電源操作権限が有効な場合は設備一覧の表示権限を自動的に有効化するよう改善しました。
-
変更
関連権限の自動連動機能を追加
画面権限設定画面において、設備一覧の表示権限を無効化した場合は設備一覧(電源操作)の編集権限も自動的に無効化し、関連する権限の整合性が維持されるよう改善しました。
-
修正
権限設定画面の整合性チェックを強化
権限設定画面の初期表示時および保存時に、設備一覧と設備一覧(電源操作)の依存関係を確認し、不整合な権限設定が残らないよう改善しました。
Version 0.46.31
新規設備登録時に作成される未初期化BOX(EMPTY)の表示とダッシュボード稼働率集計の不整合を修正しました。未初期化状態を明確に表示するとともに、稼働率計算対象から除外することで、利用状況画面と集計結果が一致するよう改善しました。
-
変更
未初期化BOXの表示を追加
新規設備登録時に作成される status_code="EMPTY" のBOXについて、従来は利用不可として表示されていましたが、「未初期化」と表示するよう変更しました。これにより、利用停止状態との違いを明確に判別できるよう改善しました。
-
修正
未初期化BOXを稼働率計算対象から除外
ダッシュボードの稼働率計算において、未初期化BOX(EMPTY)が有効BOXとして分母に含まれていたため、稼働率が実態と異なる場合がありました。未初期化BOXを集計対象外とすることで、稼働率が実際の運用状態を正しく反映するよう改善しました。
-
修正
EMPTYステータス表示を統一
BOXステータスの表示名に「未初期化」を追加し、拠点状況画面、ダッシュボード、JSON出力、HTML出力で同一の表示となるよう統一しました。
Version 0.46.30
設備や場所が紐付いているマスタを削除しようとした際に発生するエラー処理を改善しました。削除できない理由を画面上に分かりやすく表示し、サーバ内部エラー(500)が発生しないよう改善しました。
-
修正
場所マスタ削除時の500エラーを改善
設備が紐付いている場所を削除しようとした際、サーバ内部エラー(500)が発生する場合があったため、削除制約エラーを適切に処理するよう修正しました。削除できない場合は「設備が登録されているため削除できません」と画面上に表示し、一覧画面へ戻るよう改善しました。
② 拠点マスタ削除時のエラーハンドリング改善 -
修正
拠点マスタ削除時の500エラーを改善
場所または設備が紐付いている拠点を削除しようとした際、サーバ内部エラー(500)が発生する場合があったため、削除制約エラーを適切に処理するよう修正しました。削除できない場合は理由を画面上に表示し、一覧画面へ戻るよう改善しました。
-
変更
削除できない理由を画面上に表示
削除制約により削除できない場合でも、システムエラー画面ではなく、削除できない理由と対処方法をメッセージで表示するよう改善しました。これにより、ユーザー自身で原因を把握しやすくなりました。
Version 0.46.29
ロール別ユーザ割当機能において、他ロールへ割当済みユーザーを選択した際に発生するエラー処理を改善しました。現在の割当状況を画面上で確認できるようにするとともに、不正な割当操作を事前に防止し、分かりやすいエラーメッセージを表示するよう改善しました。
-
修正
ロール重複割当時の500エラーを改善
既に別ロールへ割当済みのユーザーを登録しようとした際、サーバ内部エラー(500)が発生する場合があったため、保存前に競合チェックを実施するよう修正しました。競合時は保存を中止し、ユーザーに分かりやすいエラーメッセージを表示するよう改善しました。
-
変更
現在のロール割当状況を画面上で表示
ユーザ割当画面に現在割当済みのロール名を表示するよう改善しました。未割当ユーザーと他ロール割当済みユーザーを区別できるようになり、誤操作を防止します。
-
修正
他ロール割当済みユーザーの選択制御を強化
他ロールへ割当済みのユーザーは選択不可とし、理由を画面上に表示するよう改善しました。また、「すべて選択」「すべて解除」操作の対象から除外し、誤った一括操作を防止します。
-
修正
ロール割当処理の例外処理を強化
POSTデータ改ざんなどにより画面上の制御を回避した場合でも、サーバ側で競合チェックを実施するよう改善しました。また、競合エラー発生時も画面表示に必要な情報を保持し、ユーザーが原因を確認できるよう改善しました。
Version 0.46.28
画面権限設定画面において設備一覧の削除権限が設定できない不具合を修正しました。また、一部機能で表示権限を有効にしてもサイドバーメニューに表示されない不具合を修正し、画面権限設定とメニュー表示判定の整合性を改善しました。
-
修正
設備一覧の削除権限が設定できない不具合を修正
設備一覧(locker.device.list)の権限定義と実際の削除機能で使用している権限設定に不整合があり、画面権限設定画面で削除権限を選択できない状態となっていました。権限定義に delete を追加し、削除権限を正しく設定・保存できるよう修正しました。
-
修正
一部メニューが権限設定後も表示されない不具合を修正
システムログ、APIログ(送受信)、APIログ(認証)、利用者更新設定において、表示権限を有効にしてもサイドバーメニューが表示されない不具合を修正しました。サイドバーの親メニュー表示条件に対象の screen_id を追加し、画面権限設定とメニュー表示判定が正しく連動するよう改善しました。
Version 0.46.27
画面権限設定画面において、設備一覧の削除権限が選択できない不具合を修正しました。権限定義と実際の削除機能で使用している権限設定の不整合を解消し、設備一覧の削除権限を正しく設定・保存できるよう改善しました。
-
変更
設備一覧の権限定義を実装内容に合わせて統一
設備一覧(locker.device.list)の権限定義に削除権限(delete)を追加し、設備削除機能で使用しているRBAC設定と整合するよう見直しました。
-
修正
設備一覧の削除権限が設定できない不具合を修正
画面権限設定画面において、設備一覧の表示権限を有効化しても削除権限が選択できない不具合を修正しました。削除権限の有効化・保存・再表示が正常に行えるよう改善しました。
Version 0.46.26
画面ごとに異なっていたCSV出力ルールを整理し、検索条件連動や大量データ出力制御を統一しました。
運用時の誤操作防止とサーバー負荷軽減を目的とした改善です。
-
変更
システムログのCSV出力ルールを統一
全件CSV出力を廃止し、一覧画面で指定した検索条件に一致するデータのみCSV出力できるよう変更しました。
-
変更
履歴一覧のCSV出力に検索条件必須ルールを追加
検索条件未指定でのCSV出力を禁止し、条件を指定した履歴のみ出力できるよう変更しました。
-
追加
履歴CSVの大量出力ガードを追加
検索結果が50,000件を超える場合はCSV出力を中止し、検索条件を絞り込むよう案内する仕組みを追加しました。
-
その他
CSV出力ポリシーを整理
システムログは検索条件連動のみ、履歴一覧は検索条件必須+件数制限、備品管理は全件出力維持、利用者一覧およびユーザー一覧はCSV出力なしへ方針を統一しました。
Version 0.46.25
履歴一覧、システムログ、認証ログ、アクセスログ、備品管理を利用者一覧型の画面構成へ統一しました。
サーバーサイド検索・ページネーションへ統一し、検索条件保持や編集後の状態復元を改善しました。
-
変更
履歴一覧の検索条件保持を改善
検索条件変更時のページ番号リセットを追加し、ページ移動時も検索条件が維持されるよう改善しました。
-
その他
システムログの検索・CSV条件を統一
システムログ一覧とCSV出力で同じ検索条件を適用するよう変更し、一覧表示とCSV出力結果の不一致を解消しました。
-
変更
認証ログ・アクセスログをサーバーサイド検索へ統一
クライアント側検索を廃止し、URLで状態管理するサーバーサイド検索方式へ変更しました。ページ移動やブラウザ戻る操作でも検索状態が保持されます。
-
変更
備品管理を利用者一覧型へ統一
simple-datatables によるクライアント側検索・ページングを廃止し、サーバーサイド検索・ページネーション方式へ変更しました。備品ID、備品名、シリアル番号による検索に対応しています。
-
修正
編集後の一覧状態復元を改善
履歴一覧、ログ一覧、備品管理で編集・削除後に検索条件やページ番号を維持した状態で一覧へ戻るよう改善しました。
Version 0.46.24
拠点マスタ、場所マスタ、設備一覧、罰則管理、ユーザー一覧、ロール一覧を利用者一覧と同じ画面構成へ統一しました。検索条件保持やページ遷移を改善し、画面ごとの操作感を統一しています。
-
変更
一覧画面のUI構成を統一
拠点マスタ、場所マスタ、設備一覧、罰則管理、ユーザー一覧、ロール一覧を利用者一覧と同じレイアウト・検索導線・ページネーション構成へ統一しました。
-
変更
検索条件付き画面復帰を統一
一覧画面から編集・削除・詳細画面へ遷移した後、検索条件やページ番号を保持した状態で元の一覧へ戻るよう改善しました。
-
修正
重複ページネーションを解消
一部画面で共通ページネーションと独自ページネーションが重複表示されていた問題を解消しました。
Version 0.46.23
一覧画面のUI統一に向けた共通基盤を整備しました。ページネーションの検索条件保持を共通化し、一覧画面から編集・削除後に元の検索状態へ戻る仕組みを統一しました。今後の一覧画面統一に向けた土台となる改修です。
-
追加
ページネーション共通基盤を追加
一覧画面共通で利用できる querystring テンプレートタグを追加し、検索条件を維持したままページ遷移できるよう改善しました。
-
追加
一覧画面の戻り先制御を共通化
get_safe_next_url を共通ユーティリティ化し、一覧画面から編集・削除後に元の検索状態へ安全に戻れる仕組みを整備しました。
-
変更
共通ページネーションをGETパラメータ保持方式へ変更
画面ごとに個別実装されていた検索条件保持処理を廃止し、共通ページネーション部品で検索条件を自動引継ぎする方式へ統一しました。
Version 0.46.22
罰則管理画面から、利用者検索を伴う手動罰則登録と解除操作を行えるよう改善しました。
利用者候補検索・解除日時指定・解除ボタン追加に対応し、運用ログ記録および権限制御も強化しています。
また、追加/解除後にはマスタ送信実施を促すメッセージを表示するよう改善しました。
-
追加
罰則管理に手動追加機能を追加
罰則管理一覧に「+手動追加」ボタンを追加
・利用者ID/氏名検索による候補選択型の登録に対応
・利用者候補を非同期検索し、候補一覧から選択可能
・解除日時・理由を指定して手動登録可能
・locker.penalties.manual_add / locker.penalties.borrower_lookup を追加
・edit権限ユーザーのみ操作可能
・system_operation_logs に PENALTY_MANUAL_ADD を記録 -
追加
罰則管理に解除機能を追加
罰則中ユーザーに「解除」ボタンを追加
・確認Modal経由で解除操作可能
・status=RELEASED / release_at=現在日時 へ更新
・locker.penalties.release を追加
・POST限定+edit権限で保護
・system_operation_logs に PENALTY_RELEASE を記録 -
変更
手動罰則登録時の利用者メモ連携を追加
罰則管理で手動罰則を登録した際、入力した理由を利用者管理の備考(メモ)へ自動追記するよう改善しました。既存メモがある場合は改行して末尾へ追加し、既存内容は保持されます。また、手動解除時は利用者メモを変更しない仕様に統一しました。あわせて、「メモなし」「既存メモあり」「複数回登録による追記」「解除時は変更なし」の4パターンを自動テスト化し、メモ連携機能の品質を強化しました。
Version 0.46.21
備品管理の新規/編集画面において、構成品(ICタグ)の入力行を画面上で追加できる機能を追加しました。
これにより、保存前に複数のICタグをまとめて登録できるようになり、運用時の入力効率を改善しています。
また、追加ボタンはRBAC権限に連動し、新規/編集権限を持つユーザーのみ表示されるよう制御を追加しました。
-
追加
備品管理で構成品(ICタグ)の複数行追加に対応
備品管理の新規/編集画面に「行を追加」ボタンを追加し、構成品(ICタグ)の入力行を画面上で動的に追加できるよう改善しました。
これにより、保存前に複数のICタグをまとめて登録可能となり、1件ずつ保存する必要がなくなりました。
Django FormSet の management_form(TOTAL_FORMS)も動的更新に対応し、追加行を含めた一括保存を実現しています。 -
変更
構成品(ICタグ)入力UIを改善
構成品(ICタグ)エリアに、複数登録向けの動的行追加UIを追加しました。
・「+ 行を追加」ボタンを追加
・formset.empty_form を利用したクライアントサイド行生成へ対応
・空行はDjango FormSet標準挙動により保存対象外
・既存の削除チェック機能も継続対応 -
変更
構成品追加ボタンをRBAC権限制御へ対応
構成品(ICタグ)の「行を追加」ボタンを、既存RBACルールに合わせて権限制御へ対応しました。
・新規画面:
locker.equipment.list の create 権限保持時のみ表示
・編集画面:
locker.equipment.list の edit 権限保持時のみ表示
権限のないユーザーには、追加ボタンを表示しないよう改善しています。
Version 0.46.20
システム運用ログ画面において、検索条件の保持、種別フィルタの整合性、日時検索、CSV出力との表示統一を改善しました。
また、日常的な SKIP ログによるノイズを抑制し、運用上重要なログを確認しやすく整理しています。
検索UIでは、内部実装用語(action/detail)依存だった表現を利用者向けへ見直し、
日時・種別・結果ベースで検索できることを明示しました。
-
変更
システム運用ログの検索条件保持・フィルタ整理・CSV連携を改善
・システムログ一覧/CSV出力で q/action/result 条件を保持するよう改善
・ページネーション時に検索条件が解除される問題を修正
・種別フィルタを type から action ベースへ整理(下位互換維持)
・結果フィルタ(正常/失敗/スキップ/実行)を追加
・種別プルダウンを既知 action + 実データ action の統合生成へ変更
・CSV出力時も現在の検索条件を引き継ぐよう改善 -
修正
システムログの定常SKIPノイズを抑制
・system_operation_logs から routine SKIP ログ(not_run_time / disabled 等)を除外
・sync_borrowers の routine SKIP/cleanup ログ出力を整理
・運用上重要なログが routine SKIP に埋もれる問題を改善
・BORROWER_SYNC の定常SKIPのみ一覧/CSVから除外するよう調整 -
変更
システムログ検索UIと日時表記を利用者向けに改善
・検索プレースホルダを
「日時・種別・結果で検索(例: 2026/05/14、バックアップ、失敗)」へ変更
・システムログ一覧/CSVの日付形式を YYYY/MM/DD HH:mm に統一
・YYYY/MM/DD / YYYY/MM/DD HH:mm による日時検索へ対応
・互換形式として YYYY-MM-DD 形式も許可
・「実行」結果の判定ロジックを整理し、RUN系ログ解釈を統一
Version 0.46.19
ロッカー設備の再起動・シャットダウン操作について、
設備編集権限とは独立した専用権限で制御できるよう改善しました。
電源操作専用の screen_id を追加し、ロールごとに個別制御可能となっています。
-
追加
電源操作専用の screen_id「locker.device.power」を追加
ロッカー設備の再起動・シャットダウン操作専用の権限 screen_id「locker.device.power」を追加。
権限マトリクス画面上で「電源操作」として独立表示され、
編集権限とは別に個別制御できるよう改善。 -
変更
再起動・シャットダウン権限を設備編集権限から分離
device_reboot / device_shutdown の権限判定を
locker.device.list から locker.device.power へ変更。
設備編集権限を持つだけでは電源操作できないよう制御を分離。 -
修正
電源操作ボタンの表示条件を専用権限へ変更
設備一覧画面の再起動・シャットダウンボタンについて、
locker.device.power 権限を持つユーザーのみ表示されるよう修正。
RBAC設定と画面表示条件を統一。
Version 0.46.18
利用者一覧画面の初期表示を全件表示から検索実行型へ変更しました。
初回アクセス時は一覧を表示せず、検索実行後のみ一覧を表示するよう改善しています。
-
変更
利用者一覧を検索実行型表示へ変更
利用者一覧画面の初期表示時に全件表示していた挙動を変更し、
検索フォーム実行後のみ一覧を表示する方式へ変更。
履歴一覧と同様の操作性へ統一。 -
修正
利用者一覧の初期QuerySet取得を抑制
検索条件未指定時は Borrower.objects.none() を返すよう変更し、
初回アクセス時の不要な全件取得を抑制。
表示速度および画面負荷を改善。 -
その他
利用者検索処理の可読性を改善
一覧表示判定フラグを has_searched から search_requested に変更し、
検索フォーム送信有無を表す変数名へ整理。
コード可読性と保守性を改善。 -
修正
履歴一覧の未検索状態と0件状態を分離
履歴一覧で request.GET の有無を判定し、
未検索時は QuerySet を生成しないよう変更。
検索未実行状態と検索結果0件状態を明確に区別できるよう改善。 -
その他
履歴一覧の空状態メッセージを改善
履歴一覧の空状態表示を見直し、
初回アクセス時に誤解を与えない案内表示へ変更。
ユーザーが検索未実行であることを分かりやすく改善。
Version 0.46.17
利用者管理に備考欄(最大400文字)を追加しました。
CSV同期時にも画面で入力した備考が上書きされないよう改善し、運用メモを継続保持できるよう対応しています。
-
追加
利用者管理に備考欄を追加
利用者情報に備考欄(最大400文字)を追加。
利用者一覧および利用者編集画面から備考を入力・更新できるよう改善。 -
変更
CSV同期時に利用者備考を保持するよう改善
利用者CSV同期処理において、画面側で登録した備考がCSV取込時に上書きされないよう変更。
既存の差分同期方式を維持しつつ、運用メモを永続保持できるよう改善。 -
追加
利用者フォームに備考入力制限を追加
利用者作成・編集フォームに備考入力欄を追加し、最大400文字まで入力可能に修正。
画面・モデル・CSV同期処理の整合性を調整。
Version 0.46.16
ログイン画面の User / Password 入力欄について、label と input の関連付けを修正し、ブラウザのパスワードマネージャー保存に対応しました。
アクセシビリティ改善と入力利便性向上を目的とした調整です。
-
修正
ログインフォームの label と input の関連付けを修正
ログイン画面の User / Password フィールドに id 属性を追加し、label の for 属性と対応付けを実施。
スクリーンリーダーやブラウザ補助機能で正しく関連付けされるよう改善。 -
変更
ログインフォームに autocomplete 属性を追加
User フィールドへ autocomplete="username"、
Password フィールドへ autocomplete="current-password" を追加。
Chrome などのブラウザで資格情報保存・自動入力が正しく動作するよう改善。 -
その他
グイン画面のアクセシビリティと入力利便性を向上
ログインフォームの入力支援・ブラウザ互換性を改善し、
ユーザー名・パスワード入力時の操作性とアクセシビリティを向上。
Version 0.46.15
履歴一覧および集計画面の設備検索を、手入力から登録済み設備を選択するプルダウン形式へ変更しました。
設備コードの入力負荷を減らし、入力ミスや意図しない部分一致検索を防止できるよう改善しました。
-
変更
履歴一覧・集計画面の設備検索をプルダウン化
履歴一覧および集計画面の「設備」検索項目を、手入力欄から登録済み設備を選択するプルダウン形式へ変更。
選択肢には LockerDevice に登録されている設備を使用し、「設備コード - 設備名称」の形式で表示するよう改善。 -
修正
設備検索の条件を完全一致に変更
履歴一覧の設備検索条件を、部分一致検索(icontains)から設備コードの完全一致検索へ変更。
プルダウンで選択した設備のみが検索対象となるようにし、意図しない設備が検索結果に含まれる問題を防止。 -
その他
設備検索の入力負荷と検索ミスを軽減
毎回設備コードを手入力する必要をなくし、登録済み設備から選択できるように変更。
検索操作を分かりやすくし、設備コードの入力間違いによる検索漏れを抑制。
Version 0.46.14
拠点別ダッシュボードの稼働率(KPI)計算において、利用不可(disabled)のBOXも総BOX数に含まれていたため、ホームダッシュボードと算出条件が一致していませんでした。
本修正では、稼働率計算時の総BOX数を「利用可能(enabled)」なBOXのみに変更し、貸出中BOX数の集計条件と統一しました。
これにより、ホームダッシュボード・拠点別ダッシュボードの両方で、利用不可BOXを除外した同一ルールで稼働率が算出されます。
-
その他
ダッシュボード間で稼働率算出ルールを統一
ホームダッシュボードと拠点別ダッシュボードで異なっていたBOX集計条件を統一し、運用上の数値差異が発生しないよう改善
Version 0.46.13
歴一覧で TAKE_OUT イベントの備品番号を raw_payload.takeout_equipment_no から表示している仕様に合わせ、検索条件も TAKE_OUT の保存形式に対応しました。
-
変更
TAKE_OUT イベントの備品番号検索対応
履歴検索の equipment_no フィルタを OR 条件へ変更
通常イベントは BorrowEvent.equipment_no を検索
TAKE_OUT イベントは raw_payload.takeout_equipment_no を検索
portal_locker/views/history.py の _build_queryset() を更新 -
修正
TAKE_OUT の表示値と検索結果の不一致を修正
履歴一覧で表示されている TAKE_OUT の備品番号で検索できない問題を修正
履歴一覧とCSV出力で検索結果が一致しない問題を修正
TAKE_OUT の表示仕様(raw_payload 優先表示)は維持
Version 0.46.12
備品管理および利用者一覧において、
編集・削除・新規登録後に一覧へ戻った際、
ページ番号や検索条件が初期化される問題を改善しました。
一覧表示中の状態を維持したまま戻れるよう調整しています。
-
修正
備品管理画面で一覧のページ位置・検索条件を保持
備品管理において、編集・削除・新規登録後に一覧へ戻った際、
simple-datatables のページ位置や検索条件が初期化される問題を修正。
一覧表示時のページ番号・検索状態を保持したまま戻れるよう改善。 -
修正
利用者一覧で一覧画面の戻り先を保持
利用者一覧において、編集・削除・新規登録後に一覧へ戻った際、
ページ番号や検索条件が初期状態へ戻る問題を修正。
next パラメータを利用し、元の一覧URLへ戻るよう改善。
保存・キャンセル・削除時すべてで同一動作に統一。 -
変更
一覧画面への安全な戻り先判定処理を共通化
ユーザ管理系ビューで利用する戻り先URL判定処理を共通化。
不正なURLや外部URLへのリダイレクトを防止しつつ、
一覧画面のページ状態を安全に維持できるよう改善。
Version 0.46.11
サイドバーのシステム管理配下に重複表示されていた旧「メール設定」メニューを削除し、「通知(メール)設定」へ表記を統一しました。
あわせて、現在開いている画面に応じてサイドバーのメニューグループが正しく展開されるよう調整しました。
-
変更
サイドバーのメール設定メニューを統一
「メール設定」は「通知(メール)設定」に統合済みのため、
システム管理配下に残っていた旧「メール設定」メニューを削除。
同一画面への二重導線を解消し、UI上の表記を「通知(メール)設定」に統一。 -
修正
サイドバーのアコーディオン展開状態を修正
現在表示中の画面に応じて、対応するサイドバーのメニューグループが正しく開くよう修正。
別メニューが開いてしまう、または該当グループが閉じたままになる表示不整合を改善。 -
変更
サイドバーのメニューグループ判定を共通化
サイドバー内で個別に行っていたメニューグループの開閉判定を整理し、
現在のURL名・画面状態に基づいて一貫して判定できる構成へ改善。
今後のメニュー追加・修正時に表示状態のずれが起きにくいよう整理。 -
修正
拠点別ダッシュボードのサイドメニュー active 表示を修正
拠点別ダッシュボード(各キャンパス状況画面)表示時に、
左サイドメニューの該当項目が active 表示されない問題を修正。
active クラスの付与先を a.nav-link から li.nav-item へ統一し、
他メニューと同じ active 判定方式へ改善。
Version 0.46.10
未返却罰則判定において、別BOX・別ロッカーへ返却した場合でも、
同一利用者・同一備品の最新返却履歴を正しく判定できるよう改善しました。
これにより、正常返却済みにもかかわらず未返却扱いとなる問題を修正しました。
-
修正
未返却罰則判定の履歴集約キーを見直し
pply_penalties.py の最終履歴集約条件を、
borrower_id + device_code + box_no + equipment_no から
borrower_id + equipment_no に変更。
同一利用者・同一備品については、返却先のBOXやロッカーが異なる場合でも、
単一の最新履歴として判定する方式へ改善。 -
修正
別BOX/別ロッカー返却時に未返却扱いとなる問題を修正
ICタグ返却機能などにより、貸出時と異なるBOX・ロッカーへ返却した場合、
返却履歴が別系列として扱われ、
貸出履歴側が未返却状態のままとなる問題を修正。
正常返却済みの利用者へ誤って罰則が付与される可能性を改善。 -
修正
最新イベント再取得条件の整合性を改善
最新イベント取得クエリから device_code / box_no 条件を除外し、
返却期限計算に使用する device_code は、
取得済みの最新イベント情報 (last_ev.device_code) を参照する方式へ変更。
返却許容仕様と罰則判定ロジックの整合性を改善。 -
修正
未返却判定ロジックをダッシュボード・通知・罰則処理で統一
ダッシュボードの未返却一覧、返却通知バッチ、罰則判定バッチで未返却判定条件が一致していなかった問題を修正。
集計キー・対象期間・返却完了イベントの扱いを統一し、画面表示とバッチ処理で異なる判定結果になる問題を改善。 -
修正
RETURN / ADMIN_RETURN / STORE_IN を返却完了イベントとして統一
返却完了とみなすイベント種別を統一し、
RETURN・ADMIN_RETURN・STORE_IN を返却済みとして扱うよう変更。
ダッシュボード・通知・罰則処理で異なっていた判定条件を統一。 -
変更
未返却判定の集計単位を borrower_id + device_code + box_no に統一
未返却判定時の履歴集計キーを統一し、
利用者+設備+BOX単位で最新イベントを判定するよう変更。
イベント履歴の解釈差異による未返却判定ズレを改善。
Version 0.46.9
作成・編集・削除・出力権限に応じて、各一覧画面の操作ボタンを表示制御するよう改善しました。
また、403/404などのエラーページから画像依存を削除し、管理画面として分かりやすい日本語メッセージ表示に変更しました。
-
追加
RBAC共通権限制御を拡張
rbac_permissions() に user_can_create / user_can_delete / user_can_export を追加。
テンプレート側で作成・編集・削除・CSV出力などの権限制御を共通利用できるよう改善。 -
変更
一覧画面の操作ボタンを権限に応じて表示制御
備品管理、利用者管理、ロール管理、ユーザ管理、集計画面などで、
RBAC権限がないユーザには作成・編集・削除・CSV出力ボタンを表示しないよう変更。
権限不足時に押下後403となる分かりにくい挙動を改善。 -
修正
エラーページUIをシンプル化
400 / 403 / 404 エラーページから画像依存を削除し、
Bootstrap Icons と日本語メッセージのみで表示する構成へ変更。
あわせて404ページの未設定テキスト、および一部HTMLタイポを修正。
Version 0.46.8
ロール権限設定画面において、条件検索を行った状態で保存するとエラーが発生する問題を修正しました。
検索条件によって一部の権限情報が正しく処理されず、画面エラーとなるケースがありました。
本対応により、すべての権限情報を正しく処理するように改善しています。
-
修正
権限設定画面の保存エラーを修正
ロール権限設定画面にて検索条件(?q=)を指定した状態で保存すると、
一部の権限データが正しく処理されずエラーが発生する問題を修正しました。
原因は、検索フィルタにより表示中の権限データと保存対象データが不一致となり、
内部的に空データが生成されていたことです。
対応として、保存処理では常に全件の権限データを対象とするように変更し、
データ不整合が発生しないように修正しました。 -
変更
権限設定画面の検索処理を改善
権限設定画面の検索処理をサーバー側からクライアント側(JavaScript)へ変更しました。
これにより、検索状態でも安全に保存できるようになり、操作の安定性が向上しました。 -
修正
テンプレートでの不正データ参照を防止
権限設定画面のテンプレートにおいて、存在しないデータ参照によりエラーが発生する可能性があったため、
常に正しいデータのみを参照するように修正しました。
Version 0.46.7
画面権限(RolePermission)に表示順(sort_order)を追加し、メニュー順に統一。
ロッカー設備の電源操作・BOX機能のRBAC制御を強化し、view/edit権限の分離を実施。
seedのscreen_nameをサイドバー表示名に統一し、未登録screen_idを検出する管理コマンドを追加。
権限不整合による403エラーやUI誤表示を修正し、権限管理の整合性と保守性を向上。
-
追加
画面権限テーブルに表示順(sort_order)追加
RolePermissionモデルにsort_order(デフォルト999)を追加し、マイグレーション0007_rolepermission_sort_order.pyを追加。
画面権限一覧の並び順をscreen_id順からサイドバーメニュー順(10刻み)に変更。
新規ロール作成時もsort_orderを引き継ぐよう初期化処理を改善。 -
追加
RBAC カバレッジチェック管理コマンド(check_rbac_coverage)を新設
screen_nameをサイドバー表示名に統一。
例:
・locker.borrowers:借用者管理 → 利用者一覧
・locker.history.list:貸出履歴 → 履歴一覧
・locker.penalties:ペナルティ → 罰則管理
・locker.equipment.list:備品一覧 → 備品管理
・system.logs.api_auth.list:API(認証) → APIログ(認証)
全screenにsort_order(10刻み)を追加。 -
変更
seed の screen_name をサイドバー表示名に統一
以下の screen_name を更新(seed 再実行で既存レコードも自動更新)。
locker.borrowers: "借用者管理" → "利用者一覧" / locker.history.list: "貸出履歴" → "履歴一覧" / locker.penalties: "ペナルティ" → "罰則管理" / locker.equipment.list: "備品一覧" → "備品管理" / locker.stats.list: "履歴集計" → "集計" / system.logs.api_auth.list: "API(認証)" → "APIログ(認証)"。
seed に sort_order 値(メニュー順 10刻み)を追加。 -
修正
サイドバーの「備品管理」メニュー表示条件バグを修正
備品管理メニューの表示条件が誤ってlocker.guidance.settingsを参照していたため修正。
正しくlocker.equipment.list権限で表示されるよう変更。 -
変更
ロッカー設備の電源操作ボタンを RBAC edit 権限で制御
設備一覧の再起動・シャットダウンボタンをRBAC edit権限必須に変更。
view権限のみのユーザには表示されないよう制御。
superuserは従来通り表示。 -
変更
ロッカー設備 BOX 一覧・レイアウト編集を view/edit 権限で分離
BOX一覧(device_boxes)はview権限必須、
レイアウト編集(device_boxes_layout)はedit権限必須に変更。
閲覧と編集の責務を分離。 -
修正
RBAC不整合による403エラー・UI誤表示の修正
screen_id不一致による403エラーを修正(system.manual.view → system.manual)。
利用者更新に必要な権限locker.borrower_sync.editを追加。
未使用のedit/delete/export権限をUI上で無効化。
権限チェックロジックを統一し保守性を向上。 -
修正
権限マトリクス画面の動作安定化
JavaScript初期化タイミングを修正し、権限設定画面の動作不安定を解消。
-
修正
スーパーユーザーRBAC統一と built-in admin アカウント保護を強化
Django の is_superuser=True ユーザーについて、
role_permissions の設定有無に依存せず常に権限許可されるようRBAC判定を統一。
テンプレート側の user_can_* 判定もスーパーユーザーでは常時許可となるよう改善。
あわせて username='admin' の built-in 管理者アカウント保護を強化し、
削除・ロール変更・is_superuser変更・is_active変更を禁止。
管理画面では保護対象項目を変更不可にし、削除ボタン非表示・警告表示を追加。
ロール割当画面からの間接的な権限変更も禁止し、
不正変更操作は WARN_ADMIN_PROTECTION として system_operation_logs に記録されるよう改善。
また、システム管理サイドバーのRBAC表示判定も見直し、
一般ユーザーには閲覧可能な画面のみ表示されるよう修正。 -
変更
built-in admin アカウント保護と権限マトリクス制御を強化
built-in admin アカウント保護処理を強化し、
ロール変更・username変更・権限マトリクス経由の権限変更を防止するよう改善。
admin 編集画面では disabled 項目の初期値不足により保存失敗する問題を修正し、
username の変更試行についてもサーバー側で拒否・ログ記録するよう対応。
さらに admin ロールの権限マトリクスでは、
チェックボックス変更・保存操作を禁止し、
UI側でも変更不可状態となるよう改善。 -
修正
admin アカウント保護の不正変更検知を強化
admin アカウントへの不正変更試行について、
POST改ざん・権限マトリクス変更・username変更などを検知し、
WARN_ADMIN_PROTECTION として system_operation_logs に記録するよう改善。
多重防御(defence-in-depth)による管理者保護を強化。
Version 0.46.5
ロッカーステータスAPIで resolve_box_status 関数の代わりにモデルの status_code プロパティおよびモデルメソッドを使用するよう修正しました。
-
修正
ロッカーステータスAPIの不具合修正
resolve_box_status 関数を廃止し、box.status_code・box.get_status_label()・box.get_status_css_class() などのモデルメソッドを使用するよう変更(対象ファイル: status_builder.py, export_locker_status_html.py)
Version 0.46.4
ログイン画面のバージョン番号から修正履歴を確認できるようにしました。
- 追加 ログイン画面のバージョン番号クリックでバージョン情報を表示
- 変更 表示バージョンをDB管理に変更