From 929e5560d960ea4b682852db2187b93926a215e0 Mon Sep 17 00:00:00 2001 From: Stas Vilchik Date: Fri, 22 Sep 2017 10:16:48 +0200 Subject: [PATCH] delete portfolios with api/views/delete --- server/sonar-web/src/main/js/api/components.ts | 8 ++++++-- .../src/main/js/apps/project-admin/deletion/Form.js | 6 ++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/server/sonar-web/src/main/js/api/components.ts b/server/sonar-web/src/main/js/api/components.ts index 42e3b05ea6e..2d03c4f0db4 100644 --- a/server/sonar-web/src/main/js/api/components.ts +++ b/server/sonar-web/src/main/js/api/components.ts @@ -61,8 +61,12 @@ export function bulkDeleteProjects(parameters: BaseSearchProjectsParameters): Pr return post('/api/projects/bulk_delete', parameters); } -export function deleteProject(project: string): Promise { - return post('/api/projects/delete', { project }); +export function deleteProject(project: string): Promise { + return post('/api/projects/delete', { project }).catch(throwGlobalError); +} + +export function deletePortfolio(portfolio: string): Promise { + return post('/api/views/delete', { key: portfolio }).catch(throwGlobalError); } export function createProject(data: { diff --git a/server/sonar-web/src/main/js/apps/project-admin/deletion/Form.js b/server/sonar-web/src/main/js/apps/project-admin/deletion/Form.js index e07afba43c5..c2dd276e85b 100644 --- a/server/sonar-web/src/main/js/apps/project-admin/deletion/Form.js +++ b/server/sonar-web/src/main/js/apps/project-admin/deletion/Form.js @@ -20,7 +20,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import Modal from 'react-modal'; -import { deleteProject } from '../../../api/components'; +import { deleteProject, deletePortfolio } from '../../../api/components'; import { translate, translateWithParameters } from '../../../helpers/l10n'; export default class Form extends React.PureComponent { @@ -58,7 +58,9 @@ export default class Form extends React.PureComponent { handleSubmit = event => { event.preventDefault(); this.setState({ loading: true }); - deleteProject(this.props.component.key) + const { component } = this.props; + const deleteMethod = component.qualifier === 'TRK' ? deleteProject : deletePortfolio; + deleteMethod(component.key) .then(() => this.context.router.replace('/')) .catch(this.stopLoading); }; -- 2.39.5