Commit Graph

20446 Commits

Author SHA1 Message Date
Rostislav Wolny
7cb5c072e1 Improve text in preview modal for translators
Replacing Mail Tester with a variable in original string
should prevent translators from atempting to translate it.
[MAILPOET-5693]
2023-11-02 13:46:14 +01:00
John Oleksowicz
5103ef4dd8 Don't try to render non-existent components
IF a user has a filter with an unknown action (e.g. if they reverted to
a previous version after creating a filter only available in the newer
version), we need to ensure we don't attempt to render those unknown
components as this prevents users from editing these segments at all.

We were already doing this for email and subscriber fields, but
automation and woocommerce fields were susceptible to the issue.

MAILPOET-5538
2023-11-02 13:19:51 +01:00
John Oleksowicz
5972db6a47 Handle errors when filtering dynamic segments
When a segment has an invalid filter we don't want that error to
break other pages in the MailPoet admin.

MAILPOET-5538
2023-11-02 13:19:51 +01:00
Jan Jakes
2a1245bd8a Remove SendingQueueEntity::$subscribers
This doesn't seem to be used anywhere. For scheduled task subscribers, we have
ScheduledTaskEntity::$subscribers collection.

[MAILPOET-4375]
2023-11-02 12:53:36 +01:00
Jan Jakes
519407bbc8 Call flush() in SendingQueuesRepository::updateCounts()
[MAILPOET-4375]
2023-11-02 12:53:36 +01:00
Jan Jakes
68abd6b964 Remove MailPoet\Tasks\Sending::BATCH_SIZE
[MAILPOET-4375]
2023-11-02 12:53:36 +01:00
Jan Jakes
8cbccf5b7b Remove unnecessary code from SchedulerTest
[MAILPOET-4375]
2023-11-02 12:53:36 +01:00
Jan Jakes
434b76e4f4 Extract creating scheduler mock to a method
[MAILPOET-4375]
2023-11-02 12:53:36 +01:00
Jan Jakes
258e92e804 Simplify SchedulerTest::testItDeletesQueueDuringProcessingWhenNewsletterIsSoftDeleted()
[MAILPOET-4375]
2023-11-02 12:53:36 +01:00
Jan Jakes
90f1b6ccae Simplify SchedulerTest::testItFailsToProcessPostNotificationNewsletterWhenSubscribersNotInSegment()
There is no need to mock "deleteQueueOrUpdateNextRunDate" to make the subscriber-segment check work.

[MAILPOET-4375]
2023-11-02 12:53:36 +01:00
Jan Jakes
5ddbca3eb3 Improve SchedulerTest::testItProcessesScheduledStandardNewsletter()
Added NewsletterEntity::TYPE_STANDARD to make it correspond better to the fucntion name.

[MAILPOET-4375]
2023-11-02 12:53:36 +01:00
Jan Jakes
2d5a9cf965 Improve SchedulerTest::testItFailsMailpoetSubscriberVerificationWhenSubscriberIsNotInSegment()
[MAILPOET-4375]
2023-11-02 12:53:36 +01:00
Jan Jakes
dfd9871263 Improve SchedulerTest::testItFailsMailpoetSubscriberVerificationWhenSubscriberDoesNotExist()
[MAILPOET-4375]
2023-11-02 12:53:36 +01:00
Jan Jakes
96da9b3b9c Improve SchedulerTest::testItProcessesWelcomeNewsletterWhenWPUserIsVerified()
Added NewsletterEntity::TYPE_WELCOME to make it correspond better to the fucntion name,
plus fixed a comment.

[MAILPOET-4375]
2023-11-02 12:53:36 +01:00
Jan Jakes
a9db6ce12e Improve SchedulerTest::testItProcessesWelcomeNewsletterWhenSubscriberIsVerified()
Added NewsletterEntity::TYPE_WELCOME to make it correspond better to the fucntion name,
plus fixed a comment.

[MAILPOET-4375]
2023-11-02 12:53:36 +01:00
Jan Jakes
54b3e627e1 Improve SchedulerTest::testItDoesNotProcessWelcomeNewsletterWhenThereAreNoSubscribersToProcess()
[MAILPOET-4375]
2023-11-02 12:53:36 +01:00
Jan Jakes
d614b52d57 Fix and improve SchedulerTest::testItFailsWPSubscriberVerificationWhenSubscriberIsNotAWPUser()
This test would pass even with correct WP user ID, as there was a role mismatch ("author" vs. "editor").

[MAILPOET-4375]
2023-11-02 12:53:36 +01:00
Jan Jakes
2bd79a0068 Simplify and improve SchedulerTest::testItCanRescheduleQueueDeliveryTime()
The entity fetching for Doctrine is no longer needed, added more checks.

[MAILPOET-4375]
2023-11-02 12:53:36 +01:00
Jan Jakes
5daef869d6 Simplify and improve SchedulerTest::testItCanDeleteQueueWhenDeliveryIsSetToImmediately()
The entity fetching for Doctrine is no longer needed, added more checks.

[MAILPOET-4375]
2023-11-02 12:53:36 +01:00
Jan Jakes
d7cb84d20f Fix and improve SchedulerTest::testItDeletesScheduledAutomationEmailWhenUserDoesNotExist()
Having no segment and no task subscriber caused the test pass even without removing the subscriber.

[MAILPOET-4375]
2023-11-02 12:53:36 +01:00
Jan Jakes
dd5a11a34f Fix and improve SchedulerTest::testItDeletesScheduledAutomaticEmailWhenUserDoesNotExist()
Having no segment and no task subscriber caused the test pass even without removing the subscriber.

