Auth: Fix visibility of the Invite button on /admin/users page (#68991)

* Fix for invite button visibility

* Align test
This commit is contained in:
Misi
2023-05-25 13:58:41 +02:00
committed by GitHub
parent a018fa5cfb
commit df4db412cb
3 changed files with 7 additions and 7 deletions

View File

@@ -91,7 +91,7 @@ func (hs *HTTPServer) AddOrgInvite(c *contextmodel.ReqContext) response.Response
} }
if hs.Cfg.DisableLoginForm { 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{} cmd := tempuser.CreateTempUserCommand{}

View File

@@ -65,9 +65,9 @@ describe('Render', () => {
expect(screen.getByRole('link', { name: 'someUrl' })).toHaveAttribute('href', 'some/url'); expect(screen.getByRole('link', { name: 'someUrl' })).toHaveAttribute('href', 'some/url');
}); });
it('should not show invite button when disableLoginForm is set', () => { it('should not show invite button when externalUserMngInfo is set', () => {
const originalDisableLoginForm = config.disableLoginForm; const originalExternalUserMngInfo = config.externalUserMngInfo;
config.disableLoginForm = true; config.externalUserMngInfo = 'truthy';
setup({ setup({
canInvite: true, canInvite: true,
@@ -75,6 +75,6 @@ describe('Render', () => {
expect(screen.queryByRole('link', { name: 'Invite' })).not.toBeInTheDocument(); expect(screen.queryByRole('link', { name: 'Invite' })).not.toBeInTheDocument();
// Reset the disableLoginForm mock to its original value // Reset the disableLoginForm mock to its original value
config.disableLoginForm = originalDisableLoginForm; config.externalUserMngInfo = originalExternalUserMngInfo;
}); });
}); });

View File

@@ -49,8 +49,8 @@ export const UsersActionBarUnconnected = ({
{ label: `Pending Invites (${pendingInvitesCount})`, value: 'invites' }, { label: `Pending Invites (${pendingInvitesCount})`, value: 'invites' },
]; ];
const canAddToOrg: boolean = contextSrv.hasAccess(AccessControlAction.OrgUsersAdd, canInvite); const canAddToOrg: boolean = contextSrv.hasAccess(AccessControlAction.OrgUsersAdd, canInvite);
// backend rejects invitations if the login form is disabled // Hide Invite button in case users are managed externally
const showInviteButton: boolean = canAddToOrg && !config.disableLoginForm; const showInviteButton: boolean = canAddToOrg && !config.externalUserMngInfo;
return ( return (
<div className="page-action-bar" data-testid="users-action-bar"> <div className="page-action-bar" data-testid="users-action-bar">