]> git.openstreetmap.org Git - rails.git/commitdiff
Simplify links on trace pages
authorAnton Khorev <tony29@yandex.ru>
Wed, 20 Mar 2024 03:07:24 +0000 (06:07 +0300)
committerAnton Khorev <tony29@yandex.ru>
Wed, 20 Mar 2024 03:07:24 +0000 (06:07 +0300)
app/views/traces/_description.html.erb
app/views/traces/_trace.html.erb
app/views/traces/edit.html.erb
app/views/traces/georss.rss.builder
app/views/traces/show.html.erb
test/controllers/traces_controller_test.rb

index f4edc0e215c248c9a66a325163d4861fed5efe04..5fea819da26db58997e5756b6fc6030971e89bec 100644 (file)
@@ -1,4 +1,4 @@
-<%= image_tag(url_for(:controller => :traces, :action => :icon, :id => description.id, :display_name => description.user.display_name)) %>
+<%= image_tag trace_icon_path(description.user, description.id) %>
 <% if description.size -%>
 <%= t ".description_with_count", :count => description.size, :user => description.user.display_name %>
 <% else -%>
index 9ee58cf22122beff7633c1f02bd71c73f5c67e73..f72671e37adb9c6afb95be72e85b9a77922d8b5d 100644 (file)
@@ -2,7 +2,7 @@
   <td>
     <% if Settings.status != "gpx_offline" %>
       <% if trace.inserted %>
-        <a href="<%= url_for :controller => "traces", :action => "show", :id => trace.id, :display_name => trace.user.display_name %>"><img src="<%= url_for :controller => "traces", :action => "icon", :id => trace.id, :display_name => trace.user.display_name %>" border="0" alt="" /></a>
+        <%= link_to image_tag(trace_icon_path(trace.user, trace), :alt => ""), show_trace_path(trace.user, trace) %>
       <% else %>
         <span class="text-danger"><%= t ".pending" %></span>
       <% end %>
@@ -11,7 +11,7 @@
   <td>
     <ul class="list-inline mb-0">
       <li class="list-inline-item">
-        <%= link_to trace.name, :controller => "traces", :action => "show", :display_name => trace.user.display_name, :id => trace.id %>
+        <%= link_to trace.name, show_trace_path(trace.user, trace) %>
       </li>
 
       <% if trace.inserted? %>
@@ -30,7 +30,7 @@
     </ul>
     <p class="text-muted mb-0">
       <%= friendly_date_ago(trace.timestamp) %>
-      <%= t ".by" %> <%= link_to trace.user.display_name, user_path(trace.user) %>
+      <%= 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 }, ", ") %>
       <nav class="secondary-actions">
         <ul>
           <li>
-            <%= link_to t(".view_map"), { :controller => "site", :action => "index", :mlat => trace.latitude, :mlon => trace.longitude, :anchor => "map=14/#{trace.latitude}/#{trace.longitude}" } %>
+            <%= link_to t(".view_map"), root_path(:mlat => trace.latitude, :mlon => trace.longitude, :anchor => "map=14/#{trace.latitude}/#{trace.longitude}") %>
           </li>
           <li>
-            <%= link_to t(".edit_map"), { :controller => "site", :action => "edit", :gpx => trace.id } %>
+            <%= link_to t(".edit_map"), edit_path(:gpx => trace.id) %>
           </li>
         </ul>
       </nav>
index 09fe9c510515c0eae9aa3650a5edb1ebdf2f8280..809112d4b177bcf4397820f108cf2d6d1c26f02b 100644 (file)
@@ -2,7 +2,7 @@
   <h1><%= t ".heading", :name => @trace.name %></h1>
 <% end %>
 
-<img src="<%= url_for :controller => "traces", :action => "picture", :id => @trace.id, :display_name => @trace.user.display_name %>">
+<%= image_tag trace_picture_path(@trace.user, @trace) %>
 
 <%= bootstrap_form_for @trace do |f| %>
   <%= f.text_field :name, :disabled => true %>
