mirror of
https://github.com/philomena-dev/philomena.git
synced 2024-11-24 20:37:59 +01:00
24 lines
656 B
Elixir
24 lines
656 B
Elixir
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
|
|
|
|
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
|
|
|
|
defp preload_awards(user) do
|
|
Repo.preload(user, awards: :badge)
|
|
end
|
|
end
|