summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorandre.schmid <andre.schmid@est.tech>2022-04-11 15:58:59 +0100
committerandre.schmid <andre.schmid@est.tech>2022-04-11 16:37:09 +0100
commit8164e4d316b3d4ffdd0ba2aa599bbc0f9b454598 (patch)
treec191a0dcd4db8d78370ee2617ab9c7e9637e2c7c
parent10999e8145661c2a27a9e9c1876ee4dc915e2b80 (diff)
Add delete button for archived VLM
Adds a delete button for archived VLM in the VLM versions page. Asks for a confirmation before deleting. As VSP and VLM shares the same button, adds also a confirmation before deleting the VSP. Change-Id: I90af23cf3cff15d85292c895fdba7021aaa9649a Issue-ID: SDC-3964 Signed-off-by: andre.schmid <andre.schmid@est.tech>
-rw-r--r--openecomp-ui/src/nfvo-utils/i18n/en.json9
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/licenseModel/LicenseModelActionHelper.js13
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPage.js28
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPage.jsx1
-rw-r--r--openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPageActionHelper.js21
5 files changed, 60 insertions, 12 deletions
diff --git a/openecomp-ui/src/nfvo-utils/i18n/en.json b/openecomp-ui/src/nfvo-utils/i18n/en.json
index 3a61fb3a6f..f0613bccf0 100644
--- a/openecomp-ui/src/nfvo-utils/i18n/en.json
+++ b/openecomp-ui/src/nfvo-utils/i18n/en.json
@@ -668,5 +668,12 @@
"upload.status.validating": "Package is in validation",
"upload.status.processing": "Package is being processed",
"upload.status.success": "Package was successfully uploaded",
- "upload.status.error": "Package upload resulted in error"
+ "upload.status.error": "Package upload resulted in error",
+ "vlm.delete.modal.title": "Delete Archived VLM",
+ "vlm.delete.archived.warning": "Deleting a Vendor Licence Model cannot be undone. Do you want to proceed?",
+ "vlm.delete.success": "The Vendor Licence Model was successfully deleted",
+ "vsp.delete.archived.warning": "Deleting a Vendor Software Product cannot be undone. Do you want to proceed?",
+ "vsp.delete.success": "The Vendor Software Product was successfully deleted",
+ "button.proceed.label": "Proceed",
+ "item.delete.success": "The item was successful deleted"
}
diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/LicenseModelActionHelper.js b/openecomp-ui/src/sdc-app/onboarding/licenseModel/LicenseModelActionHelper.js
index d6a3c8b095..6bcee2e3c0 100644
--- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/LicenseModelActionHelper.js
+++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/LicenseModelActionHelper.js
@@ -17,7 +17,6 @@ import RestAPIUtil from 'nfvo-utils/RestAPIUtil.js';
import Configuration from 'sdc-app/config/Configuration.js';
import { actionTypes } from './LicenseModelConstants.js';
import { actionTypes as modalActionTypes } from 'nfvo-components/modal/GlobalModalConstants.js';
-import { actionsEnum as vcActionsEnum } from 'nfvo-components/panel/versionController/VersionControllerConstants.js';
import i18n from 'nfvo-utils/i18n/i18n.js';
import LicenseAgreementActionHelper from './licenseAgreement/LicenseAgreementActionHelper.js';
import FeatureGroupsActionHelper from './featureGroups/FeatureGroupsActionHelper.js';
@@ -147,7 +146,7 @@ const LicenseModelActionHelper = {
const onCommit = comment => {
return this.performVCAction(dispatch, {
licenseModelId,
- action: vcActionsEnum.COMMIT,
+ action: VersionControllerActionsEnum.COMMIT,
version,
comment
}).then(() => {
@@ -176,7 +175,7 @@ const LicenseModelActionHelper = {
performSubmitAction(dispatch, { licenseModelId, version }) {
return putLicenseModelAction({
itemId: licenseModelId,
- action: vcActionsEnum.SUBMIT,
+ action: VersionControllerActionsEnum.SUBMIT,
version
}).then(() => {
return ItemsHelper.checkItemStatus(dispatch, {
@@ -231,7 +230,7 @@ const LicenseModelActionHelper = {
return Promise.resolve(updatedVersion);
}
if (!inMerge) {
- if (action === vcActionsEnum.SUBMIT) {
+ if (action === VersionControllerActionsEnum.SUBMIT) {
return this.manageSubmitAction(dispatch, {
licenseModelId,
version,
@@ -248,7 +247,7 @@ const LicenseModelActionHelper = {
itemType: itemTypes.LICENSE_MODEL,
itemId: licenseModelId
});
- if (action === vcActionsEnum.SYNC) {
+ if (action === VersionControllerActionsEnum.SYNC) {
return MergeEditorActionHelper.analyzeSyncResult(
dispatch,
{ itemId: licenseModelId, version }
@@ -286,6 +285,10 @@ const LicenseModelActionHelper = {
}
});
});
+ },
+
+ deleteLicenseModel(licenseModelId) {
+ return RestAPIUtil.destroy(`${baseUrl()}/${licenseModelId}`);
}
};
diff --git a/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPage.js b/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPage.js
index 61c0d0a88f..b7d5417e33 100644
--- a/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPage.js
+++ b/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPage.js
@@ -20,6 +20,9 @@ import VersionsPageCreationActionHelper from './creation/VersionsPageCreationAct
import PermissionsActionHelper from '../permissions/PermissionsActionHelper.js';
import { onboardingMethod as onboardingMethodType } from 'sdc-app/onboarding/softwareProduct/SoftwareProductConstants.js';
import VersionsPageView from './VersionsPage.jsx';
+import { actionTypes as ModalActionTypes } from 'nfvo-components/modal/GlobalModalConstants';
+import i18n from 'nfvo-utils/i18n/i18n';
+import { itemTypes } from 'sdc-app/onboarding/versionsPage/VersionsPageConstants';
export const mapStateToProps = ({
users: { userInfo },
@@ -99,8 +102,29 @@ export const mapActionsToProps = (
onArchive: () => VersionsPageActionHelper.archiveItem(dispatch, itemId),
onRestore: () =>
VersionsPageActionHelper.restoreItemFromArchive(dispatch, itemId),
- onDelete: () =>
- VersionsPageActionHelper.deleteItemFromArchive(dispatch, itemId)
+ onDelete: () => {
+ let confirmMsgCode;
+ if (itemType === itemTypes.LICENSE_MODEL) {
+ confirmMsgCode = 'vlm.delete.archived.warning';
+ } else if (itemType === itemTypes.SOFTWARE_PRODUCT) {
+ confirmMsgCode = 'vsp.delete.archived.warning';
+ }
+ dispatch({
+ type: ModalActionTypes.GLOBAL_MODAL_WARNING,
+ data: {
+ msg: i18n(confirmMsgCode),
+ confirmationButtonText: i18n('button.proceed.label'),
+ title: i18n('WARNING'),
+
+ onConfirmed: () =>
+ VersionsPageActionHelper.deleteArchivedItem(
+ dispatch,
+ itemId,
+ itemType
+ )
+ }
+ });
+ }
};
};
diff --git a/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPage.jsx b/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPage.jsx
index 95c7530063..e5bff51e9f 100644
--- a/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPage.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPage.jsx
@@ -28,7 +28,6 @@ const ArchiveRestoreButton = ({
deleteAction
}) => (
<div className="deprecate-btn-wrapper">
- ,
{isArchived ? (
<div>
<Button
diff --git a/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPageActionHelper.js b/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPageActionHelper.js
index 6ade7ff251..506d5947c0 100644
--- a/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPageActionHelper.js
+++ b/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPageActionHelper.js
@@ -26,6 +26,7 @@ import {
} from 'sdc-app/onboarding/OnboardingConstants.js';
import { notificationActions } from 'nfvo-components/notification/NotificationsConstants.js';
import SoftwareProductActionHelper from 'sdc-app/onboarding/softwareProduct/SoftwareProductActionHelper';
+import LicenseModelActionHelper from 'sdc-app/onboarding/licenseModel/LicenseModelActionHelper';
const VersionsPageActionHelper = {
fetchVersions(dispatch, { itemType, itemId }) {
@@ -114,14 +115,28 @@ const VersionsPageActionHelper = {
);
},
- async deleteItemFromArchive(dispatch, itemId) {
- await SoftwareProductActionHelper.softwareProductDelete(itemId);
+ async deleteArchivedItem(dispatch, itemId, itemType) {
+ let successMsgCode;
+ if (itemType === itemTypes.LICENSE_MODEL) {
+ await LicenseModelActionHelper.deleteLicenseModel(itemId);
+ successMsgCode = 'vlm.delete.success';
+ } else if (itemType === itemTypes.SOFTWARE_PRODUCT) {
+ await SoftwareProductActionHelper.softwareProductDelete(itemId);
+ successMsgCode = 'vsp.delete.success';
+ } else {
+ console.error(
+ `Invalid item type "${itemType}". Expecting one of ${
+ itemTypes.LICENSE_MODEL
+ } or ${itemTypes.SOFTWARE_PRODUCT}`
+ );
+ return;
+ }
await ScreensHelper.loadScreen(dispatch, {
screen: enums.SCREEN.ONBOARDING_CATALOG
});
dispatch(
notificationActions.showSuccess({
- message: i18n('Item successfully deleted')
+ message: i18n(successMsgCode)
})
);
}