Display unapproved key notice for 'Send preview'

[MAILPOET-2729]
This commit is contained in:
Jan Jakeš
2020-03-16 19:01:27 +01:00
committed by Veljko V
parent 2b1444dd53
commit 5160498c22
4 changed files with 24 additions and 1 deletions

View File

@@ -249,6 +249,11 @@ Module.SidebarStylesView = Marionette.View.extend({
Module.SidebarPreviewView = Marionette.View.extend({
getTemplate: function () { return window.templates.sidebarPreview; },
templateContext: function () {
return {
mssKeyPendingApproval: window.mailpoet_mss_key_pending_approval,
};
},
events: {
'click .mailpoet_show_preview': 'showPreview',
'click #mailpoet_send_preview': 'sendPreview',

View File

@@ -4,6 +4,7 @@ namespace MailPoet\AdminPages\Pages;
use MailPoet\AdminPages\PageRenderer;
use MailPoet\Config\Menu;
use MailPoet\Config\ServicesChecker;
use MailPoet\Models\Subscriber;
use MailPoet\Newsletter\Shortcodes\ShortcodesHelper;
use MailPoet\Services\Bridge;
@@ -32,13 +33,17 @@ class NewsletterEditor {
/** @var TransactionalEmails */
private $wcTransactionalEmails;
/** @var ServicesChecker */
private $servicesChecker;
public function __construct(
PageRenderer $pageRenderer,
SettingsController $settings,
UserFlagsController $userFlags,
WooCommerceHelper $woocommerceHelper,
WPFunctions $wp,
TransactionalEmails $wcTransactionalEmails
TransactionalEmails $wcTransactionalEmails,
ServicesChecker $servicesChecker
) {
$this->pageRenderer = $pageRenderer;
$this->settings = $settings;
@@ -46,6 +51,7 @@ class NewsletterEditor {
$this->woocommerceHelper = $woocommerceHelper;
$this->wp = $wp;
$this->wcTransactionalEmails = $wcTransactionalEmails;
$this->servicesChecker = $servicesChecker;
}
public function render() {
@@ -76,6 +82,10 @@ class NewsletterEditor {
];
$woocommerceData = array_merge($wcEmailSettings, $woocommerceData);
}
$mssActive = Bridge::isMPSendingServiceEnabled();
$mssKeyValid = $this->servicesChecker->isMailPoetAPIKeyValid();
$mssKeyPendingApproval = $this->settings->get('mta.mailpoet_api_key_state.data.is_approved') === false;
$data = [
'shortcodes' => ShortcodesHelper::getShortcodes(),
'settings' => $this->settings->getAll(),
@@ -87,6 +97,7 @@ class NewsletterEditor {
'is_wc_transactional_email' => $newsletterId === $woocommerceTemplateId,
'site_name' => $this->wp->wpSpecialcharsDecode($this->wp->getOption('blogname'), ENT_QUOTES),
'site_address' => $this->wp->wpParseUrl($this->wp->homeUrl(), PHP_URL_HOST),
'mss_key_pending_approval' => $mssActive && $mssKeyValid && $mssKeyPendingApproval,
];
$this->wp->wpEnqueueMedia();
$this->wp->wpEnqueueStyle('editor', $this->wp->includesUrl('css/editor.css'));

View File

@@ -663,6 +663,7 @@
var mailpoet_site_name = '<%= site_name %>';
var mailpoet_site_address = '<%= site_address %>';
var mailpoet_mss_key_pending_approval = '<%= mss_key_pending_approval %>';
var config = {
availableStyles: {

View File

@@ -16,6 +16,12 @@
</div>
</form>
{{#if mssKeyPendingApproval }}
<div class="mailpoet_error">
<%= __('Youll soon be able to send once our team reviews your account. In the meantime, you can send previews to [link]your authorized emails[/link].')|replaceLinkTags('https://account.mailpoet.com/authorization', {'target': '_blank'})|raw %>
</div>
{{/if}}
<hr class="mailpoet_separator" />
<input type="button" name="preview" class="button button-primary mailpoet_button_full mailpoet_show_preview" value="<%= __('View in browser') %>" />