diff --git a/lib/philomena/users/ability.ex b/lib/philomena/users/ability.ex index bb2b88b9..74151e5d 100644 --- a/lib/philomena/users/ability.ex +++ b/lib/philomena/users/ability.ex @@ -38,6 +38,7 @@ defimpl Canada.Can, for: [Atom, Philomena.Users.User] do # Show details of profiles and view user list def can?(%User{role: "moderator"}, :show_details, %User{}), do: true + def can?(%User{role: "moderator"}, :edit_description, %User{}), do: true def can?(%User{role: "moderator"}, :index, User), do: true # View filters diff --git a/lib/philomena_web/controllers/profile/description_controller.ex b/lib/philomena_web/controllers/profile/description_controller.ex index 1b2660e9..68ee595c 100644 --- a/lib/philomena_web/controllers/profile/description_controller.ex +++ b/lib/philomena_web/controllers/profile/description_controller.ex @@ -6,7 +6,7 @@ defmodule PhilomenaWeb.Profile.DescriptionController do plug PhilomenaWeb.FilterBannedUsersPlug plug PhilomenaWeb.CanaryMapPlug, edit: :edit_description, update: :edit_description - plug :load_resource, model: User, id_name: "profile_id", id_field: "slug", persisted: true + plug :load_and_authorize_resource, model: User, id_name: "profile_id", id_field: "slug", persisted: true def edit(conn, _params) do changeset = Users.change_user(conn.assigns.user)