From 6a741d1b2c4629555723e3f7f29cdd5f2ae9e377 Mon Sep 17 00:00:00 2001 From: "byte[]" Date: Sun, 6 Oct 2019 17:59:47 -0400 Subject: [PATCH] load topic correctly --- lib/philomena_web/controllers/topic_controller.ex | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/philomena_web/controllers/topic_controller.ex b/lib/philomena_web/controllers/topic_controller.ex index 6682f9b6..333c01a0 100644 --- a/lib/philomena_web/controllers/topic_controller.ex +++ b/lib/philomena_web/controllers/topic_controller.ex @@ -6,9 +6,17 @@ defmodule PhilomenaWeb.TopicController do import Ecto.Query plug :load_and_authorize_resource, model: Forum, id_name: "forum_id", id_field: "short_name", persisted: true - plug :load_and_authorize_resource, model: Topic, id_name: "id", id_field: "slug", preload: :user - def show(conn, %{"id" => _id}) do + def show(conn, %{"id" => slug}) do + forum = conn.assigns.forum + topic = + Topic + |> where(forum_id: ^forum.id, slug: ^slug, hidden_from_users: false) + |> preload(:user) + |> Repo.one() + + conn = conn |> assign(:topic, topic) + posts = Post |> where(topic_id: ^conn.assigns.topic.id)