Use notices to show errors

This commit is contained in:
Amine Ben hammou
2019-05-23 07:06:30 +00:00
committed by M. Shull
parent 1cd0b0696a
commit abfd00fd6d
2 changed files with 11 additions and 29 deletions

View File

@@ -9,10 +9,7 @@ import { CronMixin, MailerMixin } from 'newsletters/listings/mixins.jsx';
const SendingStatus = props => { const SendingStatus = props => {
const newsletterId = props.match.params.id; const newsletterId = props.match.params.id;
const [state, setState] = React.useState({ const [newsletterSubject, setNewsletterSubject] = React.useState('');
error: null,
newsletterSubject: null,
});
React.useEffect(() => { React.useEffect(() => {
MailPoet.Ajax.post({ MailPoet.Ajax.post({
@@ -23,26 +20,24 @@ const SendingStatus = props => {
id: newsletterId, id: newsletterId,
}, },
}) })
.done(res => setState({ .done(res => setNewsletterSubject(res.data.subject))
error: null, .fail((res) => {
newsletterSubject: res.data.subject, setNewsletterSubject('');
})) MailPoet.Notice.error(
.fail(() => setState({ res.errors.map(error => error.message),
newsletterSubject: null, { scroll: true }
error: 'loadingNewsletterError', );
})); });
}, [newsletterId]); }, [newsletterId]);
const {error, newsletterSubject} = state;
return ( return (
<Fragment> <Fragment>
<h1>{MailPoet.I18n.t('sendingStatusTitle')}</h1> <h1>{MailPoet.I18n.t('sendingStatusTitle')}</h1>
<LoadingError error={error} />
<StatsLink <StatsLink
newsletterId={newsletterId} newsletterId={newsletterId}
newsletterSubject={newsletterSubject} newsletterSubject={newsletterSubject}
/> />
{newsletterSubject && <Listing <Listing
limit={window.mailpoet_listing_per_page} limit={window.mailpoet_listing_per_page}
location={props.location} location={props.location}
params={props.match.params} params={props.match.params}
@@ -58,7 +53,7 @@ const SendingStatus = props => {
MailerMixin.checkMailerStatus(state); MailerMixin.checkMailerStatus(state);
CronMixin.checkCronStatus(state); CronMixin.checkCronStatus(state);
}} }}
/> } />
</Fragment> </Fragment>
); );
}; };
@@ -71,18 +66,6 @@ SendingStatus.propTypes = {
}).isRequired, }).isRequired,
}; };
const LoadingError = ({error}) => {
if (!error) return null;
return (
<div className="notice notice-error">
<p>{ MailPoet.I18n.t(error) }</p>
</div>
);
}
LoadingError.propTypes = {
error: PropTypes.string,
};
const StatsLink = ({newsletterId, newsletterSubject}) => { const StatsLink = ({newsletterId, newsletterSubject}) => {
if (!newsletterId || !newsletterSubject) return null; if (!newsletterId || !newsletterSubject) return null;
if (window.mailpoet_premium_active) { if (window.mailpoet_premium_active) {

View File

@@ -356,7 +356,6 @@
'unprocessed': _x('Unprocessed', 'status when the sending of a newsletter has not been processed'), 'unprocessed': _x('Unprocessed', 'status when the sending of a newsletter has not been processed'),
'sent': _x('Sent', 'status when a newsletter has been sent'), 'sent': _x('Sent', 'status when a newsletter has been sent'),
'failed': _x('Failed', 'status when the sending of a newsletter has failed'), 'failed': _x('Failed', 'status when the sending of a newsletter has failed'),
'loadingNewsletterError': __('An error occured while loading the newsletter.'),
'noSendingTaskFound': __('No sending task found.') 'noSendingTaskFound': __('No sending task found.')
}) %> }) %>
<% endblock %> <% endblock %>