Add functionality to refresh mss key status in preview modal
[MAILPOET-4633]
This commit is contained in:
File diff suppressed because one or more lines are too long
@ -11,3 +11,4 @@ export * from './listings';
|
|||||||
export * from './error_boundary';
|
export * from './error_boundary';
|
||||||
export * from './functions';
|
export * from './functions';
|
||||||
export * from './utils';
|
export * from './utils';
|
||||||
|
export * from './thumbnail';
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
export const getLinkRegex = () => /\[link\](.*?)\[\/link\]/g;
|
export const getLinkRegex = () => /\[link\](.*?)\[\/link\]/g;
|
||||||
export const isTruthy = (value: string | number | boolean) =>
|
export const isTruthy = (value: string | number | boolean) =>
|
||||||
[1, '1', true, 'true'].includes(value);
|
[1, '1', true, 'true'].includes(value);
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@ import Marionette from 'backbone.marionette';
|
|||||||
import $ from 'jquery';
|
import $ from 'jquery';
|
||||||
import Blob from 'blob';
|
import Blob from 'blob';
|
||||||
import FileSaver from 'file-saver';
|
import FileSaver from 'file-saver';
|
||||||
import * as Thumbnail from 'common/thumbnail.ts';
|
import { isTruthy, fromNewsletter } from 'common';
|
||||||
import _ from 'underscore';
|
import _ from 'underscore';
|
||||||
import SuperModel from 'backbone.supermodel/build/backbone.supermodel';
|
import SuperModel from 'backbone.supermodel/build/backbone.supermodel';
|
||||||
|
|
||||||
@ -99,7 +99,7 @@ Module.save = function () {
|
|||||||
};
|
};
|
||||||
|
|
||||||
Module.saveTemplate = function (options) {
|
Module.saveTemplate = function (options) {
|
||||||
return Thumbnail.fromNewsletter(App.toJSON()).then(function (thumbnail) {
|
return fromNewsletter(App.toJSON()).then(function (thumbnail) {
|
||||||
var data = _.extend(options || {}, {
|
var data = _.extend(options || {}, {
|
||||||
thumbnail_data: thumbnail,
|
thumbnail_data: thumbnail,
|
||||||
body: JSON.stringify(App.getBody()),
|
body: JSON.stringify(App.getBody()),
|
||||||
@ -116,7 +116,7 @@ Module.saveTemplate = function (options) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
Module.exportTemplate = function (options) {
|
Module.exportTemplate = function (options) {
|
||||||
return Thumbnail.fromNewsletter(App.toJSON()).then(function (thumbnail) {
|
return fromNewsletter(App.toJSON()).then(function (thumbnail) {
|
||||||
var data = _.extend(options || {}, {
|
var data = _.extend(options || {}, {
|
||||||
thumbnail_data: thumbnail,
|
thumbnail_data: thumbnail,
|
||||||
body: App.getBody(),
|
body: App.getBody(),
|
||||||
@ -573,6 +573,9 @@ Module.NewsletterPreviewModel = SuperModel.extend({
|
|||||||
previewSendingError: false,
|
previewSendingError: false,
|
||||||
previewSendingSuccess: false,
|
previewSendingSuccess: false,
|
||||||
sendingPreview: false,
|
sendingPreview: false,
|
||||||
|
mssPendingApproval: window.mailpoet_mss_key_pending_approval,
|
||||||
|
mssKeyPendingApprovalRefreshMessage: true,
|
||||||
|
awaitingKeyCheck: false,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -588,6 +591,7 @@ Module.NewsletterPreviewView = Marionette.View.extend({
|
|||||||
return {
|
return {
|
||||||
'change .mailpoet_browser_preview_type': 'changeBrowserPreviewType',
|
'change .mailpoet_browser_preview_type': 'changeBrowserPreviewType',
|
||||||
'click #mailpoet_send_preview': 'sendPreview',
|
'click #mailpoet_send_preview': 'sendPreview',
|
||||||
|
'click #refresh-mss-key-status': 'refreshMssKeyStatus',
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
initialize: function (options) {
|
initialize: function (options) {
|
||||||
@ -606,7 +610,11 @@ Module.NewsletterPreviewView = Marionette.View.extend({
|
|||||||
this.$('#mailpoet_preview_to_email').val() || window.currentUserEmail,
|
this.$('#mailpoet_preview_to_email').val() || window.currentUserEmail,
|
||||||
previewSendingError: this.model.get('previewSendingError'),
|
previewSendingError: this.model.get('previewSendingError'),
|
||||||
sendingPreview: this.model.get('sendingPreview'),
|
sendingPreview: this.model.get('sendingPreview'),
|
||||||
mssKeyPendingApproval: window.mailpoet_mss_key_pending_approval,
|
mssKeyPendingApproval: this.model.get('mssPendingApproval'),
|
||||||
|
mssKeyPendingApprovalRefreshMessage: this.model.get(
|
||||||
|
'mssKeyPendingApprovalRefreshMessage',
|
||||||
|
),
|
||||||
|
awaitingKeyCheck: this.model.get('awaitingKeyCheck'),
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
changeBrowserPreviewType: function (event) {
|
changeBrowserPreviewType: function (event) {
|
||||||
@ -712,11 +720,11 @@ Module.NewsletterPreviewView = Marionette.View.extend({
|
|||||||
)}</p>
|
)}</p>
|
||||||
<p>
|
<p>
|
||||||
<a
|
<a
|
||||||
href=${MailPoet.MailPoetComUrlFactory.getFreePlanUrl({
|
href='${MailPoet.MailPoetComUrlFactory.getFreePlanUrl({
|
||||||
utm_campaign: 'sending-error',
|
utm_campaign: 'sending-error',
|
||||||
})}
|
})}'
|
||||||
target="_blank"
|
target='_blank'
|
||||||
rel="noopener noreferrer"
|
rel='noopener noreferrer'
|
||||||
>
|
>
|
||||||
${MailPoet.I18n.t(
|
${MailPoet.I18n.t(
|
||||||
'newsletterPreviewErrorSignUpForSendingService',
|
'newsletterPreviewErrorSignUpForSendingService',
|
||||||
@ -744,6 +752,31 @@ Module.NewsletterPreviewView = Marionette.View.extend({
|
|||||||
});
|
});
|
||||||
return undefined;
|
return undefined;
|
||||||
},
|
},
|
||||||
|
refreshMssKeyStatus: function () {
|
||||||
|
this.model.set('awaitingKeyCheck', true);
|
||||||
|
|
||||||
|
return MailPoet.Ajax.post({
|
||||||
|
api_version: window.mailpoet_api_version,
|
||||||
|
endpoint: 'services',
|
||||||
|
action: 'checkMSSKey',
|
||||||
|
data: {
|
||||||
|
key: window.mailpoet_api_key,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
.done((response) => {
|
||||||
|
this.model.set('awaitingKeyCheck', false);
|
||||||
|
if (response.data && response.data.result.code === 200) {
|
||||||
|
this.model.set(
|
||||||
|
'mssPendingApproval',
|
||||||
|
!isTruthy(response.data.result.data.is_approved),
|
||||||
|
);
|
||||||
|
this.model.set('mssKeyPendingApprovalRefreshMessage', false);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.fail(() => {
|
||||||
|
this.model.set('awaitingKeyCheck', false);
|
||||||
|
});
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
App.on('before:start', function (BeforeStartApp) {
|
App.on('before:start', function (BeforeStartApp) {
|
||||||
|
@ -278,7 +278,7 @@ describe('Save', function () {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
'newsletter_editor/App': { App },
|
'newsletter_editor/App': { App },
|
||||||
'common/thumbnail.ts': {
|
common: {
|
||||||
fromNewsletter: function () {
|
fromNewsletter: function () {
|
||||||
return promiseMock;
|
return promiseMock;
|
||||||
},
|
},
|
||||||
|
@ -374,6 +374,7 @@
|
|||||||
var mailpoet_email_editor_tutorial_seen = '<%= editor_tutorial_seen %>';
|
var mailpoet_email_editor_tutorial_seen = '<%= editor_tutorial_seen %>';
|
||||||
var mailpoet_email_editor_tutorial_url = '<%= cdn_url('newsletter-editor/editor-drag-demo.20190226-1505.mp4') %>';
|
var mailpoet_email_editor_tutorial_url = '<%= cdn_url('newsletter-editor/editor-drag-demo.20190226-1505.mp4') %>';
|
||||||
var mailpoet_installed_at = '<%= settings.installed_at %>';
|
var mailpoet_installed_at = '<%= settings.installed_at %>';
|
||||||
|
var mailpoet_api_key = '<%= settings.mta.mailpoet_api_key %>';
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<% endblock %>
|
<% endblock %>
|
||||||
|
@ -57,8 +57,11 @@
|
|||||||
</form>
|
</form>
|
||||||
|
|
||||||
{{#if mssKeyPendingApproval }}
|
{{#if mssKeyPendingApproval }}
|
||||||
<div class="mailpoet_error">
|
<div class="mailpoet_error pendindig_approval_error{{#if awaitingKeyCheck}} with-spinner{{/if}}">
|
||||||
<%= __('You’ll 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', 'rel': 'noopener noreferrer'})|raw %>
|
<%= __('You’ll 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', 'rel': 'noopener noreferrer'})|raw %>
|
||||||
|
{{#if mssKeyPendingApprovalRefreshMessage }}
|
||||||
|
<%= __('If you have already received approval email, click [link]here[/link] to update the status.')|replaceLinkTags('#', {'id': 'refresh-mss-key-status'})|raw %>
|
||||||
|
{{/if}}
|
||||||
</div>
|
</div>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</div>
|
</div>
|
||||||
|
Reference in New Issue
Block a user