##// END OF EJS Templates
Merged r9786 from trunk....
Jean-Philippe Lang -
r9605:fcbb8acdb715
parent child
Show More
@@ -1,59 +1,59
1 <h2><%= @author.nil? ? l(:label_activity) : l(:label_user_activity, link_to_user(@author)) %></h2>
1 <h2><%= @author.nil? ? l(:label_activity) : l(:label_user_activity, link_to_user(@author)).html_safe %></h2>
2 2 <p class="subtitle"><%= l(:label_date_from_to, :start => format_date(@date_to - @days), :end => format_date(@date_to-1)) %></p>
3 3
4 4 <div id="activity">
5 5 <% @events_by_day.keys.sort.reverse.each do |day| %>
6 6 <h3><%= format_activity_day(day) %></h3>
7 7 <dl>
8 8 <% @events_by_day[day].sort {|x,y| y.event_datetime <=> x.event_datetime }.each do |e| -%>
9 9 <dt class="<%= e.event_type %> <%= User.current.logged? && e.respond_to?(:event_author) && User.current == e.event_author ? 'me' : nil %>">
10 10 <%= avatar(e.event_author, :size => "24") if e.respond_to?(:event_author) %>
11 11 <span class="time"><%= format_time(e.event_datetime, false) %></span>
12 12 <%= content_tag('span', h(e.project), :class => 'project') if @project.nil? || @project != e.project %>
13 13 <%= link_to format_activity_title(e.event_title), e.event_url %></dt>
14 14 <dd><span class="description"><%= format_activity_description(e.event_description) %></span>
15 15 <span class="author"><%= link_to_user(e.event_author) if e.respond_to?(:event_author) %></span></dd>
16 16 <% end -%>
17 17 </dl>
18 18 <% end -%>
19 19 </div>
20 20
21 21 <%= content_tag('p', l(:label_no_data), :class => 'nodata') if @events_by_day.empty? %>
22 22
23 23 <div style="float:left;">
24 24 <%= link_to_content_update("\xc2\xab " + l(:label_previous),
25 25 params.merge(:from => @date_to - @days - 1),
26 26 :title => l(:label_date_from_to, :start => format_date(@date_to - 2*@days), :end => format_date(@date_to - @days - 1))) %>
27 27 </div>
28 28 <div style="float:right;">
29 29 <%= link_to_content_update(l(:label_next) + " \xc2\xbb",
30 30 params.merge(:from => @date_to + @days - 1),
31 31 :title => l(:label_date_from_to, :start => format_date(@date_to), :end => format_date(@date_to + @days - 1))) unless @date_to >= Date.today %>
32 32 </div>
33 33 &nbsp;
34 34 <% other_formats_links do |f| %>
35 35 <%= f.link_to 'Atom', :url => params.merge(:from => nil, :key => User.current.rss_key) %>
36 36 <% end %>
37 37
38 38 <% content_for :header_tags do %>
39 39 <%= auto_discovery_link_tag(:atom, params.merge(:format => 'atom', :from => nil, :key => User.current.rss_key)) %>
40 40 <% end %>
41 41
42 42 <% content_for :sidebar do %>
43 43 <%= form_tag({}, :method => :get) do %>
44 44 <h3><%= l(:label_activity) %></h3>
45 45 <p><% @activity.event_types.each do |t| %>
46 46 <%= check_box_tag "show_#{t}", 1, @activity.scope.include?(t) %>
47 47 <label for="show_<%=t%>"><%= link_to(l("label_#{t.singularize}_plural"), {"show_#{t}" => 1, :user_id => params[:user_id]})%></label>
48 48 <br />
49 49 <% end %></p>
50 50 <% if @project && @project.descendants.active.any? %>
51 51 <%= hidden_field_tag 'with_subprojects', 0 %>
52 52 <p><label><%= check_box_tag 'with_subprojects', 1, @with_subprojects %> <%=l(:label_subproject_plural)%></label></p>
53 53 <% end %>
54 54 <%= hidden_field_tag('user_id', params[:user_id]) unless params[:user_id].blank? %>
55 55 <p><%= submit_tag l(:button_apply), :class => 'button-small', :name => nil %></p>
56 56 <% end %>
57 57 <% end %>
58 58
59 59 <% html_title(l(:label_activity), @author) -%>
@@ -1,143 +1,145
1 1 require File.expand_path('../../test_helper', __FILE__)
2 2
3 3 class ActivitiesControllerTest < ActionController::TestCase
4 4 fixtures :projects, :trackers, :issue_statuses, :issues,
5 5 :enumerations, :users, :issue_categories,
6 6 :projects_trackers,
7 7 :roles,
8 8 :member_roles,
9 9 :members,
10 10 :groups_users,
11 11 :enabled_modules,
12 12 :workflows,
13 13 :journals, :journal_details
14 14
15 15
16 16 def test_project_index
17 17 get :index, :id => 1, :with_subprojects => 0
18 18 assert_response :success
19 19 assert_template 'index'
20 20 assert_not_nil assigns(:events_by_day)
21 21
22 22 assert_tag :tag => "h3",
23 23 :content => /#{2.days.ago.to_date.day}/,
24 24 :sibling => { :tag => "dl",
25 25 :child => { :tag => "dt",
26 26 :attributes => { :class => /issue-edit/ },
27 27 :child => { :tag => "a",
28 28 :content => /(#{IssueStatus.find(2).name})/,
29 29 }
30 30 }
31 31 }
32 32 end
33 33
34 34 def test_project_index_with_invalid_project_id_should_respond_404
35 35 get :index, :id => 299
36 36 assert_response 404
37 37 end
38 38
39 39 def test_previous_project_index
40 40 get :index, :id => 1, :from => 3.days.ago.to_date
41 41 assert_response :success
42 42 assert_template 'index'
43 43 assert_not_nil assigns(:events_by_day)
44 44
45 45 assert_tag :tag => "h3",
46 46 :content => /#{3.day.ago.to_date.day}/,
47 47 :sibling => { :tag => "dl",
48 48 :child => { :tag => "dt",
49 49 :attributes => { :class => /issue/ },
50 50 :child => { :tag => "a",
51 51 :content => /#{Issue.find(1).subject}/,
52 52 }
53 53 }
54 54 }
55 55 end
56 56
57 57 def test_global_index
58 58 get :index
59 59 assert_response :success
60 60 assert_template 'index'
61 61 assert_not_nil assigns(:events_by_day)
62 62
63 63 assert_tag :tag => "h3",
64 64 :content => /#{5.day.ago.to_date.day}/,
65 65 :sibling => { :tag => "dl",
66 66 :child => { :tag => "dt",
67 67 :attributes => { :class => /issue/ },
68 68 :child => { :tag => "a",
69 69 :content => /#{Issue.find(5).subject}/,
70 70 }
71 71 }
72 72 }
73 73 end
74 74
75 75 def test_user_index
76 76 get :index, :user_id => 2
77 77 assert_response :success
78 78 assert_template 'index'
79 79 assert_not_nil assigns(:events_by_day)
80 80
81 assert_select 'h2 a[href=/users/2]', :text => 'John Smith'
82
81 83 assert_tag :tag => "h3",
82 84 :content => /#{3.day.ago.to_date.day}/,
83 85 :sibling => { :tag => "dl",
84 86 :child => { :tag => "dt",
85 87 :attributes => { :class => /issue/ },
86 88 :child => { :tag => "a",
87 89 :content => /#{Issue.find(1).subject}/,
88 90 }
89 91 }
90 92 }
91 93 end
92 94
93 95 def test_user_index_with_invalid_user_id_should_respond_404
94 96 get :index, :user_id => 299
95 97 assert_response 404
96 98 end
97 99
98 100 def test_index_atom_feed
99 101 get :index, :format => 'atom', :with_subprojects => 0
100 102 assert_response :success
101 103 assert_template 'common/feed'
102 104
103 105 assert_tag :tag => 'link', :parent => {:tag => 'feed', :parent => nil },
104 106 :attributes => {:rel => 'self', :href => 'http://test.host/activity.atom?with_subprojects=0'}
105 107 assert_tag :tag => 'link', :parent => {:tag => 'feed', :parent => nil },
106 108 :attributes => {:rel => 'alternate', :href => 'http://test.host/activity?with_subprojects=0'}
107 109
108 110 assert_tag :tag => 'entry', :child => {
109 111 :tag => 'link',
110 112 :attributes => {:href => 'http://test.host/issues/11'}}
111 113 end
112 114
113 115 def test_index_atom_feed_with_explicit_selection
114 116 get :index, :format => 'atom', :with_subprojects => 0,
115 117 :show_changesets => 1,
116 118 :show_documents => 1,
117 119 :show_files => 1,
118 120 :show_issues => 1,
119 121 :show_messages => 1,
120 122 :show_news => 1,
121 123 :show_time_entries => 1,
122 124 :show_wiki_edits => 1
123 125
124 126 assert_response :success
125 127 assert_template 'common/feed'
126 128
127 129 assert_tag :tag => 'link', :parent => {:tag => 'feed', :parent => nil },
128 130 :attributes => {:rel => 'self', :href => 'http://test.host/activity.atom?show_changesets=1&amp;show_documents=1&amp;show_files=1&amp;show_issues=1&amp;show_messages=1&amp;show_news=1&amp;show_time_entries=1&amp;show_wiki_edits=1&amp;with_subprojects=0'}
129 131 assert_tag :tag => 'link', :parent => {:tag => 'feed', :parent => nil },
130 132 :attributes => {:rel => 'alternate', :href => 'http://test.host/activity?show_changesets=1&amp;show_documents=1&amp;show_files=1&amp;show_issues=1&amp;show_messages=1&amp;show_news=1&amp;show_time_entries=1&amp;show_wiki_edits=1&amp;with_subprojects=0'}
131 133
132 134 assert_tag :tag => 'entry', :child => {
133 135 :tag => 'link',
134 136 :attributes => {:href => 'http://test.host/issues/11'}}
135 137 end
136 138
137 139 def test_index_atom_feed_with_one_item_type
138 140 get :index, :format => 'atom', :show_issues => '1'
139 141 assert_response :success
140 142 assert_template 'common/feed'
141 143 assert_tag :tag => 'title', :content => /Issues/
142 144 end
143 145 end
General Comments 0
You need to be logged in to leave comments. Login now