Go to content Go to navigation Go to search

Redmine のチケット一覧に作業時間を表示してみる。

3月 20th, 2011 by mattari

チケットの一覧画面に「作業時間」を表示してみます。

本当は検索Queryに追加して、フィルタリングしたりソートしたりしたいところですが、作業時間は Issue とは別のテーブルに記録されているので面倒そうです。今回は単純に表示だけ出来るようにしました。

こんな感じです。

 

Index: $REDMINE_ROOT/app/views/issues/_list.rhtml
@@ -10,7 +10,8 @@
         <% query.columns.each do |column| %>
           <%= column_header(column) %>
         <% end %>
-    </tr></thead>
+        <th class="spent-time"><%= link_to(l(:label_spent_time), {:controller => ‘timelog’, :action => ‘index’, :project_id => @project}) %></th>
+    </tr></thead>
     <% previous_group = false %>
     <tbody>
     <% issue_list(issues) do |issue, level| -%>
@@ -21,6 +22,7 @@
             <span class="expander" onclick="toggleRowGroup(this); return false;">&nbsp;</span>
           <%= group.blank? ? ‘None’ : column_content(@query.group_by_column, issue) %> <span class="count">(<%= @issue_count_by_group[group] %>)</span>
         </td>
+        <td></td>
         </tr>
         <% previous_group = group %>
   <% end %>
@@ -28,6 +30,7 @@
       <td class="checkbox hide-when-print"><%= check_box_tag("ids[]", issue.id, false, :id => nil) %></td>
         <td class="id"><%= 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 %>
+        <td class="spent-time"><%= issue.spent_hours > 0 ? (link_to l_hours(issue.spent_hours), {:controller => ‘timelog’, :action => ‘index’, :project_id => @project, :issue_id => issue}) : "-" %></td>
     </tr>
     <% end -%>
     </tbody>

 

表示の結果は以下のようになります。表示しているだなので、並び替えなどは出来ません。

redmine_hours

 

Leave a Reply

関連記事