Redmineを使ってみっかーとなったので、いろいろ触ってみてたのですが、20人くらいのユーザーを1件ずつ登録するのに死にそうになったので、プラグインを作ってみた。3時間くらいで。Rubyもrailsも全然知らないけど。
作ったというか、実際には既存のプラグインとかのコードを組み合わせただけなんですが。
本当は先週くらいに作ってたんだけど、公開するためのコードの整理とかドキュメントをちゃんと書くののほうが時間かかったよ。
感謝
インスパイア元、というか、コードのfork元。
怒られたらどうしよう。
使い方
ダウンロード
http://www.ne.jp/asahi/shrkw/shrkw/redmine/redmine_user_import.0.0.1.zip
login,password,lastname,firstname,mail,admin "a4","aa","john","doe","hoge@example.com",0 "a6","aa2","larry","wall","hoge2@example.com",1
- 管理者ユーザーでログイン
- 右上のリンクから一括登録画面へ
- あとは画面に沿って進めてください!
依存ライブラリ
- fastercsv
こんな感じで入れてください。
#gem install fastercsv
参考情報
作るのに参考にしたサイト。こちらにも感謝。
- Plugin Tutorial - Redmine
- Redmine プラグイン開発入門 - mallowlabsの備忘録
- Redmineでチケットの一括インポート - こくぼ@Everything is the experience.
- 世界 daipresents.com
- RedmineでチケットをCSVから一括登録/更新するプラグイン - エンジニアブログ - スカイアーク
- Redmineのプラグイン作ってみた - maeda.na@はてな
Ruby自体については、シンボルとかよくわかんないというレベルですが、この本が参考になりました。
たのしいRuby 第2版 Rubyではじめる気軽なプログラミング
- 作者: 高橋征義,後藤裕蔵
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2006/08/05
- メディア: 単行本
- 購入: 11人 クリック: 350回
- この商品を含むブログ (265件) を見る
でも、基本的にはソース読んだほうがいろいろわかった。
作ってたときのメモ
GLocで、言語設定された言語のリソースがないときに、en.ymlをみてくれない
ja.ymlとかなかったときはen.ymlをみてくれるのかなーと思ってたんですが、みてくれないんですね。
リソース読んでくれねーというのでしばらく悩みましたが、ja.ymlを作ってそのなかに書けば、ちゃんと反映してくれました。
管理者ユーザーにだけ表示したい
if属性のところに書けばいいみたい。
menu :account_menu, :user_import, { :controller => 'user_import', :action => 'index' }, :caption => :user_import, :before => :logout, :if => Proc.new {User.current.admin?}
情報元はRedmineでチケットの一括インポート - こくぼ@Everything is the experience.。
でも、これだけだとURLさえ知られてたらアクセスできちゃうな。コントローラーのほうでも管理者か判断したいのに。とか思ってソースみたら。
管理者権限がないユーザーには表示させたくない
settings_controller.rbにちゃんと書かれてますね。
class UserImportController < ApplicationController unloadable before_filter :require_admin
require_adminをfilterに入れる、と。
デフォルトの言語を取得する
Settingオブジェクトからとってこれるのね。
Setting.default_language