]> git.openstreetmap.org Git - rails.git/commitdiff
Merge remote-tracking branch 'upstream/pull/4608'
authorTom Hughes <tom@compton.nu>
Thu, 21 Mar 2024 16:30:21 +0000 (16:30 +0000)
committerTom Hughes <tom@compton.nu>
Thu, 21 Mar 2024 16:30:21 +0000 (16:30 +0000)
app/views/traces/_trace.html.erb
app/views/traces/index.html.erb
config/locales/en.yml
test/controllers/traces_controller_test.rb

index f72671e37adb9c6afb95be72e85b9a77922d8b5d..184570499dbca6228b01c1b6f031949d11f1de64 100644 (file)
       </li>
     </ul>
     <p class="text-muted mb-0">
-      <%= friendly_date_ago(trace.timestamp) %>
-      <%= t ".by" %> <%= link_to trace.user.display_name, trace.user %>
-      <% if !trace.tags.empty? %>
-        <%= t ".in" %>
-        <%= safe_join(trace.tags.collect { |tag| link_to_tag tag.tag }, ", ") %>
+      <% if trace.tags.empty? %>
+        <%= t ".details_without_tags_html", :time_ago => friendly_date_ago(trace.timestamp),
+                                            :user => link_to(trace.user.display_name, trace.user) %>
+      <% else %>
+        <%= t ".details_with_tags_html", :time_ago => friendly_date_ago(trace.timestamp),
+                                         :user => link_to(trace.user.display_name, trace.user),
+                                         :tags => safe_join(trace.tags.collect { |tag| link_to_tag tag.tag }, ", ") %>
       <% end %>
     </p>
     <p class="fst-italic mb-0">
index 63ade87d7dd6eb9445789d141d404c60da672dfa..447716a18230412186b63f3a4b53e7377599d2cb 100644 (file)
@@ -33,7 +33,7 @@
         <%= link_to t(".my_traces"), { :action => "mine" }, { :class => "nav-link active" } %>
       </li>
     <% else %>
-      <!-- public_traces_from @target_user -->
+      <!-- traces_from @target_user -->
       <li class="nav-item">
         <%= link_to t(".all_traces"), { :controller => "traces", :action => "index", :display_name => nil }, { :class => "nav-link" } %>
       </li>
@@ -43,7 +43,7 @@
         </li>
       <% end %>
       <li class="nav-item">
-        <%= link_to t(".public_traces_from", :user => @target_user&.display_name), { :action => "mine" }, { :class => "nav-link active" } %>
+        <%= link_to t(".traces_from", :user => @target_user&.display_name), { :controller => "traces", :action => "index", :display_name => @target_user&.display_name }, { :class => "nav-link active" } %>
       </li>
     <% end %>
 
index 9af2dd5661528f033f9c63e74a65aa27ca7e361a..9af89978ef5d917975a2047fa2bd4ea101ee600d 100644 (file)
@@ -2541,8 +2541,8 @@ en:
       identifiable: "IDENTIFIABLE"
       private: "PRIVATE"
       trackable: "TRACKABLE"
-      by: "by"
-      in: "in"
+      details_with_tags_html: "%{time_ago} by %{user} in %{tags}"
+      details_without_tags_html: "%{time_ago} by %{user}"
     index:
       public_traces: "Public GPS Traces"
       my_gps_traces: "My GPS Traces"
index 9a818786df9ff26f203a2172d0a085f359724264..d187f22641f52f611c847f3ec4b8e86880a2e714 100644 (file)
@@ -172,6 +172,7 @@ class TracesControllerTest < ActionDispatch::IntegrationTest
   # Check the index of traces for a specific user
   def test_index_user
     user = create(:user)
+    checked_user_traces_path = url_for :only_path => true, :controller => "traces", :action => "index", :display_name => user.display_name
     second_user = create(:user)
     third_user = create(:user)
     create(:trace)
@@ -187,18 +188,33 @@ class TracesControllerTest < ActionDispatch::IntegrationTest
     # Test the user with the traces - should see only public ones
     get traces_path(:display_name => user.display_name)
     check_trace_index [trace_b]
+    assert_dom ".nav-tabs" do
+      assert_dom "a[href='#{traces_path}']", :text => "All Traces", :count => 1
+      assert_dom "a[href='#{traces_mine_path}']", :text => "My Traces", :count => 0
+      assert_dom "a[href='#{checked_user_traces_path}']", :text => Regexp.new(Regexp.escape(user.display_name)), :count => 1
+    end
 
     session_for(third_user)
 
     # Should still see only public ones when authenticated as another user
     get traces_path(:display_name => user.display_name)
     check_trace_index [trace_b]
+    assert_dom ".nav-tabs" do
+      assert_dom "a[href='#{traces_path}']", :text => "All Traces", :count => 1
+      assert_dom "a[href='#{traces_mine_path}']", :text => "My Traces", :count => 1
+      assert_dom "a[href='#{checked_user_traces_path}']", :text => Regexp.new(Regexp.escape(user.display_name)), :count => 1
+    end
 
     session_for(user)
 
     # Should see all traces when authenticated as the target user
     get traces_path(:display_name => user.display_name)
     check_trace_index [trace_c, trace_b]
+    assert_dom ".nav-tabs" do
+      assert_dom "a[href='#{traces_path}']", :text => "All Traces", :count => 1
+      assert_dom "a[href='#{traces_mine_path}']", :text => "My Traces", :count => 1
+      assert_dom "a[href='#{checked_user_traces_path}']", :text => Regexp.new(Regexp.escape(user.display_name)), :count => 0
+    end
 
     # Should only see traces with the correct tag when a tag is specified
     get traces_path(:display_name => user.display_name, :tag => "London")