Commit 41ff1b9c authored by Eric Davis's avatar Eric Davis

Display the correct ISO week number on the project calendar.

http://en.wikipedia.org/wiki/ISO_week

Contributed by Holger Just

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3790 e93f8b46-1217-0410-a6f0-8f06a7374b81
parent b2e903ff
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<tr> <tr>
<% day = calendar.startdt <% day = calendar.startdt
while day <= calendar.enddt %> while day <= calendar.enddt %>
<%= "<td class='week-number' title='#{ l(:label_week) }'>#{day.cweek}</td>" if day.cwday == calendar.first_wday %> <%= "<td class='week-number' title='#{ l(:label_week) }'>#{(day+(11-day.cwday)%7).cweek}</td>" if day.cwday == calendar.first_wday %>
<td class="<%= day.month==calendar.month ? 'even' : 'odd' %><%= ' today' if Date.today == day %>"> <td class="<%= day.month==calendar.month ? 'even' : 'odd' %><%= ' today' if Date.today == day %>">
<p class="day-num"><%= day.day %></p> <p class="day-num"><%= day.day %></p>
<% calendar.events_on(day).each do |i| %> <% calendar.events_on(day).each do |i| %>
......
...@@ -17,4 +17,48 @@ class CalendarsControllerTest < ActionController::TestCase ...@@ -17,4 +17,48 @@ class CalendarsControllerTest < ActionController::TestCase
assert_not_nil assigns(:calendar) assert_not_nil assigns(:calendar)
end end
def test_week_number_calculation
Setting.start_of_week = 7
get :show, :month => '1', :year => '2010'
assert_response :success
assert_tag :tag => 'tr',
:descendant => {:tag => 'td',
:attributes => {:class => 'week-number'}, :content => '53'},
:descendant => {:tag => 'td',
:attributes => {:class => 'odd'}, :content => '27'},
:descendant => {:tag => 'td',
:attributes => {:class => 'even'}, :content => '2'}
assert_tag :tag => 'tr',
:descendant => {:tag => 'td',
:attributes => {:class => 'week-number'}, :content => '1'},
:descendant => {:tag => 'td',
:attributes => {:class => 'odd'}, :content => '3'},
:descendant => {:tag => 'td',
:attributes => {:class => 'even'}, :content => '9'}
Setting.start_of_week = 1
get :show, :month => '1', :year => '2010'
assert_response :success
assert_tag :tag => 'tr',
:descendant => {:tag => 'td',
:attributes => {:class => 'week-number'}, :content => '53'},
:descendant => {:tag => 'td',
:attributes => {:class => 'even'}, :content => '28'},
:descendant => {:tag => 'td',
:attributes => {:class => 'even'}, :content => '3'}
assert_tag :tag => 'tr',
:descendant => {:tag => 'td',
:attributes => {:class => 'week-number'}, :content => '1'},
:descendant => {:tag => 'td',
:attributes => {:class => 'even'}, :content => '4'},
:descendant => {:tag => 'td',
:attributes => {:class => 'even'}, :content => '10'}
end
end end
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment