Display no notes message when empty

Display a 'No notes' message when there are no notes to display, rather than an empty table with pagination features.
This commit is contained in:
Harry Wood 2021-04-09 03:53:53 +01:00
parent d8aeb7e653
commit de8ee536b1
3 changed files with 43 additions and 29 deletions

View 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 -%>

View 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"

View 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