diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 60f80ed208..7de33af727 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -298,6 +298,44 @@ 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 + + # \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 + # Used to format item titles on the activity view def format_activity_title(text) text diff --git a/app/helpers/calendars_helper.rb b/app/helpers/calendars_helper.rb index 0cb071c34e..a248eab974 100644 --- a/app/helpers/calendars_helper.rb +++ b/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 diff --git a/app/views/gantts/show.html.erb b/app/views/gantts/show.html.erb index 00dd2c2301..348d04b699 100644 --- a/app/views/gantts/show.html.erb +++ b/app/views/gantts/show.html.erb @@ -70,8 +70,13 @@

- <%= gantt_zoom_link(@gantt, :in) %> - <%= gantt_zoom_link(@gantt, :out) %> + + <%= gantt_zoom_link(@gantt, :in) %> + <%= gantt_zoom_link(@gantt, :out) %> + + + <%= 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)) %> +

diff --git a/test/functional/gantts_controller_test.rb b/test/functional/gantts_controller_test.rb index 0919f56ef6..427cfe07ae 100644 --- a/test/functional/gantts_controller_test.rb +++ b/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