From 035bd12e0c4b728e1f85c84a6a021a5298a415ae Mon Sep 17 00:00:00 2001
From: Jesse Malark <24375474+jmalark@users.noreply.github.com>
Date: Sun, 3 May 2026 18:35:25 -0400
Subject: [PATCH] AO3-7409 Adjust header and page subtitle for managing
invitations
---
app/controllers/invitations_controller.rb | 1 +
app/views/invitations/manage.html.erb | 9 ++++++++-
config/locales/controllers/en.yml | 3 +++
config/locales/views/en.yml | 4 ++++
features/admins/admin_invitations.feature | 1 +
spec/controllers/invitations_controller_spec.rb | 17 +++++++++++++++++
6 files changed, 34 insertions(+), 1 deletion(-)
diff --git a/app/controllers/invitations_controller.rb b/app/controllers/invitations_controller.rb
index 42df0c2bd20..16cf80967e1 100644
--- a/app/controllers/invitations_controller.rb
+++ b/app/controllers/invitations_controller.rb
@@ -20,6 +20,7 @@ def index
end
def manage
+ @page_subtitle = t(".page_title", username: @user.login)
status = params[:status]
@invitations = @user.invitations
if %w(unsent unredeemed redeemed).include?(status)
diff --git a/app/views/invitations/manage.html.erb b/app/views/invitations/manage.html.erb
index 97589ea5c6b..287102de36e 100644
--- a/app/views/invitations/manage.html.erb
+++ b/app/views/invitations/manage.html.erb
@@ -1,5 +1,12 @@
-
<%= logged_in_as_admin? ? (@user.login + "'s") : "Your" %> Invitations
+
+ <% if logged_in_as_admin? %>
+ <%= t(".page_heading.admin", username: @user.login) %>
+ <% else %>
+ <%= t(".page_heading.user") %>
+ <% end %>
+
+
diff --git a/config/locales/controllers/en.yml b/config/locales/controllers/en.yml
index e1198536650..bb162093115 100644
--- a/config/locales/controllers/en.yml
+++ b/config/locales/controllers/en.yml
@@ -231,6 +231,9 @@ en:
update:
must_select_item: Please select at least one comment first.
success: Inbox successfully updated.
+ invitations:
+ manage:
+ page_title: "%{username} - Manage Invitations"
invite_requests:
create:
queue_disabled:
diff --git a/config/locales/views/en.yml b/config/locales/views/en.yml
index 630a3291f93..d00a9807c45 100644
--- a/config/locales/views/en.yml
+++ b/config/locales/views/en.yml
@@ -2306,6 +2306,10 @@ en:
sent_at: Sent at
sent_to: Sent to
user_id_deleted: User %{user_id} (Deleted)
+ manage:
+ page_heading:
+ admin: Manage Invitations for %{username}
+ user: Manage Invitations
user_invitations:
table:
actions:
diff --git a/features/admins/admin_invitations.feature b/features/admins/admin_invitations.feature
index 55c141bbbbb..652c6bedd68 100644
--- a/features/admins/admin_invitations.feature
+++ b/features/admins/admin_invitations.feature
@@ -517,6 +517,7 @@ Feature: Admin Actions to Manage Invitations
And I am logged in as a "" admin
When I go to creator's manage invitations page
Then I should see "invitee"
+ And the page title should include "creator - Manage Invitations"
When I view the most recent invitation for "creator"
Then I should see "invitee"
When I follow "invitee"
diff --git a/spec/controllers/invitations_controller_spec.rb b/spec/controllers/invitations_controller_spec.rb
index 5775e1399be..92002c67c29 100644
--- a/spec/controllers/invitations_controller_spec.rb
+++ b/spec/controllers/invitations_controller_spec.rb
@@ -48,6 +48,23 @@
expect(response).to render_template("manage")
end
+
+ it "assigns subtitle with username in it" do
+ admin.update!(roles: ["policy_and_abuse"])
+ fake_login_admin(admin)
+ get :manage, params: { user_id: user.login }
+
+ expect(assigns[:page_subtitle]).to eq("#{user.login} - Manage Invitations")
+ end
+ end
+
+ context "when not an admin" do
+ it "assigns subtitle with username in it" do
+ fake_login_known_user(user)
+ get :manage, params: { user_id: user.login }
+
+ expect(assigns[:page_subtitle]).to eq("#{user.login} - Manage Invitations")
+ end
end
end