カスタムフィールドの追加

1,347 views
Skip to first unread message

vista satochuu

unread,
Aug 24, 2010, 6:42:15 AM8/24/10
to Redmine Users (japanese)
お世話になっております。
現在、課題管理をEXCELで管理しているのですがredmineでの管理に移行しようかと考えています。
その際に、以下のような問題が発生したので、質問させていただきました。

1.課題管理(EXCEL)には、質問と、回答項目があるが、redmineには、説明と注記しかない。説明に質問を書いた場合、回答は、注記に書くこ
とになるが、注記項目は、検索条件に設定できない。また、一覧・CSVにも表示されない。カスタムフィールドに、回答項目を作成すれば、この問題は解決
するが、チケット詳細画面での並び順が、回答→説明という感じで逆になっています。
また、カスタムフィールドを追加した場合、追加したカスタムフィールドは、CSVの一番右に表示されるかとおもっていたのですが、一番右に説明が設定さ
れ、右から二番目に追加したカスタムフィールドが設定されます。

チケットの詳細画面で、説明の下に回答項目(カスタムフィールド)表示させるには、どのようにすればよいでしょうか?
また、CSV出力時に、カスタムフィールドを一番右に出力するには、どのようにすればよろしいでしょうか?

質問ばかりでもうしわけありませんが、よろしくお願いいたします。


fmkt

unread,
Aug 24, 2010, 9:41:11 PM8/24/10
to Redmine Users (japanese)
こんにちは。

> チケットの詳細画面で、説明の下に回答項目(カスタムフィールド)表示させるには、どのようにすればよいでしょうか?

カスタムフィールドそのものを説明の下に表示するようにすることは、ソースを書きかえれば可能です。

IssuesHelper#render_custom_fields_rows の<tr>の追加をやめて、
app/views/issues/show.rhtml の render_custom_fields_rows を追加している位置を
discriptionの後に来るようにしてはいかがでしょうか。
レイアウトは崩れてしまうかもしれませんが…

> また、CSV出力時に、カスタムフィールドを一番右に出力するには、どのようにすればよろしいでしょうか?

IssuesHelper#issues_to_csv で順番を変更できると思います。
description というのが説明にあたるので、カスタムフィールドの後ろに来るようにheadersとfieldsの順番を変更すれば大丈夫で
す。


また、
Journal.find(:all,
:conditions => ["journalized_id= ?", issue.id],
:order => :created_on).map(&:notes).uniq.each do |note|
fields << "#{note}\x0D\x0A"
end
を、最後の方に書くことで注記をcsvに出力することも可能です。

実際に私が書いたパッチはこんな感じになっています。
Index: app/helpers/issues_helper.rb
===================================================================
--- app/helpers/issues_helper.rb (リビジョン 4033)
+++ app/helpers/issues_helper.rb (作業コピー)
@@ -199,7 +199,8 @@
l(:field_estimated_hours),
l(:field_parent_issue),
l(:field_created_on),
- l(:field_updated_on)
+ l(:field_updated_on),
+ l(:field_description)
]
# Export project custom fields if project is given
# otherwise export custom fields marked as "For all projects"
@@ -207,7 +208,8 @@
custom_fields.each {|f| headers << f.name}
# Description in the last column
headers << l(:field_description)
- csv << headers.collect {|c| begin; ic.iconv(c.to_s); rescue;
c.to_s; end }
+# csv << headers.collect {|c| begin; ic.iconv(c.to_s); rescue;
c.to_s; end }
+ csv << headers.collect {|c| begin; c.to_s.tosjis; rescue;
c.to_s; end }
# csv lines
issues.each do |issue|
fields = [issue.id,
@@ -230,7 +232,13 @@
]
custom_fields.each {|f| fields <<
show_value(issue.custom_value_for(f)) }
fields << issue.description
- csv << fields.collect {|c| begin; ic.iconv(c.to_s); rescue;
c.to_s; end }
+ Journal.find(:all,
+ :conditions => ["journalized_id= ?", issue.id],
+ :order => :created_on).map(&:notes).uniq.each do
|note|
+ fields << "#{note}\x0D\x0A"
+ end
+# csv << fields.collect {|c| begin; ic.iconv(c.to_s); rescue;
c.to_s; end }
+ csv << fields.collect {|c| begin; c.to_s.tosjis; rescue;
c.to_s; end }
end
end
export


参考になれば幸いです。

vista satochuu

unread,
Aug 25, 2010, 5:35:55 AM8/25/10
to Redmine Users (japanese)
返信ありがとうございます。
ご教授していただいた内容で、なんとか解決しました。
ですが、新たな問題が発生しました。
現在、カスタムフィールド「回答」を追加したのですが、詳細画面の入力欄が異常にせまく入力しにくいということがわかりました。
カスタムフィールドのテキストエリアを、注記なみに大きくすることは可能でしょうか?
custom_fields_helper.rbをいろいろ修正してみて、縦のサイズは、正しく表示されたのですが、横のサイズがうまく反映されませ
ん。
(カスタムフィールド項目が2列表示されているのが関係していると思います。)
お手数をおかけしますがよろしくお願いいたします。


vista satochuu

unread,
Aug 25, 2010, 6:06:15 AM8/25/10
to Redmine Users (japanese)
返信ありがとうございます。
ご教授していただいた内容で、なんとか解決しました。
ですが、また問題が発生しました。
カスタムフィールドのテキストエリア入力欄が、狭すぎて入力しずらいのです。
このテキストエリアのサイズを注記並みに拡張することは可能でしょうか?
入力欄は2項目構成になっているので、(colspanのように)1項目構成にし、縦の長さを拡張するにはどのように修正すればよろしいでしょうか?
何度も申し訳ないですがよろしくお願いたします。
Reply all
Reply to author
Forward
0 new messages