diff options
Diffstat (limited to 'openecomp-ui/src')
4 files changed, 77 insertions, 24 deletions
diff --git a/openecomp-ui/src/nfvo-utils/i18n/en.json b/openecomp-ui/src/nfvo-utils/i18n/en.json index ada011f7c3..3a61fb3a6f 100644 --- a/openecomp-ui/src/nfvo-utils/i18n/en.json +++ b/openecomp-ui/src/nfvo-utils/i18n/en.json @@ -148,6 +148,7 @@ "Upload will erase existing data. Do you want to continue?": "Upload will erase existing data. Do you want to continue?", "Continue": "Continue", "Upload validation failed": "Upload validation failed", + "upload.failed": "Upload failed", "Download HEAT": "Download HEAT", "Go to Overview": "Go to Overview", "Upload New HEAT": "Upload New HEAT", diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/SoftwareProductActionHelper.js b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/SoftwareProductActionHelper.js index 3364edfe11..90bf9f9f08 100644 --- a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/SoftwareProductActionHelper.js +++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/SoftwareProductActionHelper.js @@ -366,6 +366,16 @@ const SoftwareProductActionHelper = { ); }, + createUploadStatus(vspId, versionId) { + const options = { + noLoading: true + }; + return RestAPIUtil.post( + `${baseUrl()}${vspId}/versions/${versionId}/orchestration-template-candidate/upload`, + options + ); + }, + loadSoftwareProductAssociatedData(dispatch) { fetchSoftwareProductCategories(dispatch); fetchModelList(dispatch); diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/landingPage/SoftwareProductLandingPage.js b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/landingPage/SoftwareProductLandingPage.js index 4b4c2fa86b..07a59eded3 100644 --- a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/landingPage/SoftwareProductLandingPage.js +++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/landingPage/SoftwareProductLandingPage.js @@ -22,6 +22,7 @@ import { onboardingMethod } from '../SoftwareProductConstants.js'; import ScreensHelper from 'sdc-app/common/helpers/ScreensHelper.js'; import { enums, screenTypes } from 'sdc-app/onboarding/OnboardingConstants.js'; import VNFImportActionHelper from '../vnfMarketPlace/VNFImportActionHelper.js'; +import VspUploadStatus from 'sdc-app/onboarding/softwareProduct/landingPage/VspUploadStatus'; export const mapStateToProps = ({ features, @@ -120,16 +121,34 @@ const mapActionsToProps = (dispatch, { version }) => { // do nothing by default } ) => { - SoftwareProductActionHelper.uploadFile(dispatch, { + SoftwareProductActionHelper.createUploadStatus( softwareProductId, - formData, - failedNotificationTitle: i18n('Upload validation failed'), - version, - onUploadProgress - }).finally(() => { - onUploadFinished(); - }); - onUploadStart(); + version.id + ) + .then(response => { + const vspUploadStatus = new VspUploadStatus(response); + onUploadStart(vspUploadStatus); + SoftwareProductActionHelper.uploadFile(dispatch, { + softwareProductId, + formData, + failedNotificationTitle: i18n( + 'Upload validation failed' + ), + version, + onUploadProgress + }).finally(() => { + onUploadFinished(); + }); + }) + .catch(error => { + dispatch({ + type: modalActionTypes.GLOBAL_MODAL_ERROR, + data: { + title: i18n('upload.failed'), + msg: error.message + } + }); + }); }, onUploadConfirmation: ( @@ -152,19 +171,39 @@ const mapActionsToProps = (dispatch, { version }) => { confirmationButtonText: i18n('Continue'), title: i18n('Warning'), onConfirmed: () => { - SoftwareProductActionHelper.uploadFile(dispatch, { + SoftwareProductActionHelper.createUploadStatus( softwareProductId, - formData, - failedNotificationTitle: i18n( - 'Upload validation failed' - ), - version, - onUploadProgress - }).finally(value => { - console.log('upload finished', value); - onUploadFinished(); - }); - onUploadStart(); + version.id + ) + .then(response => { + const vspUploadStatus = new VspUploadStatus( + response + ); + onUploadStart(vspUploadStatus); + SoftwareProductActionHelper.uploadFile( + dispatch, + { + softwareProductId, + formData, + failedNotificationTitle: i18n( + 'Upload validation failed' + ), + version, + onUploadProgress + } + ).finally(() => { + onUploadFinished(); + }); + }) + .catch(error => { + dispatch({ + type: modalActionTypes.GLOBAL_MODAL_ERROR, + data: { + title: i18n('upload.failed'), + msg: error.message + } + }); + }); }, onDeclined: () => dispatch({ diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/landingPage/SoftwareProductLandingPageView.jsx b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/landingPage/SoftwareProductLandingPageView.jsx index c560a73db3..64032863c7 100644 --- a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/landingPage/SoftwareProductLandingPageView.jsx +++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/landingPage/SoftwareProductLandingPageView.jsx @@ -261,7 +261,10 @@ class SoftwareProductLandingPageView extends React.Component { } } - onUploadStart = () => { + onUploadStart = vspUploadStatus => { + this.setState({ + uploadStatus: vspUploadStatus + }); this.stopUploadStatusChecking(); this.showProgressBar(); }; @@ -324,7 +327,7 @@ class SoftwareProductLandingPageView extends React.Component { onUploadConfirmation( currentSoftwareProduct.id, formData, - () => this.onUploadStart(), + vspUploadStatus => this.onUploadStart(vspUploadStatus), this.onUploadProgress, this.onUploadFinished ); @@ -332,7 +335,7 @@ class SoftwareProductLandingPageView extends React.Component { onUpload( currentSoftwareProduct.id, formData, - () => this.onUploadStart(), + vspUploadStatus => this.onUploadStart(vspUploadStatus), this.onUploadProgress, this.onUploadFinished ); |