philomena/lib/philomena_web/controllers/post/preview_controller.ex

25 lines
656 B
Elixir
Raw Normal View History

defmodule PhilomenaWeb.Post.PreviewController do
use PhilomenaWeb, :controller
alias PhilomenaWeb.MarkdownRenderer
alias Philomena.Posts.Post
alias Philomena.Repo
def create(conn, params) do
user = preload_awards(conn.assigns.current_user)
body = to_string(params["body"])
anonymous = params["anonymous"] == true
2021-09-14 23:41:46 +02:00
post = %Post{user: user, body: body, anonymous: anonymous}
rendered = MarkdownRenderer.render_one(post, conn)
render(conn, "create.html", layout: false, post: post, body: rendered)
end
defp preload_awards(nil), do: nil
2020-01-11 05:20:19 +01:00
defp preload_awards(user) do
Repo.preload(user, awards: :badge)
end
2020-01-11 05:20:19 +01:00
end