diff --git a/lib/epochtalk_server_web/controllers/post.ex b/lib/epochtalk_server_web/controllers/post.ex index a86fd3be..ccc618d7 100644 --- a/lib/epochtalk_server_web/controllers/post.ex +++ b/lib/epochtalk_server_web/controllers/post.ex @@ -10,6 +10,7 @@ defmodule EpochtalkServerWeb.Controllers.Post do alias EpochtalkServerWeb.Helpers.ACL alias EpochtalkServerWeb.Helpers.Sanitize alias EpochtalkServerWeb.Helpers.Parse + alias EpochtalkServer.Models.Profile alias EpochtalkServer.Models.Post alias EpochtalkServer.Models.Poll alias EpochtalkServer.Models.Thread @@ -384,12 +385,17 @@ defmodule EpochtalkServerWeb.Controllers.Post do per_page: limit, desc: desc ), + count <- Profile.post_count_by_username(username), {:has_posts, true} <- {:has_posts, posts != []} do render(conn, :by_username, %{ posts: posts, user: user, priority: priority, - view_deleted_posts: view_deleted_posts + view_deleted_posts: view_deleted_posts, + count: count, + limit: limit, + page: page, + desc: desc }) else {:has_posts, false} -> diff --git a/lib/epochtalk_server_web/json/post_json.ex b/lib/epochtalk_server_web/json/post_json.ex index cdc11015..2dccc1e5 100644 --- a/lib/epochtalk_server_web/json/post_json.ex +++ b/lib/epochtalk_server_web/json/post_json.ex @@ -102,10 +102,18 @@ defmodule EpochtalkServerWeb.Controllers.PostJSON do @doc """ Renders all `Post` for a particular `User`. """ - def by_username(%{posts: posts, user: user, priority: priority, view_deleted_posts: view_deleted_posts}) do - posts + def by_username(%{posts: posts, user: user, priority: priority, view_deleted_posts: view_deleted_posts, count: count, limit: limit, page: page, desc: desc}) do + posts = posts |> Enum.map(&(Map.put(&1, :body_html, &1.body) |> Map.delete(:body))) |> handle_deleted_posts(nil, user, priority, view_deleted_posts) + + %{ + posts: posts, + page: page, + desc: desc, + limit: limit, + count: count + } end ## === Private Helper Functions ===