プロジェクト

全般

プロフィール

QA #313

中村 浩平 さんがほぼ7年前に更新

h3. ■現象/要望 

 Redmine上で、ユーザーの誤削除を絶対にできない様にしたい。 

 誤ってユーザーを削除した場合、DBのバックアップでも無いと復旧は困難。 
 ユーザIDのロックで使用不能になるのだから、削除は最初から出来なくて良いと思う。 
 削除で浮くデータサイズは微々たる量だし、復旧の手間の方が無駄。 

 h3. ■解決策 

 下記3案有 

 1. Redmineのソース改変 

 app/model/users.rb 

 class User < Principal の中に、下記コードを追加して再起動する。 

 <pre> 
   # Prohibit deletion of users 
   def destroy 
     false 
   end 
 </pre> 

 これにより 
 ・ユーザ削除ボタンを押しても削除されない。 
 ・ユーザロックはできる。 

 2.View Customize Plugin でユーザー管理画面の「削除」ボタンを非表示化 
 (ソース変更不要・再起動不要) 

 <pre><code class="css"> 
 /* 
 Path pattern: /users 
 Type: css 
 ユーザー管理画面で削除ボタンを非表示に 
 */ 

 .icon-del{ 
     display:none; 
 } 
 </code></pre> 


 3.Redmine本体の機能追加(案) 

 sudo_mode みたいに coniguration.yml で有効・無効化 


 h3. ■対応状況 

 ↓動作確認済 
 1.ソース改竄による対応 

 h3. ■補足 

戻る