index 36641fec0b4e2f14c8f7191f0be3f084655840de..924ffb9357257631c1213ea138691c9e7a57b7be 100644 (file)
@@ -21,8 +21,8 @@ xml.rss("version" => "2.0",
       xml.item do
         xml.title trace.name
 
-        xml.link url_for(:controller => :traces, :action => :show, :id => trace.id, :display_name => trace.user.display_name, :only_path => false)
-        xml.guid url_for(:controller => :traces, :action => :show, :id => trace.id, :display_name => trace.user.display_name, :only_path => false)
+        xml.link show_trace_url(trace.user, trace)
+        xml.guid show_trace_url(trace.user, trace)
 
         xml.description do
           xml.cdata! render(:partial => "description", :object => trace, :formats => [:html])
index 69f58b5b8e73c08cd91874b74ea4baa0fd7a83ec..def928da57bc56d604bbc759f92ee1c64ce42284 100644 (file)
@@ -4,7 +4,7 @@
 
 <% if Settings.status != "gpx_offline" %>
   <% if @trace.inserted %>
-    <img src="<%= url_for :controller => "traces", :action => "picture", :id => @trace.id, :display_name => @trace.user.display_name %>">
+    <%= image_tag trace_picture_path(@trace.user, @trace) %>
   <% else %>
     <span class="text-danger"><%= t ".pending" %></span>
   <% end %>
               :latitude => tag.span(number_with_delimiter(@trace.latitude), :class => "latitude"),
               :longitude => tag.span(number_with_delimiter(@trace.longitude), :class => "longitude") %>
       </div>
-      (<%= link_to t(".map"), :controller => "site", :action => "index", :mlat => @trace.latitude, :mlon => @trace.longitude, :anchor => "map=14/#{@trace.latitude}/#{@trace.longitude}" %> / <%= link_to t(".edit"), :controller => "site", :action => "edit", :gpx => @trace.id, :anchor => "map=14/#{@trace.latitude}/#{@trace.longitude}" %>)</td>
+      (<%= link_to t(".map"), root_path(:mlat => @trace.latitude, :mlon => @trace.longitude, :anchor => "map=14/#{@trace.latitude}/#{@trace.longitude}") %> / <%= link_to t(".edit"), edit_path(:gpx => @trace.id, :anchor => "map=14/#{@trace.latitude}/#{@trace.longitude}") %>)</td>
   </tr>
   <% end %>
   <tr>
     <th><%= t ".owner" %></th>
-    <td><%= link_to @trace.user.display_name, user_path(@trace.user) %></td>
+    <td><%= link_to @trace.user.display_name, @trace.user %></td>
   </tr>
   <tr>
     <th><%= t ".description" %></th>
@@ -63,6 +63,6 @@
     <% if current_user == @trace.user %>
       <%= link_to t(".edit_trace"), edit_trace_path(@trace), :class => "btn btn-outline-primary" %>
     <% end %>
-    <%= link_to t(".delete_trace"), { :controller => "traces", :action => "destroy", :id => @trace.id }, { :method => :delete, :class => "btn btn-outline-danger", :data => { :confirm => t(".confirm_delete") } } %>
+    <%= link_to t(".delete_trace"), @trace, { :method => :delete, :class => "btn btn-outline-danger", :data => { :confirm => t(".confirm_delete") } } %>
   </div>
 <% end %>
index 1953b637894c83a6ef88406679257d06d7234ace..2a6dc12dc3acb07c997eaa50993b62a95ffe29d1 100644 (file)
@@ -833,6 +833,7 @@ class TracesControllerTest < ActionDispatch::IntegrationTest
             assert_select row, "li", Regexp.new(Regexp.escape("#{trace.size} points")) if trace.inserted?
             assert_select row, "td", Regexp.new(Regexp.escape(trace.description))
             assert_select row, "td", Regexp.new(Regexp.escape("by #{trace.user.display_name}"))
+            assert_select row, "a[href='#{user_path trace.user}']", :text => trace.user.display_name
           end
         end
       end
@@ -845,7 +846,7 @@ class TracesControllerTest < ActionDispatch::IntegrationTest
 
     assert_select "table", :count => 1 do
       assert_select "td", /^#{Regexp.quote(trace.name)} /
-      assert_select "td", trace.user.display_name
+      assert_select "td a[href='#{user_path trace.user}']", :text => trace.user.display_name
       assert_select "td", trace.description
     end
   end