Remove mailpoet_data
use from send email preview feature
MAILPOET-6431
This commit is contained in:
committed by
Oluwaseun Olorunsola
parent
27b66e9dc9
commit
43990d9e8b
@ -35,7 +35,7 @@ class EmailEditorPreviewEmail {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private function validateData($data) {
|
private function validateData($data) {
|
||||||
if (empty($data['email']) || empty($data['postId']) || empty($data['newsletterId'])) {
|
if (empty($data['email']) || empty($data['postId'])) {
|
||||||
throw new \InvalidArgumentException(esc_html__('Missing required data', 'mailpoet'));
|
throw new \InvalidArgumentException(esc_html__('Missing required data', 'mailpoet'));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -50,9 +50,9 @@ class EmailEditorPreviewEmail {
|
|||||||
* @throws \Exception
|
* @throws \Exception
|
||||||
*/
|
*/
|
||||||
private function fetchNewsletter($postData): NewsletterEntity {
|
private function fetchNewsletter($postData): NewsletterEntity {
|
||||||
$newsletter = $this->newslettersRepository->findOneById((int)$postData['newsletterId']);
|
$newsletter = $this->newslettersRepository->findOneBy(['wpPost' => (int)$postData['postId']]);
|
||||||
|
|
||||||
if (!$newsletter) {
|
if (!$newsletter instanceof NewsletterEntity) {
|
||||||
throw new \Exception(esc_html__('This email does not exist.', 'mailpoet'));
|
throw new \Exception(esc_html__('This email does not exist.', 'mailpoet'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -13,17 +13,11 @@ import {
|
|||||||
} from '@wordpress/element';
|
} from '@wordpress/element';
|
||||||
import { ENTER } from '@wordpress/keycodes';
|
import { ENTER } from '@wordpress/keycodes';
|
||||||
import { isEmail } from '@wordpress/url';
|
import { isEmail } from '@wordpress/url';
|
||||||
import { useEntityProp } from '@wordpress/core-data';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Internal dependencies
|
* Internal dependencies
|
||||||
*/
|
*/
|
||||||
import {
|
import { SendingPreviewStatus, storeName } from '../../store';
|
||||||
MailPoetEmailData,
|
|
||||||
SendingPreviewStatus,
|
|
||||||
storeName,
|
|
||||||
editorCurrentPostType,
|
|
||||||
} from '../../store';
|
|
||||||
import { recordEvent, recordEventOnce } from '../../events';
|
import { recordEvent, recordEventOnce } from '../../events';
|
||||||
|
|
||||||
function RawSendPreviewEmail() {
|
function RawSendPreviewEmail() {
|
||||||
@ -42,17 +36,8 @@ function RawSendPreviewEmail() {
|
|||||||
isModalOpened,
|
isModalOpened,
|
||||||
} = useSelect( ( select ) => select( storeName ).getPreviewState(), [] );
|
} = useSelect( ( select ) => select( storeName ).getPreviewState(), [] );
|
||||||
|
|
||||||
const [ mailpoetEmailData ] = useEntityProp(
|
|
||||||
'postType',
|
|
||||||
editorCurrentPostType,
|
|
||||||
'mailpoet_data'
|
|
||||||
) as [ MailPoetEmailData, unknown, unknown ];
|
|
||||||
|
|
||||||
const handleSendPreviewEmail = () => {
|
const handleSendPreviewEmail = () => {
|
||||||
void requestSendingNewsletterPreview(
|
void requestSendingNewsletterPreview( previewToEmail );
|
||||||
mailpoetEmailData.id,
|
|
||||||
previewToEmail
|
|
||||||
);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const closeCallback = () => {
|
const closeCallback = () => {
|
||||||
|
@ -168,10 +168,7 @@ export const setTemplateToPost =
|
|||||||
} );
|
} );
|
||||||
};
|
};
|
||||||
|
|
||||||
export function* requestSendingNewsletterPreview(
|
export function* requestSendingNewsletterPreview( email: string ) {
|
||||||
newsletterId: number,
|
|
||||||
email: string
|
|
||||||
) {
|
|
||||||
// If preview is already sending do nothing
|
// If preview is already sending do nothing
|
||||||
const previewState = select( storeName ).getPreviewState();
|
const previewState = select( storeName ).getPreviewState();
|
||||||
if ( previewState.isSendingPreviewEmail ) {
|
if ( previewState.isSendingPreviewEmail ) {
|
||||||
@ -192,7 +189,6 @@ export function* requestSendingNewsletterPreview(
|
|||||||
path: '/mailpoet-email-editor/v1/send_preview_email',
|
path: '/mailpoet-email-editor/v1/send_preview_email',
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
data: {
|
data: {
|
||||||
newsletterId,
|
|
||||||
email,
|
email,
|
||||||
postId,
|
postId,
|
||||||
},
|
},
|
||||||
|
@ -66,7 +66,6 @@ class Email_Api_Controller {
|
|||||||
* $data - Post Data
|
* $data - Post Data
|
||||||
* format
|
* format
|
||||||
* [_locale] => user
|
* [_locale] => user
|
||||||
* [newsletterId] => NEWSLETTER_ID
|
|
||||||
* [email] => Provided email address
|
* [email] => Provided email address
|
||||||
* [postId] => POST_ID
|
* [postId] => POST_ID
|
||||||
*/
|
*/
|
||||||
|
Reference in New Issue
Block a user