redmine 2.4 でチケット一覧の項目幅を変更したい

2,295 views
Skip to first unread message

jun

unread,
Jun 25, 2014, 5:55:10 AM6/25/14
to redmine-...@googlegroups.com
以下を参考にチケット一覧の項目幅を変更出来る様にしようと試みていますが、

redmine 2.4でパッチのあてる対象が良く理解出来ていません。

対処方法をご教示下さい。

Misako Tateiwa

unread,
Jun 26, 2014, 1:13:44 AM6/26/14
to redmine-...@googlegroups.com
よく理解できていない、というのをもう少し詳しく教えてもらえませんか?
・ファイルがみつからない
・ファイルはあるけど修正箇所がみつけられない
などなど・・・

2014年6月25日水曜日 18時55分10秒 UTC+9 jun:

jun

unread,
Jun 26, 2014, 5:19:49 AM6/26/14
to redmine-...@googlegroups.com
スキル不足で、質問内容が明確でなくすみません。
私の理解があっているかも疑問です。宜しくお願いします。

https://groups.google.com/forum/#!topic/redmine-users-ja/U46wZ0H1rZc
に記載されている

「上記からダウンロードした jkl-resizable.js を public/javascripts に置い
 て以下のパッチをあててみてください。」

・jkl-resizable.js を public/javascripts を置いて(OK)
・以下パッチ(?)とは redmineが0.7.1で記述しているので
 修正箇所が違うと理解しているのですが、先頭の修正箇所以外
 見付けられていません。

queries_helper.rb/_list.rhtmlの
-行を削除し +行を追加する。

以下、パッチの意味を取り違えていますか?
 
diff -ruN redmine-0.7.1.orig/app/helpers/queries_helper.rb redmine-0.7.1/app/helpers/queries_helper.rb
--- redmine-0.7.1.orig/app/helpers/queries_helper.rb        2008-05-04 19:29:56.000000000 +0900
+++ redmine-0.7.1/app/helpers/queries_helper.rb        2009-05-20 16:25:21.000000000 +0900
@@ -23,8 +23,9 @@
   
   def column_header(column)
     column.sortable ? sort_header_tag(column.sortable, :caption => column.caption,
-                                                       :default_order => column.default_order) : 
-                      content_tag('th', column.caption)
+                                                       :default_order => column.default_order,
+                                                       :id => "#{column.name}_header") : 
+                      content_tag('th', column.caption, :id => "#{column.name}_header")
   end
   
   def column_content(column, issue)
diff -ruN redmine-0.7.1.orig/app/views/issues/_list.rhtml redmine-0.7.1/app/views/issues/_list.rhtml
--- redmine-0.7.1.orig/app/views/issues/_list.rhtml        2008-05-04 19:30:02.000000000 +0900
+++ redmine-0.7.1/app/views/issues/_list.rhtml        2009-05-20 17:07:36.000000000 +0900
@@ -6,7 +6,7 @@
         </th>
                 <%= sort_header_tag("#{Issue.table_name}.id", :caption => '#', :default_order => 'desc') %>
         <% query.columns.each do |column| %>
-          <%= column_header(column) %>
+          <%= column_header(column) %><%= content_tag('th', '', :id => "#{column.name}_east", :style => "width: 1px;") %>
         <% end %>
         </tr></thead>
         <tbody>
@@ -14,9 +14,20 @@
         <tr id="issue-<%= issue.id %>" class="issue hascontextmenu <%= cycle('odd', 'even') %> <%= "status-#{issue.status.position} priority-#{issue.priority.position}" %>">
             <td class="checkbox"><%= check_box_tag("ids[]", issue.id, false, :id => nil) %></td>
                 <td><%= link_to issue.id, :controller => 'issues', :action => 'show', :id => issue %></td>
