浏览代码

Previous and next month links in gantt (#31373).

Patch by Mizuki ISHIKAWA.


git-svn-id: http://svn.redmine.org/redmine/trunk@18346 e93f8b46-1217-0410-a6f0-8f06a7374b81
tags/4.1.0
Go MAEDA 4 年前
父节点
当前提交
be8372e7cc

+ 36
- 0
app/helpers/application_helper.rb 查看文件

@@ -298,6 +298,42 @@ module ApplicationHelper
link_to(name, "#", :onclick => onclick)
end

def link_to_previous_month(year, month, options={})
target_year, target_month = if month == 1
[year - 1, 12]
else
[year, month - 1]
end

name = if target_month == 12
"#{month_name(target_month)} #{target_year}"
else
month_name(target_month)
end

link_to_month(("« " + name), target_year, target_month, options)
end

def link_to_next_month(year, month, options={})
target_year, target_month = if month == 12
[year + 1, 1]
else
[year, month + 1]
end

name = if target_month == 1
"#{month_name(target_month)} #{target_year}"
else
month_name(target_month)
end

link_to_month((name + " »"), target_year, target_month, options)
end

def link_to_month(link_name, year, month, options={})
link_to(link_name, {:params => request.query_parameters.merge(:year => year, :month => month)}, options)
end

# Used to format item titles on the activity view
def format_activity_title(text)
text

+ 0
- 38
app/helpers/calendars_helper.rb 查看文件

@@ -20,44 +20,6 @@
module CalendarsHelper
include Redmine::Utils::DateCalculation

def link_to_previous_month(year, month, options={})
target_year, target_month = if month == 1
[year - 1, 12]
else
[year, month - 1]
end

name = if target_month == 12
"#{month_name(target_month)} #{target_year}"
else
"#{month_name(target_month)}"
end

# \xc2\xab(utf-8) = «
link_to_month(("\xc2\xab " + name), target_year, target_month, options)
end

def link_to_next_month(year, month, options={})
target_year, target_month = if month == 12
[year + 1, 1]
else
[year, month + 1]
end

name = if target_month == 1
"#{month_name(target_month)} #{target_year}"
else
"#{month_name(target_month)}"
end

# \xc2\xbb(utf-8) = »
link_to_month((name + " \xc2\xbb"), target_year, target_month, options)
end

def link_to_month(link_name, year, month, options={})
link_to(link_name, {:params => request.query_parameters.merge(:year => year, :month => month)}, options)
end

def calendar_day_css_classes(calendar, day)
css = day.month==calendar.month ? +'even' : +'odd'
css << " today" if User.current.today == day

+ 7
- 2
app/views/gantts/show.html.erb 查看文件

@@ -70,8 +70,13 @@
</div>

<p class="contextual">
<%= gantt_zoom_link(@gantt, :in) %>
<%= gantt_zoom_link(@gantt, :out) %>
<span>
<%= gantt_zoom_link(@gantt, :in) %>
<%= gantt_zoom_link(@gantt, :out) %>
</span>
<span>
<%= link_to_previous_month(@gantt.year_from, @gantt.month_from, :accesskey => accesskey(:previous)) %> | <%= link_to_next_month(@gantt.year_from, @gantt.month_from, :accesskey => accesskey(:next)) %>
</span>
</p>

<p class="buttons">

+ 5
- 1
test/functional/gantts_controller_test.rb 查看文件

@@ -47,7 +47,11 @@ class GanttsControllerTest < Redmine::ControllerTest
assert_select 'fieldset#filters.collapsible'
assert_select 'fieldset#options'
end
assert_select 'p.contextual'
assert_select 'p.contextual' do
prev_month, next_month = User.current.today.prev_month, User.current.today.next_month
assert_select 'a[accesskey="p"][href=?]', project_gantt_path(:project_id => 1, :month => prev_month.month, :year => prev_month.year)
assert_select 'a[accesskey="n"][href=?]', project_gantt_path(:project_id => 1, :month => next_month.month, :year => next_month.year)
end
assert_select 'p.buttons'
end
end

正在加载...
取消
保存