Ensure the newsletter has hash before preview

[MAILPOET-6273]
This commit is contained in:
Pavel Dohnal
2024-10-14 13:08:46 +02:00
committed by Aschepikov
parent 9aacac0743
commit 3d2ad79931

View File

@@ -28,6 +28,7 @@ use MailPoet\Services\AuthorizedEmailsController;
use MailPoet\Settings\SettingsController; use MailPoet\Settings\SettingsController;
use MailPoet\UnexpectedValueException; use MailPoet\UnexpectedValueException;
use MailPoet\Util\License\Features\Subscribers as SubscribersFeature; use MailPoet\Util\License\Features\Subscribers as SubscribersFeature;
use MailPoet\Util\Security;
use MailPoet\WP\Emoji; use MailPoet\WP\Emoji;
use MailPoet\WP\Functions as WPFunctions; use MailPoet\WP\Functions as WPFunctions;
use MailPoetVendor\Carbon\Carbon; use MailPoetVendor\Carbon\Carbon;
@@ -327,6 +328,10 @@ class Newsletters extends APIEndpoint {
$newsletter->setBody( $newsletter->setBody(
json_decode($this->emoji->encodeForUTF8Column($newslettersTableName, 'body', $data['body']), true) json_decode($this->emoji->encodeForUTF8Column($newslettersTableName, 'body', $data['body']), true)
); );
// ensure newsletter has hash
if (!$newsletter->getHash()) {
$newsletter->setHash(Security::generateHash());
}
$this->newslettersRepository->flush(); $this->newslettersRepository->flush();
$response = $this->newslettersResponseBuilder->build($newsletter); $response = $this->newslettersResponseBuilder->build($newsletter);