mirror of
https://github.com/philomena-dev/philomena.git
synced 2025-01-19 22:27:59 +01:00
ensure name_at_post_time is set correctly
This commit is contained in:
parent
0a62a3d5ce
commit
57a37971b1
3 changed files with 11 additions and 4 deletions
|
@ -39,10 +39,10 @@ defmodule Philomena.Comments do
|
|||
{:error, %Ecto.Changeset{}}
|
||||
|
||||
"""
|
||||
def create_comment(image, attributes, params \\ %{}) do
|
||||
def create_comment(image, user, attributes, params \\ %{}) do
|
||||
comment =
|
||||
struct(Comment, [image_id: image.id] ++ attributes)
|
||||
|> Comment.creation_changeset(params)
|
||||
|> Comment.creation_changeset(user, params)
|
||||
|
||||
image_query =
|
||||
Image
|
||||
|
|
|
@ -31,9 +31,10 @@ defmodule Philomena.Comments.Comment do
|
|||
end
|
||||
|
||||
@doc false
|
||||
def creation_changeset(comment, attrs) do
|
||||
def creation_changeset(comment, user, attrs) do
|
||||
comment
|
||||
|> cast(attrs, [:body, :anonymous])
|
||||
|> set_name_at_post_time(user)
|
||||
|> validate_required([:body])
|
||||
|> validate_length(:body, min: 1, max: 300_000, count: :bytes)
|
||||
end
|
||||
|
@ -45,4 +46,9 @@ defmodule Philomena.Comments.Comment do
|
|||
|> validate_length(:body, min: 1, max: 300_000, count: :bytes)
|
||||
|> validate_length(:edit_reason, max: 70, count: :bytes)
|
||||
end
|
||||
|
||||
def set_name_at_post_time(changeset, nil), do: changeset
|
||||
def set_name_at_post_time(changeset, %{name: name}) do
|
||||
change(changeset, name_at_post_time: name)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -63,8 +63,9 @@ defmodule PhilomenaWeb.Image.CommentController do
|
|||
def create(conn, %{"comment" => comment_params}) do
|
||||
attributes = conn.assigns.attributes
|
||||
image = conn.assigns.image
|
||||
user = conn.assigns.current_user
|
||||
|
||||
case Comments.create_comment(image, attributes, comment_params) do
|
||||
case Comments.create_comment(image, user, attributes, comment_params) do
|
||||
{:ok, %{comment: comment}} ->
|
||||
Comments.notify_comment(comment)
|
||||
Comments.reindex_comment(comment)
|
||||
|
|
Loading…
Reference in a new issue