philomena/lib/philomena_web/controllers/post/preview_controller.ex
2019-12-01 12:11:00 -05:00

23 lines
No EOL
643 B
Elixir

defmodule PhilomenaWeb.Post.PreviewController do
use PhilomenaWeb, :controller
alias Philomena.Textile.Renderer
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 = Renderer.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