]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-18964 Improve users list help texts and activity filter labels
authorAmbroise C <ambroise.christea@sonarsource.com>
Fri, 21 Apr 2023 08:01:45 +0000 (10:01 +0200)
committersonartech <sonartech@sonarsource.com>
Fri, 21 Apr 2023 20:02:53 +0000 (20:02 +0000)
server/sonar-web/src/main/js/apps/users/UsersApp.tsx
server/sonar-web/src/main/js/apps/users/__tests__/UsersApp-it.tsx
sonar-core/src/main/resources/org/sonar/l10n/core.properties

index 25cfbadde0bfca50707f491fe2ade8efe33302d7..053cfe7003ff2e48d71fc04bd254750f2b73a7a8 100644 (file)
@@ -20,7 +20,6 @@
 import { subDays, subSeconds } from 'date-fns';
 import React, { useCallback, useEffect, useMemo, useState } from 'react';
 import { Helmet } from 'react-helmet-async';
-import { FormattedMessage } from 'react-intl';
 import { getIdentityProviders, searchUsers } from '../../api/users';
 import HelpTooltip from '../../components/controls/HelpTooltip';
 import ListFooter from '../../components/controls/ListFooter';
@@ -158,61 +157,8 @@ export default function UsersApp() {
             className="sw-ml-1"
             overlay={
               <>
-                <p>{translate('users.activity_filter.helptext')}</p>
-                <ul className="spacer-top">
-                  <li>
-                    <FormattedMessage
-                      defaultMessage={translate('users.activity_filter.helptext.all_users')}
-                      id="users.activity_filter.helptext.all_users"
-                      values={{
-                        allUsersLabel: (
-                          <strong>{translate('users.activity_filter.all_users')}</strong>
-                        ),
-                      }}
-                    />
-                  </li>
-                  <li>
-                    <FormattedMessage
-                      defaultMessage={translate(
-                        'users.activity_filter.helptext.active_sonarlint_users'
-                      )}
-                      id="users.activity_filter.helptext.active_sonarlint_users"
-                      values={{
-                        activeSonarLintUsersLabel: (
-                          <strong>
-                            {translate('users.activity_filter.active_sonarlint_users')}
-                          </strong>
-                        ),
-                      }}
-                    />
-                  </li>
-                  <li>
-                    <FormattedMessage
-                      defaultMessage={translate(
-                        'users.activity_filter.helptext.active_sonarqube_users'
-                      )}
-                      id="users.activity_filter.helptext.active_sonarqube_users"
-                      values={{
-                        activeSonarQubeUsersLabel: (
-                          <strong>
-                            {translate('users.activity_filter.active_sonarqube_users')}
-                          </strong>
-                        ),
-                      }}
-                    />
-                  </li>
-                  <li>
-                    <FormattedMessage
-                      defaultMessage={translate('users.activity_filter.helptext.inactive_users')}
-                      id="users.activity_filter.helptext.inactive_users"
-                      values={{
-                        inactiveUsersLabel: (
-                          <strong>{translate('users.activity_filter.inactive_users')}</strong>
-                        ),
-                      }}
-                    />
-                  </li>
-                </ul>
+                <p>{translate('users.activity_filter.helptext.sonarqube')}</p>
+                <p>{translate('users.activity_filter.helptext.sonarlint')}</p>
               </>
             }
           />
index 3d458a894f96a7b9bf5ea23f0b9e0af82eb2cfb8..1a2c1ed45ea3d565970090897e21e18289d2f208 100644 (file)
@@ -120,14 +120,10 @@ describe('different filters combinations', () => {
 
     await userEvent.click(await ui.localFilter.find());
     await act(async () => {
-      await selectEvent.select(ui.activityFilter.get(), (content, element) => {
-        return (
-          // eslint-disable-next-line jest/no-conditional-in-test
-          content === 'users.activity_filter.active_sonarlint_users' &&
-          element?.tagName === 'DIV' &&
-          element?.className.split(' ').includes('react-select__option')
-        );
-      });
+      await selectEvent.select(
+        ui.activityFilter.get(),
+        'users.activity_filter.active_sonarlint_users'
+      );
     });
 
     expect(await ui.userRows.findAll()).toHaveLength(1);
@@ -139,14 +135,10 @@ describe('different filters combinations', () => {
 
     await userEvent.click(await ui.managedFilter.find());
     await act(async () => {
-      await selectEvent.select(ui.activityFilter.get(), (content, element) => {
-        return (
-          // eslint-disable-next-line jest/no-conditional-in-test
-          content === 'users.activity_filter.active_sonarqube_users' &&
-          element?.tagName === 'DIV' &&
-          element?.className.split(' ').includes('react-select__option')
-        );
-      });
+      await selectEvent.select(
+        ui.activityFilter.get(),
+        'users.activity_filter.active_sonarqube_users'
+      );
     });
 
     expect(await ui.userRows.findAll()).toHaveLength(1);
@@ -158,14 +150,7 @@ describe('different filters combinations', () => {
 
     await userEvent.click(await ui.allFilter.find());
     await act(async () => {
-      await selectEvent.select(ui.activityFilter.get(), (content, element) => {
-        return (
-          // eslint-disable-next-line jest/no-conditional-in-test
-          content === 'users.activity_filter.inactive_users' &&
-          element?.tagName === 'DIV' &&
-          element?.className.split(' ').includes('react-select__option')
-        );
-      });
+      await selectEvent.select(ui.activityFilter.get(), 'users.activity_filter.inactive_users');
     });
 
     expect(await ui.userRows.findAll()).toHaveLength(2);
index e270012c337c6b04e178e664ddc0ed3af1ca62ff..93fb50eb06eeebbe3f671652791cc7d811af179f 100644 (file)
@@ -4402,7 +4402,7 @@ users.minimum_x_characters=Minimum {0} characters
 users.email=Email
 users.last_connection=Last connection
 users.last_sonarlint_connection=Last SonarLint connection
-users.last_sonarlint_connection.help_text=The last time the user connected to this instance through SonarLint in connected mode.
+users.last_sonarlint_connection.help_text=The time of the last connection from SonarLint indicates that the user used SonarLint in connected mode.
 users.update_users_groups=Update {0}'s group membership
 users.update_groups=Update Groups
 users.manage_user=Update {0}
@@ -4413,13 +4413,10 @@ users.remove=Remove user
 users.search_description=Search users by login or name
 users.activity_filter.label=Filter users by activity
 users.activity_filter.placeholder=All users
-users.activity_filter.helptext=A user is considered active if they connected to SonarLint or SonarQube at least once in the past 30 days.
-users.activity_filter.helptext.all_users={allUsersLabel}: All users whether they connected to SonarLint/SonarQube in the 30 days.
-users.activity_filter.helptext.active_sonarlint_users={activeSonarLintUsersLabel}: Users that connected to SonarLint in the past 30 days.
-users.activity_filter.helptext.active_sonarqube_users={activeSonarQubeUsersLabel}: Users that connected to SonarQube but not to SonarLint in the past 30 days.
-users.activity_filter.helptext.inactive_users={inactiveUsersLabel}: Users that didn't connect to SonarQube in the past 30 days.
+users.activity_filter.helptext.sonarqube=Users are considered active if they connected to SonarQube at least once in the past 30 days.
+users.activity_filter.helptext.sonarlint=Users are considered active with SonarLint if they used SonarLint in connected mode at least once in the past 30 days.
 users.activity_filter.all_users=All users
-users.activity_filter.active_sonarlint_users=Active SonarLint users
+users.activity_filter.active_sonarlint_users=Active users with SonartLint
 users.activity_filter.active_sonarqube_users=Active users without SonarLint
 users.activity_filter.inactive_users=Inactive users
 users.tokens=Tokens