-        <% query.columns.each do |column| %><%= content_tag 'td', column_content(column, issue), :class => column.name %><% end %>
+        <% query.columns.each do |column| %><%= content_tag 'td', column_content(column, issue), :class => column.name %><%= content_tag('td', "", :style => "width: 1px;") %><% end %>
         </tr>
         <% end -%>
         </tbody>
 </table>
 <% end -%>
+<% javascript_tag do %>
+        window.onload = function() {
+                <% query.columns.each do |column| %>
+                var res1 = new JKL.Resizable('<%= column.name %>_header');
+                res1.setEast('<%= column.name %>_east');
+                <% end %>
+        }
+<% end %>
+<% content_for :header_tags do %>
+        <%= javascript_include_tag 'jkl-resizable' %>
+<% end %>


2014年6月26日木曜日 14時13分44秒 UTC+9 Misako Tateiwa:

Misako Tateiwa

unread,
Jun 26, 2014, 9:25:58 PM6/26/14
to redmine-...@googlegroups.com

queries_helper.rb/_list.rhtmlの
-行を削除し +行を追加する。

以下、パッチの意味を取り違えていますか?
あっていると思います。
2.4をインストールしていないため、redmineのサイトのコードをみて確認しました。
似たような箇所は残っているため修正できるのかなと思います(やってないので思わぬところで躓くかもしれませんが・・・)
これの13行目/34行目を変更+47行目以降にjsを追加するのではないでしょうか・・?

jun

unread,
Jun 27, 2014, 1:09:03 AM6/27/14
to redmine-...@googlegroups.com
以下の様に直接-を削除し +を追加して対応しようとしています。
③の部分はredmine0.7の参考とredmine2.4で異なり
修正の仕方が分かりません。

何度か自分なりに手をいれましたが、この作業をすると
redmineが起動しなくなります。

ご教示宜しくお願いします。

①app/helpers/queries_helper.rb の 77~81行目

  def column_header(column)
    column.sortable ? sort_header_tag(column.name.to_s, :caption => column.caption,
-                                                        :default_order => column.default_order) :
-                      content_tag('th', h(column.caption))
+                                                       :default_order => column.default_order,
+                                                       :id => "#{column.name}_header") : 
+                      content_tag('th', column.caption, :id => "#{column.name}_header")
   end

②app/views/issues/_list.rhtml の 11~16行目

      </th>
      <% query.inline_columns.each do |column| %>
-        <%= column_header(column) %>
+        <%= column_header(column) %><%= content_tag('th', '', :id => "#{column.name}_east", :style => "width: 1px;") %>
      <% end %>
    </tr>
  </thead>

③app/views/issues/_list.rhtml の 11~45行目  ????

  <tr id="issue-<%= issue.id %>" class="hascontextmenu <%= cycle('odd', 'even') %> <%= issue.css_classes %> <%= level > 0 ? "idnt idnt-#{level}" : nil %>">
    <td class="checkbox hide-when-print"><%= check_box_tag("ids[]", issue.id, false, :id => nil) %></td>
    <%= raw query.inline_columns.map {|column| "<td class=\"#{column.css_classes}\">#{column_content(column, issue)}</td>"}.join %>
  </tr>
  <% @query.block_columns.each do |column|
       if (text = column_content(column, issue)) && text.present? -%>
  <tr class="<%= current_cycle %>">
    <td colspan="<%= @query.inline_columns.size + 1 %>" class="<%= column.css_classes %>"><%= text %></td>
  </tr>
  <% end -%>
  <% end -%>
  <% end -%>
  </tbody>

④app/views/issues/_list.rhtml の 48行目以降

nobu_toyofuku

unread,
Jul 4, 2014, 12:39:55 AM7/4/14
to redmine-...@googlegroups.com

2014年6月27日金曜日 14時09分03秒 UTC+9 jun:
以下の様に直接-を削除し +を追加して対応しようとしています。
③の部分はredmine0.7の参考とredmine2.4で異なり
修正の仕方が分かりません。

