管理者権限でログインしているかどうかをひと目で分かるようにする Redmine プラグインを作った

Redmine の管理者と一般ユーザを分けていると、よくある失敗として、
管理者権限でログインしたままでいることを忘れたままチケットを作成・更新してしまう、
ということがあります。

そうすると、チケットの更新者が自分じゃなくて管理者ユーザになってしまって悲しい思いをします。

そういった事故を減らすために管理者でログインしているかどうかをテーマでひと目で分かるようにするプラグインを作りました。

環境

Redmine 3.0.0

機能

管理者ユーザでログインしている時のみ <body> タグの class に "admin" を追加します。

この class を利用したテーマを自作することで管理者と一般ユーザの画面の見た目を切り替えることができるようになります。

利用手順

テーマを作成します。

例えば、public/themes/admin/stylesheets/application.css を以下のように作成します。

@import url(../../../stylesheets/application.css);
body.admin #top-menu { background-color: #f0908d; }
body.admin #header { background-color: #f2a0a1; }

管理画面で作成したテーマを指定します。


この例の場合は、一般ユーザでログインした場合は通常の画面

管理者でログインした場合は別の見た目になります。

これで誤ったアカウントでチケットを更新する事故をかなり防げるようになります。

まとめ
  • 管理者でログインしているかどうかを判別するために画面を切り替えるプラグインを作った
  • プラグインを作って class 属性を操作するのは簡単な割にできることが広がっていい感じ