diff --git a/lib/philomena/galleries.ex b/lib/philomena/galleries.ex index e4fcf8e2..3119e3d2 100644 --- a/lib/philomena/galleries.ex +++ b/lib/philomena/galleries.ex @@ -49,6 +49,7 @@ defmodule Philomena.Galleries do %Gallery{} |> Gallery.creation_changeset(attrs, user) |> Repo.insert() + |> reindex_after_update() end @doc """ @@ -67,6 +68,7 @@ defmodule Philomena.Galleries do gallery |> Gallery.changeset(attrs) |> Repo.update() + |> reindex_after_update() end @doc """ @@ -91,6 +93,7 @@ defmodule Philomena.Galleries do Repo.delete(gallery) |> case do {:ok, gallery} -> + unindex_gallery(gallery) Images.reindex_images(images) {:ok, gallery} @@ -119,6 +122,16 @@ defmodule Philomena.Galleries do Elasticsearch.update_by_query(Gallery, data.query, data.set_replacements, data.replacements) end + defp reindex_after_update({:ok, gallery}) do + reindex_gallery(gallery) + + {:ok, gallery} + end + + defp reindex_after_update(error) do + error + end + def reindex_gallery(%Gallery{} = gallery) do Exq.enqueue(Exq, "indexing", IndexWorker, ["Galleries", "id", [gallery.id]]) diff --git a/lib/philomena_web/controllers/gallery_controller.ex b/lib/philomena_web/controllers/gallery_controller.ex index 764c5e41..c526a0ca 100644 --- a/lib/philomena_web/controllers/gallery_controller.ex +++ b/lib/philomena_web/controllers/gallery_controller.ex @@ -106,8 +106,6 @@ defmodule PhilomenaWeb.GalleryController do case Galleries.create_gallery(user, gallery_params) do {:ok, gallery} -> - Galleries.reindex_gallery(gallery) - conn |> put_flash(:info, "Gallery successfully created.") |> redirect(to: Routes.gallery_path(conn, :show, gallery)) @@ -130,8 +128,6 @@ defmodule PhilomenaWeb.GalleryController do case Galleries.update_gallery(gallery, gallery_params) do {:ok, gallery} -> - Galleries.reindex_gallery(gallery) - conn |> put_flash(:info, "Gallery successfully updated.") |> redirect(to: Routes.gallery_path(conn, :show, gallery)) @@ -146,7 +142,6 @@ defmodule PhilomenaWeb.GalleryController do gallery = conn.assigns.gallery {:ok, _gallery} = Galleries.delete_gallery(gallery) - Galleries.unindex_gallery(gallery) conn |> put_flash(:info, "Gallery successfully destroyed.")