下記の修正で動くようになりました。
javascript_tag ... end は <script type "text/javascript"> ... </script> に変更しています。
rails3 の asset pipeline が理解できてれば javascript_tag を使ってできるのかもしれませんが
あいにく理解していないので今回はこれで。いつか asset pipeline 理解したら報告します。
それからチケット番号のところだけは幅を広げられませんがこれは
public/stylesheets/application.css の
  table.list td.id { width: 2%; text-align: center;}
で幅が指定されているためのようです。
まあチケット番号の幅広げたいことはないでしょうからこのままでいいですよね。

--- app/helpers/queries_helper.rb.org
+++ app/helpers/queries_helper.rb
@@ -76,8 +76,9 @@


   def column_header(column)
     column.sortable ? sort_header_tag(column.name.to_s, :caption => column.caption,
-                                                        :default_order => column.default_order) :
-                      content_tag('th', h(column.caption))
+                                                       :default_order => column.default_order,
+                                                       :id => "#{column.name}_header") :
+                      content_tag('th', column.caption, :id => "#{column.name}_header")
   end

   def column_content(column, issue)
--- app/views/issues/_list.html.erb.org
+++ app/views/issues/_list.html.erb
@@ -10,7 +10,7 @@
                               :title => "#{l(:button_check_all)}/#{l(:button_uncheck_all)}" %>

       </th>
       <% query.inline_columns.each do |column| %>
-        <%= column_header(column) %>
+        <%= column_header(column) %><%= content_tag('th', '', :id => "#{column.name}_east", :style => "width: 1px;") %>
       <% end %>
     </tr>
   </thead>
@@ -31,7 +31,7 @@
   <% end %>

   <tr id="issue-<%= issue.id %>" class="hascontextmenu <%= cycle('odd', 'even') %> <%= issue.css_classes %> <%= level > 0 ? "idnt idnt-#{level}" : nil %>">
     <td class="checkbox hide-when-print"><%= check_box_tag("ids[]", issue.id, false, :id => nil) %></td>
-    <%= raw query.inline_columns.map {|column| "<td class=\"#{column.css_classes}\">#{column_content(column, issue)}</td>"}.join %>
+    <%= raw query.inline_columns.map {|column| "<td class=\"#{column.css_classes}\">#{column_content(column, issue)}</td>" + content_tag('td', "", :style => "width: 1px;")}.join %>

   </tr>
   <% @query.block_columns.each do |column|
        if (text = column_content(column, issue)) && text.present? -%>
@@ -45,3 +45,14 @@
 </table>
 </div>
 <% end -%>
+<script type="text/javascript">

+        window.onload = function() {
+                <% query.columns.each do |column| %>
+                var res1 = new JKL.Resizable('<%= column.name %>_header');
+                res1.setEast('<%= column.name %>_east');
+                <% end %>
+        }
+</script>

jun

unread,
Jul 4, 2014, 5:38:17 AM7/4/14
to redmine-...@googlegroups.com
ご教示頂いた箇所を修正しすると、
私の作業が正しくないのか、redmineが再起動しません。

6/27の時も同じ状況です。
過去のパッチを当てている時は大丈夫でしたが、

何か確認する方法はありますか?

nobu_toyofuku

unread,
Jul 4, 2014, 5:59:50 AM7/4/14
to redmine-...@googlegroups.com

2014年7月4日金曜日 18時38分17秒 UTC+9 jun:
ご教示頂いた箇所を修正しすると、
私の作業が正しくないのか、redmineが再起動しません。

どんなエラーになりますか。
もし Server Error でしたら logs/production.log に何かエラーメッセージらしきものは出ていますか。
---
 

jun

unread,
Jul 4, 2014, 6:52:42 AM7/4/14
to redmine-...@googlegroups.com
ログ削除し、redmine manager tool より起動すると

以下の通りです。宜しくお願いします。

Connecting to database specified by database.yml
Connecting to database specified by database.yml
Creating scope :system. Overwriting existing method Enumeration.system.
Creating scope :system. Overwriting existing method Enumeration.system.


