diff --git a/assets/js/src/notice.js b/assets/js/src/notice.js index e5020a865c..526f2bb388 100644 --- a/assets/js/src/notice.js +++ b/assets/js/src/notice.js @@ -218,4 +218,14 @@ MailPoet.Notice = { message: message, }, options)); }, + showApiErrorNotice: function showApiErrorNotice(response, options) { + var errorMessage = MailPoet.I18n.t('ajaxFailedErrorMessage'); + if (response && response.errors && response.errors.length > 0) { + errorMessage = response.errors.map(error => error.message); + } + this.show(jQuery.extend({}, { + type: 'error', + message: errorMessage, + }, options)); + }, }; diff --git a/assets/js/src/wizard/revenue_tracking_permission.jsx b/assets/js/src/wizard/revenue_tracking_permission.jsx index 1a838abddd..60cee373b4 100644 --- a/assets/js/src/wizard/revenue_tracking_permission.jsx +++ b/assets/js/src/wizard/revenue_tracking_permission.jsx @@ -7,11 +7,7 @@ function RevenueTrackingPermission() { const handleApiError = (response) => { setLoading(false); - let errorMessage = MailPoet.I18n.t('unknownError'); - if (response && response.errors && response.errors.length > 0) { - errorMessage = response.errors.map(error => error.message); - } - MailPoet.Notice.error(errorMessage, { scroll: true }); + MailPoet.Notice.showApiErrorNotice(response, { scroll: true }); }; const updateSettings = data => MailPoet.Ajax.post({ diff --git a/assets/js/src/wizard/woocommerce_import_controller.jsx b/assets/js/src/wizard/woocommerce_import_controller.jsx index b07f70b7d3..f8dda1fc97 100644 --- a/assets/js/src/wizard/woocommerce_import_controller.jsx +++ b/assets/js/src/wizard/woocommerce_import_controller.jsx @@ -38,11 +38,7 @@ class WooCommerceImportController extends React.Component { handleApiError(response) { this.setState({ loading: false }); - let errorMessage = MailPoet.I18n.t('unknownError'); - if (response && response.errors && response.errors.length > 0) { - errorMessage = response.errors.map(error => error.message); - } - MailPoet.Notice.error(errorMessage, { scroll: true }); + MailPoet.Notice.showApiErrorNotice(response, { scroll: true }); } submit(importType) { diff --git a/views/revenue_tracking_permission.html b/views/revenue_tracking_permission.html index 54a40b8538..54bbc76800 100644 --- a/views/revenue_tracking_permission.html +++ b/views/revenue_tracking_permission.html @@ -16,7 +16,6 @@ 'revenueTrackingInfo2': _x('This is practical for abandoned cart emails and when a customer uses several email addresses.', '“abandoned cart emails“ are emails which are sent automatically from e-commerce websites when a customer add a product to the cart and then leave the website'), 'revenueTrackingAllow': _x('Allow MailPoet cookies. My visitors are made aware that cookies are used on my website', '“MailPoet cookies” and “cookies” are browser cookies created by MailPoet'), 'revenueTrackingDontAllow': _x('Don’t allow MailPoet cookies and rely on basic revenue tracking', '“MailPoet cookies” are browser cookies created by MailPoet'), - 'revenueTrackingSubmit': _x('Save', 'Submit button caption'), - 'unknownError': __('Unknown error') + 'revenueTrackingSubmit': _x('Save', 'Submit button caption') }) %> <% endblock %>