From cc4679c9ab0bc2607179a26556e3b381a7a2533c Mon Sep 17 00:00:00 2001 From: Logan Hunt Date: Fri, 8 Apr 2022 13:01:24 -0600 Subject: [PATCH] Don't allow upload editing for posts --- lib/aggiedit_web/live/post_live/form_component.ex | 2 +- .../live/post_live/form_component.html.heex | 15 +++++++++++---- lib/aggiedit_web/live/post_live/index.ex | 2 +- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/lib/aggiedit_web/live/post_live/form_component.ex b/lib/aggiedit_web/live/post_live/form_component.ex index 532950c..66f2477 100644 --- a/lib/aggiedit_web/live/post_live/form_component.ex +++ b/lib/aggiedit_web/live/post_live/form_component.ex @@ -39,7 +39,7 @@ defmodule AggieditWeb.PostLive.FormComponent do defp save_upload(socket, %Post{} = post) do consume_uploaded_entries(socket, :upload, fn data, upload -> [extension | _] = MIME.extensions(upload.client_type) - filename = "#{upload.uuid}-#{extension}" + filename = "#{upload.uuid}.#{extension}" dest = Path.join("priv/static/uploads", filename) File.cp!(data.path, dest) diff --git a/lib/aggiedit_web/live/post_live/form_component.html.heex b/lib/aggiedit_web/live/post_live/form_component.html.heex index 695a90a..2f0738e 100644 --- a/lib/aggiedit_web/live/post_live/form_component.html.heex +++ b/lib/aggiedit_web/live/post_live/form_component.html.heex @@ -17,12 +17,19 @@ <%= textarea f, :body %> <%= error_tag f, :body %> - <%= live_file_input @uploads.upload %> - - <%= for upload <- @uploads.upload.entries do %> + <%= if !Ecto.assoc_loaded?(@post.upload) do %> + <%= live_file_input @uploads.upload %> + <%= for upload <- @uploads.upload.entries do %> +
+
+ <%= live_img_preview upload, height: 80 %> +
+
+ <% end %> + <%= else %>
- <%= live_img_preview upload, height: 80 %> +
<% end %> diff --git a/lib/aggiedit_web/live/post_live/index.ex b/lib/aggiedit_web/live/post_live/index.ex index 8ec98c7..7f3ac65 100644 --- a/lib/aggiedit_web/live/post_live/index.ex +++ b/lib/aggiedit_web/live/post_live/index.ex @@ -22,7 +22,7 @@ defmodule AggieditWeb.PostLive.Index do defp apply_action(socket, :edit, %{"id" => id}) do socket |> assign(:page_title, "Edit Post") - |> assign(:post, Rooms.get_post!(id)) + |> assign(:post, Rooms.get_post!(id) |> Repo.preload(:upload)) end defp apply_action(socket, :new, _params) do