2014年7月4日金曜日 18時59分50秒 UTC+9 nobu_toyofuku:

nobu_toyofuku

unread,
Jul 5, 2014, 4:38:46 AM7/5/14
to redmine-...@googlegroups.com

2014年7月4日金曜日 19時52分42秒 UTC+9 jun:
ログ削除し、redmine manager tool より起動すると
以下の通りです。宜しくお願いします。
   ...
2014年7月4日金曜日 18時38分17秒 UTC+9 jun:
ご教示頂いた箇所を修正しすると、
私の作業が正しくないのか、redmineが再起動しません。

再起動できないことはどうやって確認できましたか。
・起動プログラムがエラーメッセージを出した
とか
・ブラウザで redmine を見ようとしたらつながらなかった
・ブラウザで redmine を見たらエラーメッセージが表示されていた
とか。
---
 

jun

unread,
Jul 7, 2014, 1:17:51 AM7/7/14
to redmine-...@googlegroups.com
<再起動失敗と判断>

redmine manager toolより ALL STARTさせると

thin_redminとthin_redmine2の2つが赤ボタン表示 stopingとなっている

ブラウザから接続すると

以下メッセージ

Service Unavailable

The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.

ご教示、宜しくお願いします。


2014年7月5日土曜日 17時38分46秒 UTC+9 nobu_toyofuku:

nobu_toyofuku

unread,
Jul 8, 2014, 12:58:59 AM7/8/14
to redmine-...@googlegroups.com

2014年7月7日月曜日 14時17分51秒 UTC+9 jun:
<再起動失敗と判断>

redmine manager toolより ALL STARTさせると

thin_redminとthin_redmine2の2つが赤ボタン表示 stopingとなっている

BitNami Redmine ですよね。
エラーログなどどこかのファイルに記録されているのかもしれませんが Windows を
使っていないもので・・・

http://mattari.sumomo.ne.jp/2010/05/bitnami-で-redmine-だけを停止、開始する方法/
を見るとコマンドラインからも
   servicerun.bat START
で起動できるようですがこれを使って起動を試みると画面に何かメッセージが出ますか。
---


jun

unread,
Jul 8, 2014, 10:21:49 PM7/8/14
to redmine-...@googlegroups.com
ご教示頂いた方法で停止、起動をすると
apacheを起動します。のメッセ-ジ出力後DOSプロンプトが閉じて
特にメッセージは出ていない様です。

redmineにログインし確認しても、
チケット一覧に特に変化は見られませんでした。

因みにredmine managerを表示させて見ていると
apacheだけが停止してしております。
(画面を添付しました)

restart ALLではThin_redmineとThin_redmine2が
Stoppedのままでした

他に確認事項があれば、ご教示下さい。
宜しくお願いします。


2014年7月8日火曜日 13時58分59秒 UTC+9 nobu_toyofuku:
redmine_manager.png

nobu_toyofuku

unread,
Jul 10, 2014, 6:30:33 AM7/10/14
to redmine-...@googlegroups.com

2014年7月9日水曜日 11時21分49秒 UTC+9 jun:
ご教示頂いた方法で停止、起動をすると
apacheを起動します。のメッセ-ジ出力後DOSプロンプトが閉じて
特にメッセージは出ていない様です。
  ...
restart ALLではThin_redmineとThin_redmine2が
Stoppedのままでした

うーん、Windows環境ないし困りました。
なんか redmine の修正以前のところで問題が起きているような気もするし。
コードをまったくいじらないと動くんですよね。
後は少しずつ修正していってどこで動かなくなる調べるしかないか。
以前書いたパッチの app/helpers/queries_helper.rb の修正だけ

