]> git.openstreetmap.org Git - rails.git/commitdiff
Display no notes message when empty
authorHarry Wood <github@onlineanimals.co.uk>
Fri, 9 Apr 2021 02:53:53 +0000 (03:53 +0100)
committerHarry Wood <github@onlineanimals.co.uk>
Fri, 9 Apr 2021 18:21:09 +0000 (19:21 +0100)
Display a 'No notes' message when there are no notes to display, rather than an empty table with pagination features.

app/views/notes/index.html.erb
config/locales/en.yml
test/controllers/notes_controller_test.rb

index 50059625d3b687e5980ac200224b05a7de48888b..b5af25321df4cbcf8b1772ccdc078fd033de1775 100644 (file)
@@ -3,35 +3,41 @@
   <p><%= t ".subheading_html", :user => link_to(@user.display_name, user_path(@user)) %></p>
 <% end %>
 
-<%= render :partial => "notes_paging_nav" %>
+<% if @notes.empty? %>
+  <h4><%= t ".no_notes" %></h4>
 
-<table class="table table-sm note_list">
-  <thead>
-    <tr>
-      <th></th>
-      <th><%= t ".id" %></th>
-      <th><%= t ".creator" %></th>
-      <th><%= t ".description" %></th>
-      <th><%= t ".created_at" %></th>
-      <th><%= t ".last_changed" %></th>
+<% else %>
+  <%= render :partial => "notes_paging_nav" %>
+
+  <table class="table table-sm note_list">
+    <thead>
+      <tr>
+        <th></th>
+        <th><%= t ".id" %></th>
+        <th><%= t ".creator" %></th>
+        <th><%= t ".description" %></th>
+        <th><%= t ".created_at" %></th>
+        <th><%= t ".last_changed" %></th>
+      </tr>
+    </thead>
+  <% @notes.each do |note| -%>
+    <tr<% if note.author == @user %> class="creator"<% end %>>
+      <td>
+        <% if note.closed? %>
+          <%= image_tag("closed_note_marker.png", :alt => "closed", :size => "25x40") %>
+        <% else %>
+          <%= image_tag("open_note_marker.png", :alt => "open", :size => "25x40") %>
+        <% end %>
+      </td>
+      <td><%= link_to note.id, browse_note_path(note) %></td>
+      <td><%= note_author(note.author) %></td>
+      <td><%= note.comments.first.body.to_html %></td>
+      <td><%= friendly_date_ago(note.created_at) %></td>
+      <td><%= friendly_date_ago(note.updated_at) %></td>
     </tr>
-  </thead>
-<% @notes.each do |note| -%>
-  <tr<% if note.author == @user %> class="creator"<% end %>>
-    <td>
-      <% if note.closed? %>
-        <%= image_tag("closed_note_marker.png", :alt => "closed", :size => "25x40") %>
-      <% else %>
-        <%= image_tag("open_note_marker.png", :alt => "open", :size => "25x40") %>
-      <% end %>
-    </td>
-    <td><%= link_to note.id, browse_note_path(note) %></td>
-    <td><%= note_author(note.author) %></td>
-    <td><%= note.comments.first.body.to_html %></td>
-    <td><%= friendly_date_ago(note.created_at) %></td>
-    <td><%= friendly_date_ago(note.updated_at) %></td>
-  </tr>
-<% end -%>
-</table>
+  <% end -%>
+  </table>
 
-<%= render :partial => "notes_paging_nav" %>
+  <%= render :partial => "notes_paging_nav" %>
+
+<% end -%>
index 4cfdf5754cc1f6496f6b618961e7eb27b110fba4..4e8385e26b1445dc7c8a7d7ada5b03c1ee3bd388 100644 (file)
@@ -2638,6 +2638,7 @@ en:
       title: "Notes submitted or commented on by %{user}"
       heading: "%{user}'s notes"
       subheading_html: "Notes submitted or commented on by %{user}"
+      no_notes: No notes
       id: "Id"
       creator: "Creator"
       description: "Description"
index 1450aced88275bec8b6e02c90199d81ba7469a43..50e7ae833615905561666b31b8dbbef3d4bf3301 100644 (file)
@@ -73,4 +73,11 @@ class NotesControllerTest < ActionDispatch::IntegrationTest
     assert_response :success
     assert_select "table.note_list tr", :count => 11
   end
+
+  def test_empty_page
+    user = create(:user)
+    get user_notes_path(:display_name => user.display_name)
+    assert_response :success
+    assert_select "h4", :html => "No notes"
+  end
 end