Display the notice only once

[MAILPOET-2724]
This commit is contained in:
Pavel Dohnal
2020-03-23 13:57:42 +01:00
committed by Veljko V
parent d102362e34
commit f7b8bb65f8
5 changed files with 20 additions and 1 deletions

View File

@ -236,6 +236,8 @@ class NewsletterListStandard extends React.Component {
mailpoetInstalledDaysAgo={window.mailpoet_installed_days_ago} mailpoetInstalledDaysAgo={window.mailpoet_installed_days_ago}
sendTransactionalEmails={window.mailpoet_send_transactional_emails} sendTransactionalEmails={window.mailpoet_send_transactional_emails}
mtaMethod={window.mailpoet_mta_method} mtaMethod={window.mailpoet_mta_method}
apiVersion={window.mailpoet_api_version}
noticeDismissed={window.mailpoet_transactional_emails_opt_in_notice_dismissed}
/> />
<ListingTabs tab="standard" /> <ListingTabs tab="standard" />

View File

@ -5,21 +5,35 @@ import MailPoet from 'mailpoet';
type Props = { type Props = {
mailpoetInstalledDaysAgo: number, mailpoetInstalledDaysAgo: number,
sendTransactionalEmails: boolean, sendTransactionalEmails: boolean,
noticeDismissed: string,
mtaMethod: string, mtaMethod: string,
apiVersion: string,
} }
const TransactionalEmailsProposeOptInNotice = ({ const TransactionalEmailsProposeOptInNotice = ({
mailpoetInstalledDaysAgo, mailpoetInstalledDaysAgo,
sendTransactionalEmails, sendTransactionalEmails,
mtaMethod, mtaMethod,
noticeDismissed,
apiVersion,
}: Props) => { }: Props) => {
const enable = () => {}; const enable = () => {};
const onClose = () => {}; const onClose = () => {
MailPoet.Ajax.post({
api_version: apiVersion,
endpoint: 'UserFlags',
action: 'set',
data: {
transactional_emails_opt_in_notice_dismissed: '1',
},
});
};
if (mailpoetInstalledDaysAgo < 30) return null; if (mailpoetInstalledDaysAgo < 30) return null;
if (sendTransactionalEmails) return null; if (sendTransactionalEmails) return null;
if (mtaMethod === 'PHPMail') return null; if (mtaMethod === 'PHPMail') return null;
if (noticeDismissed === '1') return null;
return ( return (
<Notice type="success" timeout={false} onClose={onClose}> <Notice type="success" timeout={false} onClose={onClose}>

View File

@ -133,6 +133,7 @@ class Newsletters {
$data['subscriber_count'] = Subscriber::getTotalSubscribers(); $data['subscriber_count'] = Subscriber::getTotalSubscribers();
$data['newsletters_count'] = Newsletter::count(); $data['newsletters_count'] = Newsletter::count();
$data['mailpoet_feature_flags'] = $this->featuresController->getAllFlags(); $data['mailpoet_feature_flags'] = $this->featuresController->getAllFlags();
$data['transactional_emails_opt_in_notice_dismissed'] = $this->userFlags->get('transactional_emails_opt_in_notice_dismissed');
if (!$data['premium_plugin_active']) { if (!$data['premium_plugin_active']) {
$data['free_premium_subscribers_limit'] = License::FREE_PREMIUM_SUBSCRIBERS_LIMIT; $data['free_premium_subscribers_limit'] = License::FREE_PREMIUM_SUBSCRIBERS_LIMIT;

View File

@ -21,6 +21,7 @@ class UserFlagsController {
'last_announcement_seen' => false, 'last_announcement_seen' => false,
'editor_tutorial_seen' => false, 'editor_tutorial_seen' => false,
'display_new_form_editor_nps_survey' => false, 'display_new_form_editor_nps_survey' => false,
'transactional_emails_opt_in_notice_dismissed' => false,
]; ];
$this->userFlagsRepository = $userFlagsRepository; $this->userFlagsRepository = $userFlagsRepository;
} }

View File

@ -27,6 +27,7 @@
var mailpoet_date_storage_format = "Y-m-d"; var mailpoet_date_storage_format = "Y-m-d";
var mailpoet_tracking_enabled = <%= json_encode(tracking_enabled) %>; var mailpoet_tracking_enabled = <%= json_encode(tracking_enabled) %>;
var mailpoet_premium_active = <%= json_encode(premium_plugin_active) %>; var mailpoet_premium_active = <%= json_encode(premium_plugin_active) %>;
var mailpoet_transactional_emails_opt_in_notice_dismissed = '<%= transactional_emails_opt_in_notice_dismissed %>';
var has_mss_key_specified = <%= json_encode(has_mss_key_specified) %>; var has_mss_key_specified = <%= json_encode(has_mss_key_specified) %>;
var MSS_pitch_illustration_url = '<%= cdn_url('welcome-wizard/illu-pitch-mss.20190912.png') %>'; var MSS_pitch_illustration_url = '<%= cdn_url('welcome-wizard/illu-pitch-mss.20190912.png') %>';