]> git.openstreetmap.org Git - rails.git/commitdiff
Add login notice for note discussions
authorAnton Khorev <tony29@yandex.ru>
Sun, 31 Dec 2023 01:43:09 +0000 (04:43 +0300)
committerAnton Khorev <tony29@yandex.ru>
Sun, 31 Dec 2023 02:13:30 +0000 (05:13 +0300)
app/views/notes/show.html.erb
config/locales/en.yml
test/system/note_comments_test.rb

index fda8946b6b18378ce483c53c0bf267963d5f3df2..d355d3e5f29ab07b80431251309d828fcbc14a23 100644 (file)
                                                    :url => comment_api_note_url(@note, "json") } %>
         </div>
       </form>
+    <% else -%>
+      <p>
+        <%= link_to t(".log_in_to_comment"), login_path(:referer => request.fullpath) %>
+      </p>
     <% end -%>
   <% else %>
     <form class="mb-3" action="#">
index 792dcdef1a5900917b3a04e59837206716ec2d74..22d2ded9240ea1f1821d177d9be607af2bd9d6f1 100644 (file)
@@ -3005,6 +3005,7 @@ en:
       reactivate: Reactivate
       comment_and_resolve: Comment & Resolve
       comment: Comment
+      log_in_to_comment: "Log in to comment on this note"
       report_link_html: "If this note contains sensitive information that needs to be removed, you can %{link}."
       other_problems_resolve: "For all other problems with the note, please resolve it yourself with a comment."
       other_problems_resolved: "For all other problems, resolving is sufficient."
index 23f3fc98eecb636f54a0389d925d9a9b0f9d3384..2ad64ccc8fa3f2170adf9154adf3076e03e6311e 100644 (file)
@@ -1,6 +1,23 @@
 require "application_system_test_case"
 
 class NoteCommentsTest < ApplicationSystemTestCase
+  test "open note has login notice" do
+    note = create(:note_with_comments)
+    visit note_path(note)
+
+    assert_no_button "Resolve"
+    assert_no_button "Comment"
+    assert_link "Log in to comment on this note", :href => login_path(:referer => note_path(note))
+  end
+
+  test "closed note has no login notice" do
+    note = create(:note_with_comments, :status => "closed", :closed_at => Time.now.utc)
+    visit note_path(note)
+
+    assert_no_button "Reactivate"
+    assert_no_link "Log in to comment on this note"
+  end
+
   def test_action_text
     note = create(:note_with_comments)
     sign_in_as(create(:user))