diff --git a/app/helpers/dates_helper.rb b/app/helpers/dates_helper.rb index 2b1bbc9..ba3827e 100644 --- a/app/helpers/dates_helper.rb +++ b/app/helpers/dates_helper.rb @@ -2,6 +2,21 @@ module DatesHelper include GetText + MONTHS = [ + N_('January'), + N_('February'), + N_('March'), + N_('April'), + N_('May'), + N_('June'), + N_('July'), + N_('August'), + N_('September'), + N_('October'), + N_('November'), + N_('December') + ] + # formats a date for displaying. def show_date(date) if date @@ -51,20 +66,7 @@ module DatesHelper end # FIXME Date#strftime should translate this for us !!! - monthname = _([ - N_('January'), - N_('February'), - N_('March'), - N_('April'), - N_('May'), - N_('June'), - N_('July'), - N_('August'), - N_('September'), - N_('October'), - N_('November'), - N_('December') - ][month.to_i - 1]) + monthname = _(MONTHS[month.to_i - 1]) _('%{month} %{year}') % { :year => year, :month => monthname } end @@ -82,4 +84,9 @@ module DatesHelper link_to show_month(next_month_date.year, next_month_date.month) + ' →', :year => next_month_date.year, :month => next_month_date.month end + + def pick_date(object, method) + date_select(object, method, :use_month_names => MONTHS.map {|item| gettext(item)}) + end + end diff --git a/app/views/cms/_event.rhtml b/app/views/cms/_event.rhtml index 4d7d693..59e00e0 100644 --- a/app/views/cms/_event.rhtml +++ b/app/views/cms/_event.rhtml @@ -1,13 +1,11 @@ -<%= calendar_date_select_includes 'silver', :locale => calendar_date_select_language %> - <%# TODO add Textile help here %> <%= render :file => 'shared/tiny_mce' %> <%= f.text_field('name', :size => '64') %> -<%= labelled_form_field(_('Start date'), calendar_date_select(:article, :start_date)) %> +<%= labelled_form_field(_('Start date'), pick_date(:article, :start_date)) %> -<%= labelled_form_field(_('End date'), calendar_date_select(:article, :end_date)) %> +<%= labelled_form_field(_('End date'), pick_date(:article, :end_date)) %> <%= labelled_form_field(_('Event website:'), text_field(:article, :link)) %> diff --git a/test/unit/dates_helper_test.rb b/test/unit/dates_helper_test.rb index 10ebd24..36b276f 100644 --- a/test/unit/dates_helper_test.rb +++ b/test/unit/dates_helper_test.rb @@ -79,4 +79,24 @@ class DatesHelperTest < Test::Unit::TestCase link_to_previous_month(nil, nil) end + should 'provide an intertionalized date selector pass month names' do + + expects(:gettext).with('January').returns('January') + expects(:gettext).with('February').returns('February') + expects(:gettext).with('March').returns('March') + expects(:gettext).with('April').returns('April') + expects(:gettext).with('May').returns('May') + expects(:gettext).with('June').returns('June') + expects(:gettext).with('July').returns('July') + expects(:gettext).with('August').returns('August') + expects(:gettext).with('September').returns('September') + expects(:gettext).with('October').returns('October') + expects(:gettext).with('November').returns('November') + expects(:gettext).with('December').returns('December') + + expects(:date_select).with(:object, :method, {:use_month_names => ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']}).returns("KKKKKKKK") + + assert_equal 'KKKKKKKK', pick_date(:object, :method) + end + end -- libgit2 0.21.2