Fix issue with "Save and edit"

This commit is contained in:
Thelonius Kort
2023-01-23 15:40:05 +01:00
parent 2db0ff06ac
commit 0089d22da4
2 changed files with 14 additions and 12 deletions

View File

@ -164,7 +164,7 @@ defmodule OutlookWeb.TranslationLive.FormComponent do
{:noreply,
socket
|> put_flash(:info, "Translation updated successfully")
|> continue_edit(params)}
|> continue_edit(:edit, params)}
{:error, %Ecto.Changeset{} = changeset} ->
{:noreply, assign(socket, :changeset, changeset)}
@ -173,22 +173,24 @@ defmodule OutlookWeb.TranslationLive.FormComponent do
defp save_translation(socket, :new, %{"translation" => translation_params} = params) do
case Translations.create_translation(translation_params) do
{:ok, _translation} ->
{:ok, translation} ->
{:noreply,
socket
|> put_flash(:info, "Translation created successfully")
|> continue_edit(params)}
|> continue_edit(:new, Map.put(params,"id", translation.id))}
{:error, %Ecto.Changeset{} = changeset} ->
{:noreply, assign(socket, changeset: changeset)}
end
end
defp continue_edit(socket, %{"continue_edit" => "true"}) do
defp continue_edit(socket, :edit, %{"continue_edit" => "true"}) do
socket
|> assign(:action, :edit)
end
defp continue_edit(socket, %{"continue_edit" => "false"}) do
defp continue_edit(socket, :new, %{"continue_edit" => "true"} = params) do
socket |> push_patch(to: ~p(/translations/#{params["id"]}/edit))
end
defp continue_edit(socket, _, %{"continue_edit" => "false"}) do
socket |> push_navigate(to: socket.assigns.navigate)
end