1
0
mirror of https://github.com/meineerde/redmine.git synced 2025-12-19 15:01:14 +00:00

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
This commit is contained in:
Go MAEDA 2019-08-04 09:42:58 +00:00
parent 10ae000021
commit be8372e7cc
4 changed files with 48 additions and 41 deletions

View File

@ -298,6 +298,42 @@ module ApplicationHelper
link_to(name, "#", :onclick => onclick) link_to(name, "#", :onclick => onclick)
end 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 # Used to format item titles on the activity view
def format_activity_title(text) def format_activity_title(text)
text text

View File

@ -20,44 +20,6 @@
module CalendarsHelper module CalendarsHelper
include Redmine::Utils::DateCalculation 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) def calendar_day_css_classes(calendar, day)
css = day.month==calendar.month ? +'even' : +'odd' css = day.month==calendar.month ? +'even' : +'odd'
css << " today" if User.current.today == day css << " today" if User.current.today == day

View File

@ -70,8 +70,13 @@
</div> </div>
<p class="contextual"> <p class="contextual">
<%= gantt_zoom_link(@gantt, :in) %> <span>
<%= gantt_zoom_link(@gantt, :out) %> <%= 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>
<p class="buttons"> <p class="buttons">

View File

@ -47,7 +47,11 @@ class GanttsControllerTest < Redmine::ControllerTest
assert_select 'fieldset#filters.collapsible' assert_select 'fieldset#filters.collapsible'
assert_select 'fieldset#options' assert_select 'fieldset#options'
end 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' assert_select 'p.buttons'
end end
end end