From 043de8ee2d46759e737784ac66944379504836b3 Mon Sep 17 00:00:00 2001 From: Philippe Perrin Date: Thu, 1 Jul 2021 10:06:48 +0200 Subject: [PATCH] SONAR-15120 Ease project creation page comprehension for admin --- .../project/CreateProjectModeSelection.tsx | 53 ++-- .../CreateProjectModeSelection-test.tsx.snap | 252 +++++++++++------- .../resources/org/sonar/l10n/core.properties | 1 + 3 files changed, 187 insertions(+), 119 deletions(-) diff --git a/server/sonar-web/src/main/js/apps/create/project/CreateProjectModeSelection.tsx b/server/sonar-web/src/main/js/apps/create/project/CreateProjectModeSelection.tsx index 980c1c677eb..6d3fc17a105 100644 --- a/server/sonar-web/src/main/js/apps/create/project/CreateProjectModeSelection.tsx +++ b/server/sonar-web/src/main/js/apps/create/project/CreateProjectModeSelection.tsx @@ -75,6 +75,19 @@ function renderAlmOption( ); }; + let errorMessage = ''; + + if (hasTooManyConfig) { + errorMessage = translateWithParameters( + 'onboarding.create_project.too_many_alm_instances_X', + translate('alm', alm) + ); + } else if (!hasConfig) { + errorMessage = canAdmin + ? translate('onboarding.create_project.alm_not_configured.admin') + : translate('onboarding.create_project.alm_not_configured'); + } + return (
@@ -139,30 +147,29 @@ export function CreateProjectModeSelection(props: CreateProjectModeSelectionProp
-
- - +
+ {almTotalCount === 0 && canAdmin && ( + + {translate('onboarding.create_project.select_method.no_alm_yet.admin')} + + )}
{renderAlmOption(props, AlmKeys.Azure, CreateProjectModes.AzureDevOps)} {renderAlmOption(props, AlmKeys.BitbucketServer, CreateProjectModes.BitbucketServer)} {renderAlmOption(props, AlmKeys.GitHub, CreateProjectModes.GitHub)} {renderAlmOption(props, AlmKeys.GitLab, CreateProjectModes.GitLab, true)}
- {almTotalCount === 0 && canAdmin && ( - - {translate('onboarding.create_project.select_method.no_alm_yet.admin')} - - )}
+
); diff --git a/server/sonar-web/src/main/js/apps/create/project/__tests__/__snapshots__/CreateProjectModeSelection-test.tsx.snap b/server/sonar-web/src/main/js/apps/create/project/__tests__/__snapshots__/CreateProjectModeSelection-test.tsx.snap index e7a39f01fcd..5e8b5ef245a 100644 --- a/server/sonar-web/src/main/js/apps/create/project/__tests__/__snapshots__/CreateProjectModeSelection-test.tsx.snap +++ b/server/sonar-web/src/main/js/apps/create/project/__tests__/__snapshots__/CreateProjectModeSelection-test.tsx.snap @@ -26,22 +26,8 @@ exports[`should render correctly: default 1`] = `
-
@@ -134,6 +120,20 @@ exports[`should render correctly: default 1`] = `
+ `; @@ -164,22 +164,8 @@ exports[`should render correctly: invalid configs, admin 1`] = `
-
@@ -226,6 +212,16 @@ exports[`should render correctly: invalid configs, admin 1`] = ` > onboarding.create_project.select_method.bitbucket
+

+ onboarding.create_project.alm_not_configured.admin +

+ `; @@ -312,22 +322,8 @@ exports[`should render correctly: invalid configs, admin 2`] = `
-
@@ -374,6 +370,16 @@ exports[`should render correctly: invalid configs, admin 2`] = ` > onboarding.create_project.select_method.bitbucket
+

+ onboarding.create_project.alm_not_configured.admin +

+ `; @@ -460,22 +480,8 @@ exports[`should render correctly: invalid configs, not admin 1`] = `
-
@@ -588,6 +594,20 @@ exports[`should render correctly: invalid configs, not admin 1`] = `
+ `; @@ -618,22 +638,8 @@ exports[`should render correctly: loading instances 1`] = `
-
@@ -750,6 +756,20 @@ exports[`should render correctly: loading instances 1`] = `
+ `; @@ -780,25 +800,17 @@ exports[`should render correctly: no alm conf yet, admin 1`] = `
-
+ + onboarding.create_project.select_method.no_alm_yet.admin +
@@ -821,6 +833,16 @@ exports[`should render correctly: no alm conf yet, admin 1`] = ` > onboarding.create_project.select_method.azure
+

+ onboarding.create_project.alm_not_configured.admin +

onboarding.create_project.select_method.bitbucket
+

+ onboarding.create_project.alm_not_configured.admin +

onboarding.create_project.select_method.github
+

+ onboarding.create_project.alm_not_configured.admin +

onboarding.create_project.select_method.gitlab
+

+ onboarding.create_project.alm_not_configured.admin +

- - onboarding.create_project.select_method.no_alm_yet.admin - + `; diff --git a/sonar-core/src/main/resources/org/sonar/l10n/core.properties b/sonar-core/src/main/resources/org/sonar/l10n/core.properties index 3df3617e8de..6d458f812f1 100644 --- a/sonar-core/src/main/resources/org/sonar/l10n/core.properties +++ b/sonar-core/src/main/resources/org/sonar/l10n/core.properties @@ -3253,6 +3253,7 @@ onboarding.create_project.select_method.bitbucket=From Bitbucket onboarding.create_project.select_method.github=From GitHub onboarding.create_project.select_method.gitlab=From GitLab onboarding.create_project.alm_not_configured=Contact admin for global configuration +onboarding.create_project.alm_not_configured.admin=Global configuration not set onboarding.create_project.check_alm_supported=Checking if available onboarding.create_project.project_key=Project key onboarding.create_project.project_key.description=Up to 400 characters. Allowed characters are alphanumeric, '-' (dash), '_' (underscore), '.' (period) and ':' (colon), with at least one non-digit. -- 2.39.5