From df4db412cba4ebc8279930c2622e9c607632ae83 Mon Sep 17 00:00:00 2001 From: Misi Date: Thu, 25 May 2023 13:58:41 +0200 Subject: [PATCH] Auth: Fix visibility of the Invite button on /admin/users page (#68991) * Fix for invite button visibility * Align test --- pkg/api/org_invite.go | 2 +- public/app/features/users/UsersActionBar.test.tsx | 8 ++++---- public/app/features/users/UsersActionBar.tsx | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/pkg/api/org_invite.go b/pkg/api/org_invite.go index 381fc33a848..53a94e80cdb 100644 --- a/pkg/api/org_invite.go +++ b/pkg/api/org_invite.go @@ -91,7 +91,7 @@ func (hs *HTTPServer) AddOrgInvite(c *contextmodel.ReqContext) response.Response } if hs.Cfg.DisableLoginForm { - return response.Error(400, "Cannot invite when login is disabled.", nil) + return response.Error(400, "Cannot invite external user when login is disabled.", nil) } cmd := tempuser.CreateTempUserCommand{} diff --git a/public/app/features/users/UsersActionBar.test.tsx b/public/app/features/users/UsersActionBar.test.tsx index 787a44d11d9..65cc7ffff49 100644 --- a/public/app/features/users/UsersActionBar.test.tsx +++ b/public/app/features/users/UsersActionBar.test.tsx @@ -65,9 +65,9 @@ describe('Render', () => { expect(screen.getByRole('link', { name: 'someUrl' })).toHaveAttribute('href', 'some/url'); }); - it('should not show invite button when disableLoginForm is set', () => { - const originalDisableLoginForm = config.disableLoginForm; - config.disableLoginForm = true; + it('should not show invite button when externalUserMngInfo is set', () => { + const originalExternalUserMngInfo = config.externalUserMngInfo; + config.externalUserMngInfo = 'truthy'; setup({ canInvite: true, @@ -75,6 +75,6 @@ describe('Render', () => { expect(screen.queryByRole('link', { name: 'Invite' })).not.toBeInTheDocument(); // Reset the disableLoginForm mock to its original value - config.disableLoginForm = originalDisableLoginForm; + config.externalUserMngInfo = originalExternalUserMngInfo; }); }); diff --git a/public/app/features/users/UsersActionBar.tsx b/public/app/features/users/UsersActionBar.tsx index e6ea3115f98..78a3478f7fa 100644 --- a/public/app/features/users/UsersActionBar.tsx +++ b/public/app/features/users/UsersActionBar.tsx @@ -49,8 +49,8 @@ export const UsersActionBarUnconnected = ({ { label: `Pending Invites (${pendingInvitesCount})`, value: 'invites' }, ]; const canAddToOrg: boolean = contextSrv.hasAccess(AccessControlAction.OrgUsersAdd, canInvite); - // backend rejects invitations if the login form is disabled - const showInviteButton: boolean = canAddToOrg && !config.disableLoginForm; + // Hide Invite button in case users are managed externally + const showInviteButton: boolean = canAddToOrg && !config.externalUserMngInfo; return (