aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-web/src/main/js/apps/create
diff options
context:
space:
mode:
authorViktor Vorona <viktor.vorona@sonarsource.com>2023-11-01 16:40:15 +0100
committersonartech <sonartech@sonarsource.com>2023-11-02 20:02:43 +0000
commitcd30a99f4406d93dad3ad9dc7b562257852b7d2b (patch)
tree41278ca8feb492510eddcb65720b1a37ce7b4401 /server/sonar-web/src/main/js/apps/create
parentc61ca2dd3caeda37b0a06382df62c71252da3ced (diff)
downloadsonarqube-cd30a99f4406d93dad3ad9dc7b562257852b7d2b.tar.gz
sonarqube-cd30a99f4406d93dad3ad9dc7b562257852b7d2b.zip
SONAR-20708 Handle project import failures
Diffstat (limited to 'server/sonar-web/src/main/js/apps/create')
-rw-r--r--server/sonar-web/src/main/js/apps/create/project/components/NewCodeDefinitionSelection.tsx40
1 files changed, 23 insertions, 17 deletions
diff --git a/server/sonar-web/src/main/js/apps/create/project/components/NewCodeDefinitionSelection.tsx b/server/sonar-web/src/main/js/apps/create/project/components/NewCodeDefinitionSelection.tsx
index ad08108944f..70e0ebdc98e 100644
--- a/server/sonar-web/src/main/js/apps/create/project/components/NewCodeDefinitionSelection.tsx
+++ b/server/sonar-web/src/main/js/apps/create/project/components/NewCodeDefinitionSelection.tsx
@@ -67,15 +67,7 @@ export default function NewCodeDefinitionSelection(props: Props) {
if (mutateCount > 0 || isIdle) {
return;
}
- reset();
- addGlobalSuccessMessage(
- intl.formatMessage(
- { id: 'onboarding.create_project.success' },
- {
- count: projectCount - failedImports,
- },
- ),
- );
+
if (failedImports > 0) {
addGlobalErrorMessage(
intl.formatMessage(
@@ -87,16 +79,30 @@ export default function NewCodeDefinitionSelection(props: Props) {
);
}
- if (projectCount === 1) {
- if (data) {
- navigate(getProjectUrl(data.project.key));
+ if (projectCount > failedImports) {
+ addGlobalSuccessMessage(
+ intl.formatMessage(
+ { id: 'onboarding.create_project.success' },
+ {
+ count: projectCount - failedImports,
+ },
+ ),
+ );
+
+ if (projectCount === 1) {
+ if (data) {
+ navigate(getProjectUrl(data.project.key));
+ }
+ } else {
+ navigate({
+ pathname: '/projects',
+ search: queryToSearch({ sort: '-creation_date' }),
+ });
}
- } else {
- navigate({
- pathname: '/projects',
- search: queryToSearch({ sort: '-creation_date' }),
- });
}
+
+ reset();
+ setFailedImports(0);
}, [data, projectCount, failedImports, mutateCount, reset, intl, navigate, isIdle]);
React.useEffect(() => {