find index fix

This commit is contained in:
byte[] 2019-12-22 16:02:27 -05:00
parent 20bc8c1416
commit 4bf223fe1a

View file

@ -1,6 +1,7 @@
defmodule PhilomenaWeb.Image.NavigateController do defmodule PhilomenaWeb.Image.NavigateController do
use PhilomenaWeb, :controller use PhilomenaWeb, :controller
alias PhilomenaWeb.ImageLoader
alias Philomena.Images.Image alias Philomena.Images.Image
alias Philomena.Images.Query alias Philomena.Images.Query
alias Philomena.ImageNavigator alias Philomena.ImageNavigator
@ -21,34 +22,17 @@ defmodule PhilomenaWeb.Image.NavigateController do
end end
def index(conn, %{"rel" => "find"}) do def index(conn, %{"rel" => "find"}) do
image = conn.assigns.image pagination = %{conn.assigns.image_pagination | page_number: 1}
filter = conn.assigns.compiled_filter
pagination = conn.assigns.pagination
# Global find does not use the current search scope. # Find does not use the current search scope
resp = # (although it probably should).
Image.search( body = %{range: %{id: %{gt: conn.assigns.image.id}}}
%{
query: %{
bool: %{
must: %{
range: %{id: %{gt: image.id}}
},
must_not: [
filter,
%{term: %{hidden_from_users: true}}
]
}
},
sort: %{created_at: :desc},
size: 0
}
)
page_num = page_for_offset(pagination.page_size, resp["hits"]["total"]) {images, _tags} = ImageLoader.query(conn, body, queryable: Image, pagination: pagination)
conn page_num = page_for_offset(pagination.page_size, images.total_entries)
|> redirect(to: Routes.image_path(conn, :index, page: page_num))
redirect(conn, to: Routes.image_path(conn, :index, page: page_num))
end end
defp page_for_offset(_per_page, 0), do: 1 defp page_for_offset(_per_page, 0), do: 1
@ -74,4 +58,4 @@ defmodule PhilomenaWeb.Image.NavigateController do
false -> input false -> input
end end
end end
end end