Uploading of performer photos.
This commit is contained in:
@@ -19,7 +19,8 @@ defmodule RunosaariWeb.PerformerController do
|
||||
render(conn, "new.html", changeset: changeset)
|
||||
end
|
||||
|
||||
def create(conn, %{"performer" => %{"photo" => photo_params} = performer_params}) do
|
||||
def create(conn, %{"performer" => performer_params}) do
|
||||
%{"photo" => photo_params} = performer_params
|
||||
file_uuid = UUID.uuid4(:hex)
|
||||
photo_filename = photo_params.filename
|
||||
unique_filename = "#{file_uuid}-#{photo_filename}"
|
||||
@@ -27,24 +28,23 @@ defmodule RunosaariWeb.PerformerController do
|
||||
bucket_name = System.get_env("S3_BUCKET_NAME")
|
||||
public_host = System.get_env("S3_PUBLIC_HOST")
|
||||
|
||||
photo =
|
||||
ExAws.S3.put_object(bucket_name, unique_filename, photo_binary)
|
||||
|> ExAws.request!()
|
||||
ExAws.S3.put_object(bucket_name, unique_filename, photo_binary)
|
||||
|> ExAws.request!()
|
||||
|
||||
updated_params =
|
||||
performer_params
|
||||
|> Map.update(photo, photo_params, fn _value ->
|
||||
|> Map.delete("photo")
|
||||
|> Map.put(
|
||||
"photo_path",
|
||||
"https://#{public_host}/#{bucket_name}/performer_photos/#{unique_filename}"
|
||||
end)
|
||||
)
|
||||
|
||||
updated_changeset = Performer.changeset(%Performer{}, updated_params)
|
||||
|
||||
case Registration.create_performer(updated_changeset) do
|
||||
case Registration.create_performer(updated_params) do
|
||||
{:ok, _performer} ->
|
||||
conn
|
||||
|> put_flash(
|
||||
:info,
|
||||
"Kiitokset ilmoittautumisestasi! Osallistumisesi tulee julkiseksi kun tapahtuman järjestäjät vahvistavat sen."
|
||||
"Esiintyjä tallennettu. Tiedot ovat julkisia esiintyjän ollessa vahvistettu."
|
||||
)
|
||||
|> redirect(to: Routes.admin_performer_path(conn, :admin))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user