2015年9月7日 星期一

Redmine 2.6 替甘特圖(gatt chart)的每週加上每月的每一天,並修改預設顯示視角

在 Redmine 的甘特圖(gatt chart)預設是 年 / 年週 來顯示

ScreenShot 2015-09-07 00.21.24

 

由於業務需求,希望客制加上 月/日 的每一天來方便觀看,並且 Redmine 預設的甘特圖視角太大了,希望每次預設顯示為 "一個月"

 

一樣此篇適用於 Redmine 2.6 版本



 

Redmine 替甘特圖加入每月的每一天

修改 show.html.erb,這是甘特圖顯示的 code。
$ vim /usr/share/nginx/html/redmine/app/views/gantts/show.html.erb

 

調整以下 Source code
@@ -237,6 +237,9 @@ 
left = 0
height = g_height + header_height - 1
wday = @gantt.date_from.cwday
+
+ month_f = @gantt.date_from
+ mday = month_f.day
%>
<% (@gantt.date_to - @gantt.date_from + 1).to_i.times do %>
<%
@@ -251,12 +254,18 @@
clss << " nwday" if @gantt.non_working_week_days.include?(wday)
%>
<%= content_tag(:div, :style => style, :class => clss) do %>
- <%= day_letter(wday) %>
+ <%= mday %> <!--%= day_letter(wday) % modified by tattoo-->
<% end %>
<%
left = left + width + 1
wday = wday + 1
wday = 1 if wday > 7
+
+ mday += 1
+ if mday > Date.new(month_f.year, month_f.month, -1).day
+ mday = 1
+ month_f = month_f >> 1
+ end
%>
<% end %>
<% end %>

 

- 代表移除此行 code

+ 代表加入的 code,其餘參考位置

 

重啟服務
$ service thin restart

ScreenShot 2015-09-07 00.40.40

 



 

Redmine 修改甘特圖視角

由 Redmine 預設的 Zoom in / out 視角為參考,找到喜歡的視角為 zoom 4。註1
$ vim /usr/share/nginx/html/redmine/app/views/gantts/show.html.erb

 

修改 Source code :71
      <%= link_to_function l(:button_apply), '$("#query_form").submit()', 
:class => 'icon icon-checked' %>
- <%= link_to l(:button_clear), { :project_id => @project, :set_filter => 1 },
+ <%= link_to l(:button_clear), { :project_id => @project, :set_filter => 4 },
:class => 'icon icon-reload' %>

將預設 set_filter 改為 4,視角就會改變囉

 

重啟服務
$ service thin restart 

 

 

 

 

 

註1:甘特圖視角,在放大 / 縮小的過程中,你可以從網址找到 zoom in / out 的數值

http://......./issues/gantt?month=9&months=6&year=2015&zoom=4

 

 

 

 

參考資料:

Change the week days to month days in Gantt view

Orignal From: Redmine 2.6 替甘特圖(gatt chart)的每週加上每月的每一天,並修改預設顯示視角

沒有留言:

張貼留言