[MAILPOET-4375]
2023-11-02 12:53:36 +01:00
Jan Jakes
2de356bcbb Fix and improve SchedulerTest::testItDeletesQueueDuringProcessingWhenNewsletterNotFound()
Having no segment and no task subscriber caused the test pass even without removing the newsletter.

[MAILPOET-4375]
2023-11-02 12:53:36 +01:00
Jan Jakes
8b01360627 Use orphan removal for scheduled task subscriber entity
It is a connecting entity between task and subscriber, and it makes no sense
to keep without either of them. This could prevent some partial-delete bugs.

[MAILPOET-4375]
2023-11-02 12:53:36 +01:00
Jan Jakes
b734a0642f Refresh task entity when any subscribers were added from segments
This is to keep $task->getSubscribers() up-to-date.

[MAILPOET-4375]
2023-11-02 12:53:36 +01:00
Jan Jakes
d1530ca3e0 Rewrite ShedulerTest using Doctrine
[MAILPOET-4375]
2023-11-02 12:53:36 +01:00
Jan Jakes
c0ef898dc0 Remove no longer needed Scheduler code
[MAILPOET-4375]
2023-11-02 12:53:36 +01:00
Jan Jakes
2d027d4482 Rewrite Scheduler::processScheduledTransactionalEmail() using Doctrine
[MAILPOET-4375]
2023-11-02 12:53:36 +01:00
Jan Jakes
a8a98478fe Rewrite Scheduler::processScheduledAutomationEmail() using Doctrine
[MAILPOET-4375]
2023-11-02 12:53:36 +01:00
Jan Jakes
bd193968b1 Rewrite Scheduler::processReEngagementEmail() using Doctrine
[MAILPOET-4375]
2023-11-02 12:53:36 +01:00
Jan Jakes
a488d0b275 Rewrite Scheduler::processScheduledAutomaticEmail() using Doctrine
[MAILPOET-4375]
2023-11-02 12:53:36 +01:00
Jan Jakes
d574b55b3f Rewrite Scheduler::processScheduledStandardNewsletter() using Doctrine
[MAILPOET-4375]
2023-11-02 12:53:36 +01:00
Jan Jakes
1ef88a5fb5 Rewrite Scheduler::processPostNotificationNewsletter() using Doctrine
[MAILPOET-4375]
2023-11-02 12:53:36 +01:00
Jan Jakes
6517c697d6 Rewrite Scheduler::processWelcomeNewsletter() using Doctrine
[MAILPOET-4375]
2023-11-02 12:53:36 +01:00
Jan Jakes
a1c0399e96 Implement scheduler task, queue, and subscribers removal with Doctrine
[MAILPOET-4375]
2023-11-02 12:53:36 +01:00
Jan Jakes
e81a7c1517 Enable usage of both Doctrine and legacy task/queue entities in scheduler loop
[MAILPOET-4375]
2023-11-02 12:53:36 +01:00
Jan Jakes
b05bc86223 Remove usages of MailPoet\Tasks\Sending from renderer
[MAILPOET-4375]
2023-11-02 12:53:36 +01:00
Jan Jakes
b42d579b67 Remove usages of MailPoet\Tasks\Sending from welcome scheduler
[MAILPOET-4375]
2023-11-02 12:53:36 +01:00
Jan Jakes
728e1781c6 Remove usages of MailPoet\Tasks\Sending from stats notification worker
[MAILPOET-4375]
2023-11-02 12:53:36 +01:00
Jan Jakes
09abbe2246 Remove usages of MailPoet\Tasks\Sending from automation email scheduler
[MAILPOET-4375]
2023-11-02 12:53:36 +01:00
Jan Jakes
457dab01fa Remove usages of MailPoet\Tasks\Sending from reengagement scheduler
[MAILPOET-4375]
2023-11-02 12:53:36 +01:00
Jan Jakes
b5552a5a5e Remove usages of MailPoet\Tasks\Sending from Help page
[MAILPOET-4375]
2023-11-02 12:53:36 +01:00
Jan Jakes
bb29f25c40 Remove simple usages of MailPoet\Tasks\Sending from integration tests
[MAILPOET-4375]
2023-11-02 12:53:36 +01:00
John Oleksowicz
b2679bface Show correct number of steps
This ensures we display the correct number of total steps when skipping
the tracking step for dotcom users. In order to achieve this I decided
to refactor the step count calculation and step mapping functions in a
way that I hope will be easier to update going forward.

MAILPOET-5549
2023-11-01 12:24:46 +01:00
John Oleksowicz
c6a6d7d8e1 Automatically opt in to tracking if wpcom
MAILPOET-5549
2023-11-01 12:24:46 +01:00
John Oleksowicz
281c75c67c Add helper to check if settings exists in DB
MAILPOET-5549
2023-11-01 12:24:46 +01:00
John Oleksowicz
d81f303d45 Extract method to update tracking settings
MAILPOET-5549
2023-11-01 12:24:46 +01:00
John Oleksowicz
b58d7c1faf Add mailpoet_is_dotcom to layout/MailPoet
MAILPOET-5549
2023-11-01 12:24:46 +01:00
John Oleksowicz
a3b8babde0 Add twig function to check if on dotcom
MAILPOET-5549
2023-11-01 12:24:46 +01:00
Jan Jakes
001e3f8af4 Release 4.35.0 2023-11-01 10:47:39 +01:00
David Remer
694be68f4a Add post ID to comment
[MAILPOET-5687]
2023-10-31 15:08:49 +01:00