Commit dd862f149472414502c617fa0ac484efb67378fe
1 parent
f3554630
Exists in
master
and in
23 other branches
ActionItem447: using default Rails date selector
but translating the month names git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@2018 3f533792-8f58-4932-b0fe-aaf55b0a4547
Showing
3 changed files
with
43 additions
and
18 deletions
Show diff stats
app/helpers/dates_helper.rb
| ... | ... | @@ -2,6 +2,21 @@ module DatesHelper |
| 2 | 2 | |
| 3 | 3 | include GetText |
| 4 | 4 | |
| 5 | + MONTHS = [ | |
| 6 | + N_('January'), | |
| 7 | + N_('February'), | |
| 8 | + N_('March'), | |
| 9 | + N_('April'), | |
| 10 | + N_('May'), | |
| 11 | + N_('June'), | |
| 12 | + N_('July'), | |
| 13 | + N_('August'), | |
| 14 | + N_('September'), | |
| 15 | + N_('October'), | |
| 16 | + N_('November'), | |
| 17 | + N_('December') | |
| 18 | + ] | |
| 19 | + | |
| 5 | 20 | # formats a date for displaying. |
| 6 | 21 | def show_date(date) |
| 7 | 22 | if date |
| ... | ... | @@ -51,20 +66,7 @@ module DatesHelper |
| 51 | 66 | end |
| 52 | 67 | |
| 53 | 68 | # FIXME Date#strftime should translate this for us !!! |
| 54 | - monthname = _([ | |
| 55 | - N_('January'), | |
| 56 | - N_('February'), | |
| 57 | - N_('March'), | |
| 58 | - N_('April'), | |
| 59 | - N_('May'), | |
| 60 | - N_('June'), | |
| 61 | - N_('July'), | |
| 62 | - N_('August'), | |
| 63 | - N_('September'), | |
| 64 | - N_('October'), | |
| 65 | - N_('November'), | |
| 66 | - N_('December') | |
| 67 | - ][month.to_i - 1]) | |
| 69 | + monthname = _(MONTHS[month.to_i - 1]) | |
| 68 | 70 | |
| 69 | 71 | _('%{month} %{year}') % { :year => year, :month => monthname } |
| 70 | 72 | end |
| ... | ... | @@ -82,4 +84,9 @@ module DatesHelper |
| 82 | 84 | |
| 83 | 85 | link_to show_month(next_month_date.year, next_month_date.month) + ' →', :year => next_month_date.year, :month => next_month_date.month |
| 84 | 86 | end |
| 87 | + | |
| 88 | + def pick_date(object, method) | |
| 89 | + date_select(object, method, :use_month_names => MONTHS.map {|item| gettext(item)}) | |
| 90 | + end | |
| 91 | + | |
| 85 | 92 | end | ... | ... |
app/views/cms/_event.rhtml
| 1 | -<%= calendar_date_select_includes 'silver', :locale => calendar_date_select_language %> | |
| 2 | - | |
| 3 | 1 | <%# TODO add Textile help here %> |
| 4 | 2 | <%= render :file => 'shared/tiny_mce' %> |
| 5 | 3 | |
| 6 | 4 | <%= f.text_field('name', :size => '64') %> |
| 7 | 5 | |
| 8 | -<%= labelled_form_field(_('Start date'), calendar_date_select(:article, :start_date)) %> | |
| 6 | +<%= labelled_form_field(_('Start date'), pick_date(:article, :start_date)) %> | |
| 9 | 7 | |
| 10 | -<%= labelled_form_field(_('End date'), calendar_date_select(:article, :end_date)) %> | |
| 8 | +<%= labelled_form_field(_('End date'), pick_date(:article, :end_date)) %> | |
| 11 | 9 | |
| 12 | 10 | <%= labelled_form_field(_('Event website:'), text_field(:article, :link)) %> |
| 13 | 11 | ... | ... |
test/unit/dates_helper_test.rb
| ... | ... | @@ -79,4 +79,24 @@ class DatesHelperTest < Test::Unit::TestCase |
| 79 | 79 | link_to_previous_month(nil, nil) |
| 80 | 80 | end |
| 81 | 81 | |
| 82 | + should 'provide an intertionalized date selector pass month names' do | |
| 83 | + | |
| 84 | + expects(:gettext).with('January').returns('January') | |
| 85 | + expects(:gettext).with('February').returns('February') | |
| 86 | + expects(:gettext).with('March').returns('March') | |
| 87 | + expects(:gettext).with('April').returns('April') | |
| 88 | + expects(:gettext).with('May').returns('May') | |
| 89 | + expects(:gettext).with('June').returns('June') | |
| 90 | + expects(:gettext).with('July').returns('July') | |
| 91 | + expects(:gettext).with('August').returns('August') | |
| 92 | + expects(:gettext).with('September').returns('September') | |
| 93 | + expects(:gettext).with('October').returns('October') | |
| 94 | + expects(:gettext).with('November').returns('November') | |
| 95 | + expects(:gettext).with('December').returns('December') | |
| 96 | + | |
| 97 | + expects(:date_select).with(:object, :method, {:use_month_names => ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']}).returns("KKKKKKKK") | |
| 98 | + | |
| 99 | + assert_equal 'KKKKKKKK', pick_date(:object, :method) | |
| 100 | + end | |
| 101 | + | |
| 82 | 102 | end | ... | ... |