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