--- app/helpers/queries_helper.rb.org
+++ app/helpers/queries_helper.rb
@@ -76,8 +76,9 @@


   def column_header(column)
     column.sortable ? sort_header_tag(column.name.to_s, :caption => column.caption,
-                                                        :default_order => column.default_order) :
-                      content_tag('th', h(column.caption))
+                                                       :default_order => column.default_order,
+                                                       :id => "#{column.name}_header") :
+                      content_tag('th', column.caption, :id => "#{column.name}_header")
   end

   def column_content(column, issue)

して再起動するとどうなりますか。
これがエラーにならなければ今度は app/views/issues/_list.html.erb の修正の
最初のパート(@@ -10,7 +10,7 @@ の部分)の修正だけしてまた再起動試して、
これがエラーにならなければ次のパートの修正をして・・・とやっていったら
どこでエラーになりますか。

あと多分関係ないと思いますが念のため確認を。
使ってるエディタで編集するとバックアップファイルが編集したファイルと
同じディレクトリにできたりしますか。
例えば app/helpers/queries_helper.rb を編集すると
app/helpers/queries_helper.rb.bak ができたりとか。
---

jun

unread,
Jul 10, 2014, 7:25:31 PM7/10/14
to redmine-...@googlegroups.com

あと多分関係ないと思いますが念のため確認を。
使ってるエディタで編集するとバックアップファイルが編集したファイルと
同じディレクトリにできたりしますか。
例えば app/helpers/queries_helper.rb を編集すると
app/helpers/queries_helper.rb.bak ができたりとか。
---

上手く動きました。秀丸で編集しており、bakファイルが出来ない様に作業し、
自分でファイル名の頭に「@@@」等付けてバックアップファイルを同一フォルダ内に
保存しておりましたが、全て削除したことで動く様になりました。

ありがとうございました。

関連でご教示頂きたいのですが、
左右のスクロールバーが出ているチケット一覧は幅を広げるアイコンは
表示されますが、広げることは出来ません。
横幅が一画面に収まっているいるは一覧は変更できます。

無条件に変更出来る様に出来ませんか? 

nobu_toyofuku

unread,
Jul 11, 2014, 12:18:11 AM7/11/14
to redmine-...@googlegroups.com

2014年7月11日金曜日 8時25分31秒 UTC+9 jun:
上手く動きました。秀丸で編集しており、bakファイルが出来ない様に作業し、
自分でファイル名の頭に「@@@」等付けてバックアップファイルを同一フォルダ内に
保存しておりましたが、全て削除したことで動く様になりました。

おー、原因はそれでしたか。Rails は拡張子が .rb のファイルを全部読み込むという
処理を結構しているので編集前と編集後のファイルの両方が読み込まれてまずいことが
起こっていたのでしょう。(バックアップファイル名の拡張子が .rb でなければ
 多分大丈夫だったでしょう)

以前(1年以上前?)どなたかが、やはりちょっとコードをいじると起動できなくなる
という報告がありそのときは解決しないままのことがあったのですが今回と同じ原因
だったのかもしれません。

左右のスクロールバーが出ているチケット一覧は幅を広げるアイコンは
表示されますが、広げることは出来ません。
横幅が一画面に収まっているいるは一覧は変更できます。
無条件に変更出来る様に出来ませんか? 

画面幅が狭い状態でブラウザ下部に左右移動スクロールバーが出ている状況ですよね。
Mac上の Firefox と Chrome では問題ありませんでした。
Windows上で試す環境は残念ながら持ってないので確認できなくてごめんなさい。
---

 

jun

unread,
Jul 11, 2014, 2:42:41 AM7/11/14
to redmine-...@googlegroups.com

画面幅が狭い状態でブラウザ下部に左右移動スクロールバーが出ている状況ですよね。
Mac上の Firefox と Chrome では問題ありませんでした。
Windows上で試す環境は残念ながら持ってないので確認できなくてごめんなさい。
---

いろいろご支援ありがとうございます。
Windowsでは IEと Chrome と同じでした。

チケット一覧の幅が1画面に収まらないと幅の変更ができないみたいです。 
画面に表示する項目を減らす事で諦めようかと・・・

