]> source.dussan.org Git - sonarqube.git/commitdiff
Add missing error messages in quality gates page
authorGrégoire Aubert <gregoire.aubert@sonarsource.com>
Wed, 16 Aug 2017 13:17:42 +0000 (15:17 +0200)
committerGrégoire Aubert <gregoire.aubert@sonarsource.com>
Thu, 17 Aug 2017 14:42:34 +0000 (16:42 +0200)
server/sonar-web/src/main/js/api/quality-gates.js
server/sonar-web/src/main/js/apps/quality-gates/components/Condition.js
server/sonar-web/src/main/js/apps/quality-gates/components/Details.js

index 878c2e32dcaf1abc6eaf9d251e7d07f54396760f..7bf0a0c73ef73da4e465f95681e2451b64941a35 100644 (file)
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
 import { getJSON, post, postJSON } from '../helpers/request';
+import throwGlobalError from '../app/utils/throwGlobalError';
 
 export function fetchQualityGatesAppDetails() {
   const url = '/api/qualitygates/app';
-
-  return getJSON(url);
+  return getJSON(url).catch(throwGlobalError);
 }
 
 export function fetchQualityGates() {
   const url = '/api/qualitygates/list';
-
-  return getJSON(url).then(r =>
-    r.qualitygates.map(qualityGate => {
-      return {
-        ...qualityGate,
-        isDefault: qualityGate.id === r.default
-      };
-    })
+  return getJSON(url).then(
+    r =>
+      r.qualitygates.map(qualityGate => {
+        return {
+          ...qualityGate,
+          isDefault: qualityGate.id === r.default
+        };
+      }),
+    throwGlobalError
   );
 }
 
 export function fetchQualityGate(id) {
   const url = '/api/qualitygates/show';
-  return getJSON(url, { id });
+  return getJSON(url, { id }).catch(throwGlobalError);
 }
 
 export function createQualityGate(name) {
@@ -65,12 +66,12 @@ export function copyQualityGate(id, name) {
 
 export function setQualityGateAsDefault(id) {
   const url = '/api/qualitygates/set_as_default';
-  return post(url, { id });
+  return post(url, { id }).catch(throwGlobalError);
 }
 
 export function unsetQualityGateAsDefault(id) {
   const url = '/api/qualitygates/unset_default';
-  return post(url, { id });
+  return post(url, { id }).catch(throwGlobalError);
 }
 
 export function createCondition(gateId, condition) {
@@ -97,13 +98,13 @@ export function getGateForProject(projectKey) {
 export function associateGateWithProject(gateId, projectKey) {
   const url = '/api/qualitygates/select';
   const data = { gateId, projectKey };
-  return post(url, data);
+  return post(url, data).catch(throwGlobalError);
 }
 
 export function dissociateGateWithProject(gateId, projectKey) {
   const url = '/api/qualitygates/deselect';
   const data = { gateId, projectKey };
-  return post(url, data);
+  return post(url, data).catch(throwGlobalError);
 }
 
 export function getApplicationQualityGate(application) {
index ca9c1af2283197dafd76d9dd768d5db46ec1a7c1..81a6003f7dc6d6b8706cd19b76c393d8ef298b56 100644 (file)
@@ -94,7 +94,7 @@ export default class Condition extends Component {
         onSaveCondition(condition, newCondition);
         onResetError();
       })
-      .catch(error => onError(error));
+      .catch(onError);
   }
 
   handleUpdateClick(e) {
@@ -123,7 +123,7 @@ export default class Condition extends Component {
         onSaveCondition(condition, newCondition);
         onResetError();
       })
-      .catch(error => onError(error));
+      .catch(onError);
   }
 
   handleDeleteClick(e) {
index 4d9893fbff3037d70b0b66fc7473dbd8530e85d3..070709910072ef11e6d105625d62c6827b812ae8 100644 (file)
@@ -45,11 +45,7 @@ export default class Details extends React.PureComponent {
 
   fetchDetails() {
     const { id } = this.props.params;
-    const { onShow } = this.props;
-
-    fetchQualityGate(id).then(qualityGate => {
-      onShow(qualityGate);
-    });
+    fetchQualityGate(id).then(qualityGate => this.props.onShow(qualityGate));
   }
 
   handleRenameClick() {