From 4796d3d6283cd8b639037320f3a21b3703204bc9 Mon Sep 17 00:00:00 2001 From: "byte[]" Date: Sat, 30 Nov 2019 00:52:05 -0500 Subject: [PATCH] respect user preference to be anonymous by default --- lib/philomena_web/templates/image/comment/_form.html.slime | 6 ++++-- lib/philomena_web/templates/image/new.html.slime | 2 +- lib/philomena_web/templates/topic/new.html.slime | 7 ++++--- lib/philomena_web/templates/topic/post/_form.html.slime | 6 +++++- lib/philomena_web/views/image/comment_view.ex | 4 ++++ lib/philomena_web/views/image_view.ex | 4 ++++ lib/philomena_web/views/topic/post_view.ex | 4 ++++ lib/philomena_web/views/topic_view.ex | 4 ++++ 8 files changed, 30 insertions(+), 7 deletions(-) diff --git a/lib/philomena_web/templates/image/comment/_form.html.slime b/lib/philomena_web/templates/image/comment/_form.html.slime index 57b43f99..dae907ff 100644 --- a/lib/philomena_web/templates/image/comment/_form.html.slime +++ b/lib/philomena_web/templates/image/comment/_form.html.slime @@ -26,5 +26,7 @@ .block__content.communication-edit__actions => submit "Post", class: "button" - = checkbox f, :anonymous - = label f, :anonymous, "Anonymous" \ No newline at end of file + + = if @conn.assigns.current_user do + = checkbox f, :anonymous, value: anonymous_by_default?(@conn) + = label f, :anonymous, "Anonymous" \ No newline at end of file diff --git a/lib/philomena_web/templates/image/new.html.slime b/lib/philomena_web/templates/image/new.html.slime index 3bc9c1fd..7da935ee 100644 --- a/lib/philomena_web/templates/image/new.html.slime +++ b/lib/philomena_web/templates/image/new.html.slime @@ -85,7 +85,7 @@ = if @conn.assigns.current_user do .field = label f, :anonymous, "Post anonymously" - = checkbox f, :anonymous, class: "checkbox" + = checkbox f, :anonymous, class: "checkbox", value: anonymous_by_default?(@conn) .actions = submit "Upload", class: "button", autocomplete: "off", data: [disable_with: "Please wait..."] \ No newline at end of file diff --git a/lib/philomena_web/templates/topic/new.html.slime b/lib/philomena_web/templates/topic/new.html.slime index 52451e0f..4bb20e92 100644 --- a/lib/philomena_web/templates/topic/new.html.slime +++ b/lib/philomena_web/templates/topic/new.html.slime @@ -24,9 +24,10 @@ = textarea fp, :body, class: "input input--wide input--text js-preview-input js-toolbar-input", placeholder: "Please read the site rules before posting and use [spoiler][/spoiler] for NSFW stuff in SFW forums.", required: true = error_tag fp, :body - .field - => checkbox f, :anonymous - = label f, :anonymous, "Post anonymously" + = if @conn.assigns.current_user do + .field + => checkbox f, :anonymous, value: anonymous_by_default?(@conn) + = label f, :anonymous, "Post anonymously" = inputs_for f, :poll, fn fp -> #add-poll diff --git a/lib/philomena_web/templates/topic/post/_form.html.slime b/lib/philomena_web/templates/topic/post/_form.html.slime index f9ca116c..16029c91 100644 --- a/lib/philomena_web/templates/topic/post/_form.html.slime +++ b/lib/philomena_web/templates/topic/post/_form.html.slime @@ -25,4 +25,8 @@ ' [Loading preview...] .block__content.communication-edit__actions - = submit "Post", class: "button" \ No newline at end of file + = submit "Post", class: "button" + + = if @conn.assigns.current_user do + = checkbox f, :anonymous, value: anonymous_by_default?(@conn) + = label f, :anonymous, "Anonymous" \ No newline at end of file diff --git a/lib/philomena_web/views/image/comment_view.ex b/lib/philomena_web/views/image/comment_view.ex index 78c838ca..a5a31446 100644 --- a/lib/philomena_web/views/image/comment_view.ex +++ b/lib/philomena_web/views/image/comment_view.ex @@ -1,3 +1,7 @@ defmodule PhilomenaWeb.Image.CommentView do use PhilomenaWeb, :view + + def anonymous_by_default?(conn) do + conn.assigns.current_user.anonymous_by_default + end end diff --git a/lib/philomena_web/views/image_view.ex b/lib/philomena_web/views/image_view.ex index b83b281b..6e291f6a 100644 --- a/lib/philomena_web/views/image_view.ex +++ b/lib/philomena_web/views/image_view.ex @@ -83,6 +83,10 @@ defmodule PhilomenaWeb.ImageView do def scope(conn), do: Philomena.ImageScope.scope(conn) + def anonymous_by_default?(conn) do + conn.assigns.current_user.anonymous_by_default + end + defp thumb_format("svg"), do: "png" defp thumb_format(format), do: format end diff --git a/lib/philomena_web/views/topic/post_view.ex b/lib/philomena_web/views/topic/post_view.ex index e24f727d..197fe196 100644 --- a/lib/philomena_web/views/topic/post_view.ex +++ b/lib/philomena_web/views/topic/post_view.ex @@ -1,3 +1,7 @@ defmodule PhilomenaWeb.Topic.PostView do use PhilomenaWeb, :view + + def anonymous_by_default?(conn) do + conn.assigns.current_user.anonymous_by_default + end end diff --git a/lib/philomena_web/views/topic_view.ex b/lib/philomena_web/views/topic_view.ex index ee4e0ae0..6f6be665 100644 --- a/lib/philomena_web/views/topic_view.ex +++ b/lib/philomena_web/views/topic_view.ex @@ -1,3 +1,7 @@ defmodule PhilomenaWeb.TopicView do use PhilomenaWeb, :view + + def anonymous_by_default?(conn) do + conn.assigns.current_user.anonymous_by_default + end end