Browse Source

feat(workflow): Rendering errors and changing error message for name in use (#18992)

Chris Fuller 4 years ago
parent
commit
596f3f2dc0

+ 2 - 2
src/sentry/incidents/endpoints/serializers.py

@@ -476,7 +476,7 @@ class AlertRuleSerializer(CamelSnakeModelSerializer):
                 self._handle_triggers(alert_rule, triggers)
                 return alert_rule
         except AlertRuleNameAlreadyUsedError:
-            raise serializers.ValidationError("This name is already in use for this project")
+            raise serializers.ValidationError("This name is already in use for this organization")
 
     def update(self, instance, validated_data):
         triggers = validated_data.pop("triggers")
@@ -488,7 +488,7 @@ class AlertRuleSerializer(CamelSnakeModelSerializer):
                 self._handle_triggers(alert_rule, triggers)
                 return alert_rule
         except AlertRuleNameAlreadyUsedError:
-            raise serializers.ValidationError("This name is already in use for this project")
+            raise serializers.ValidationError("This name is already in use for this organization")
 
     def _handle_triggers(self, alert_rule, triggers):
         if triggers is not None:

+ 6 - 8
src/sentry/static/sentry/app/views/settings/incidentRules/ruleForm/index.tsx

@@ -325,14 +325,12 @@ class RuleFormContainer extends AsyncComponent<Props, State> {
         onSubmitSuccess(resp, model);
       }
     } catch (err) {
-      addErrorMessage(
-        t(
-          'Unable to save alert%s',
-          err?.responseJSON?.nonFieldErrors
-            ? `: ${err.responseJSON.nonFieldErrors.join(', ')}`
-            : ''
-        )
-      );
+      const apiErrors = Array.isArray(err?.responseJSON)
+        ? `: ${err.responseJSON.join(', ')}`
+        : err?.responseJSON?.nonFieldErrors
+        ? `: ${err.responseJSON.nonFieldErrors.join(', ')}`
+        : '';
+      addErrorMessage(t('Unable to save alert%s', apiErrors));
     }
   };