チケット一覧の右側フレーム(チケットやカスタムクエリ)の幅を狭くしたいのですが
application.cssの何処かを弄れば変更できるかご存じですか?

nobu_toyofuku

unread,
Jul 11, 2014, 3:55:19 AM7/11/14
to redmine-...@googlegroups.com

2014年7月11日金曜日 15時42分41秒 UTC+9 jun:
チケット一覧の幅が1画面に収まらないと幅の変更ができないみたいです。 
画面に表示する項目を減らす事で諦めようかと・・・
 
すみません。内容を読み違えてました。
画面下部のスクロールバーではなくてチケット一覧テーブルのすぐ下に出る
スクロールバーですね。チケットの表示項目を増やしたら確認できました。

各項目は自分の最低限の幅で我慢しているので他の項目が幅広げたいからと
いってもうわけてあげる余裕はないよという状況ですね。
チケット一覧の style は
table.list { border: 1px solid #e4e4e4;  border-collapse: collapse; width: 100%; margin-bottom: 4px; }
のようですがこれを変更して対応できるのかどうか私にはわかりません。

チケット一覧の右側フレーム(チケットやカスタムクエリ)の幅を狭くしたいのですが
application.cssの何処かを弄れば変更できるかご存じですか?

チケット一覧を表示している左側の content とその右側の sidebar の幅を決めているのは

#sidebar{ float: right; width: 22%; position: relative; z-index: 9; padding: 0; margin: 0;}
* html #sidebar{ width: 22%; }

#content { width: 75%; background-color: #fff; margin: 0px; border-right: 1px solid #ddd; padding: 6px 10px 10px 10px; z-index: 10; }
* html #content{ width: 75%; padding-left: 0; margin-top: 0px; padding: 6px 10px 10px 10px;}
のようです。
22% と 75% を例えば 12% と 85% にすると sidebar が全体幅の 10%減ってその分
content が増えます。
全体幅は
body { font-family: Verdana, sans-serif; font-size: 12px; color:#484848; margin: 0; padding: 0; min-width: 900px; }
の 900px のところです。
---

jun

unread,
Jul 11, 2014, 6:53:45 AM7/11/14
to redmine-...@googlegroups.com
各項目は自分の最低限の幅で我慢しているので他の項目が幅広げたいからと
いってもうわけてあげる余裕はないよという状況ですね。
チケット一覧の style は
table.list { border: 1px solid #e4e4e4;  border-collapse: collapse; width: 100%; margin-bottom: 4px; }
のようですがこれを変更して対応できるのかどうか私にはわかりません。

 
table.list { border: 1px solid #e4e4e4;  border-collapse: collapse; width: 2400px; margin-bottom: 4px; }
の様に幅を大きな値で固定したら項目幅を変更することが可能になりました。
 
チケット一覧の右側フレーム(チケットやカスタムクエリ)の幅を狭くしたいのですが
application.cssの何処かを弄れば変更できるかご存じですか?

チケット一覧を表示している左側の content とその右側の sidebar の幅を決めているのは

#sidebar{ float: right; width: 22%; position: relative; z-index: 9; padding: 0; margin: 0;}
* html #sidebar{ width: 22%; }
と 
#content { width: 75%; background-color: #fff; margin: 0px; border-right: 1px solid #ddd; padding: 6px 10px 10px 10px; z-index: 10; }
* html #content{ width: 75%; padding-left: 0; margin-top: 0px; padding: 6px 10px 10px 10px;}
のようです。
22% と 75% を例えば 12% と 85% にすると sidebar が全体幅の 10%減ってその分
content が増えます。
全体幅は
body { font-family: Verdana, sans-serif; font-size: 12px; color:#484848; margin: 0; padding: 0; min-width: 900px; }
の 900px のところです。
---

フレーム幅変更も教えて頂いたことで出来ました。

ありがとうございました。 
Reply all
Reply to author
Forward
0 new messages