Patch #2459 » Links-and-filters-for-project-and-author-in-search-and-activity.diff
| app/views/search/index.rhtml (working copy) | ||
|---|---|---|
| 26 | 26 |
<h3><%= l(:label_result_plural) %> (<%= @results_by_type.values.sum %>)</h3> |
| 27 | 27 |
<dl id="search-results"> |
| 28 | 28 |
<% @results.each do |e| %> |
| 29 |
<dt class="<%= e.event_type %>"><%= content_tag('span', h(e.project), :class => 'project') unless @project == e.project %> <%= link_to highlight_tokens(truncate(e.event_title, 255), @tokens), e.event_url %></dt>
|
|
| 29 |
<dt class="<%= e.event_type %>"> |
|
| 30 |
<% if @project != e.project -%> |
|
| 31 |
<span class="project"> |
|
| 32 |
<%= link_to(h(e.project), { :action => :show, :id => e.project } ) %>
|
|
| 33 |
<%= content_tag('span', link_to(l(:label_filter).downcase, params.merge(:id => e.project, :scope => 'subprojects')), { :class => 'filter' }) %>
|
|
| 34 |
</span> |
|
| 35 |
<% end -%> |
|
| 36 |
<%= link_to highlight_tokens(truncate(e.event_title, 255), @tokens), e.event_url %> |
|
| 37 |
</dt> |
|
| 30 | 38 |
<dd><span class="description"><%= highlight_tokens(e.event_description, @tokens) %></span> |
| 31 | 39 |
<span class="author"><%= format_time(e.event_datetime) %></span></dd> |
| 32 | 40 |
<% end %> |
| app/views/projects/activity.rhtml (working copy) | ||
|---|---|---|
| 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 |
<%= content_tag('span', h(e.project), :class => 'project') if @project.nil? || @project != e.project %>
|
|
| 12 |
<% if @project.nil? || @project != e.project -%> |
|
| 13 |
<span class="project"> |
|
| 14 |
<%= link_to(h(e.project), { :action => :show, :id => e.project } ) %>
|
|
| 15 |
<%= content_tag('span', link_to(l(:label_filter).downcase, params.merge(:id => e.project)), { :class => 'filter' }) %>
|
|
| 16 |
</span> |
|
| 17 |
<% end -%> |
|
| 13 | 18 |
<%= link_to format_activity_title(e.event_title), e.event_url %></dt> |
| 14 | 19 |
<dd><span class="description"><%= format_activity_description(e.event_description) %></span> |
| 15 |
<span class="author"><%= e.event_author if e.respond_to?(:event_author) %></span></dd> |
|
| 20 |
<span class="author"> |
|
| 21 |
<% if e.respond_to?(:event_author) -%> |
|
| 22 |
<%= link_to(e.event_author, :controller => :account, :action => :show, :id => e.event_author) %> |
|
| 23 |
<%= content_tag('span', link_to(l(:label_filter).downcase, params.merge(:user_id => e.event_author)), { :class => 'filter' }) %>
|
|
| 24 |
<% end %> |
|
| 25 |
</span></dd> |
|
| 16 | 26 |
<% end -%> |
| 17 | 27 |
</dl> |
| 18 | 28 |
<% end -%> |
| lang/en.yml (working copy) | ||
|---|---|---|
| 304 | 304 |
label_document_new: New document |
| 305 | 305 |
label_document_plural: Documents |
| 306 | 306 |
label_document_added: Document added |
| 307 |
label_filter: Filter |
|
| 307 | 308 |
label_role: Role |
| 308 | 309 |
label_role_plural: Roles |
| 309 | 310 |
label_role_new: New role |
| public/stylesheets/application.css (working copy) | ||
|---|---|---|
| 192 | 192 |
div#activity dt .time { color: #777; font-size: 80%; }
|
| 193 | 193 |
div#activity dd .description, #search-results dd .description { font-style: italic; }
|
| 194 | 194 |
div#activity span.project:after, #search-results span.project:after { content: " -"; }
|
| 195 |
div#activity span.filter:before, #search-results span.filter:before { content: "("; }
|
|
| 196 |
div#activity span.filter:after, #search-results span.filter:after { content: ")"; }
|
|
| 197 |
div#activity span.filter:hover a, #search-results span.filter:hover a, |
|
| 198 |
div#activity span.filter:hover:before, #search-results span.filter:hover:before, |
|
| 199 |
div#activity span.filter:hover:after, #search-results span.filter:hover:after { text-decoration: underline; }
|
|
| 200 |
div#activity span.filter a, #search-results span.filter a, |
|
| 201 |
div#activity span.filter:before, #search-results span.filter:before, |
|
| 202 |
div#activity span.filter:after, #search-results span.filter:after { color: #777; font-size: 85%; }
|
|
| 195 | 203 |
div#activity dd span.description, #search-results dd span.description { display:block; }
|
| 196 | 204 | |
| 197 | 205 |
#search-results dd { margin-bottom: 1em; padding-left: 20px; margin-left:0px; }
|