Commit Graph

268 Commits

Author SHA1 Message Date
Jan Jakes
926620e8f8 Ignore strict types rule in all existing files that don't have it
[MAILPOET-2688]
2022-11-29 15:04:09 +01:00
Sam Najian
96dde7107b Expose unsubscribe analytics properperties
[MAILPOET-4733]
2022-11-25 14:51:57 +01:00
David Remer
4832771185 Refactor the captcha system
The current Captcha class has a lot of responsibilities. It renders the captcha
image, can check if a certain captcha type is a Google captcha, if a captcha is
required for a certain email. The SubscriberSubscribeController is not only in
charge of "controlling" the subscription process but also validates, whether a
captcha is correct or not. This architecture made it difficult to extend the
functionality and introduce the audio captcha feature.

Therefore this commit refactors the captcha architecture and tries to seperate
the different concerns into several classes and objects. Validation is now done
by validators.

The CaptchaPhrase now is in charge of keeping the captcha phrase consistent
between the image and the new audio, so that you can renew the captcha and both
captchas are in sync.

[MAILPOET-4514]
2022-11-24 09:20:39 +01:00
David Remer
7fb8d64628 Rename CaptchaRenderer to CaptchaFormRenderer
[MAILPOET-4203]
2022-11-24 09:20:39 +01:00
Jan Jakes
2e328b6d7f Move temporary automation migrator to a new migration
[MAILPOET-4788]
2022-11-14 12:35:29 +02:00
Jan Jakes
8489e63d34 Delete automation testing system endpoints
[MAILPOET-4788]
2022-11-14 12:35:29 +02:00
Jan Jakes
9d55d3f134 Use "automation" instead of "workflow"
[MAILPOET-4793]
2022-11-14 12:14:35 +02:00
Sam Najian
162dab790d Implement 1-click unsubscribe strategy for post requests
[MAILPOET-4703]
2022-11-11 09:21:30 +01:00
Jan Jakes
9730fb9272 Move the old dbDelta-based migrator to a migration
This will ensure it runs once and from there, it will continue using the new migrations.

[MAILPOET-4466]
2022-11-07 10:05:42 +01:00
Jan Jakes
3dd6ef3da7 Implement WP CLI command to run migrations
[MAILPOET-4466]
2022-11-07 10:05:42 +01:00
Jan Jakes
d199e0b77e Add migrator service with ability to resolve status of all migrations
[MAILPOET-4466]
2022-11-07 10:05:42 +01:00
Jan Jakes
b10cd32449 Add runner to execute a migration and save its status
[MAILPOET-4466]
2022-11-07 10:05:42 +01:00
Jan Jakes
31050394b9 Add a store with a method to create migrations table when it doesn't exist
[MAILPOET-4466]
2022-11-07 10:05:42 +01:00
Jan Jakes
516c460ace Add repository with the ability to create new migration classes
[MAILPOET-4466]
2022-11-07 10:05:42 +01:00
Oluwaseun Olorunsola
f92ee90e9b Add support for [site:title] and [site:homepage_link]
These will add support for these two shortcodes in the Shortcode engine

MAILPOET-4599
2022-11-01 14:59:28 +01:00
Jan Lysý
9ff72b4d4c Add SubscriberListener for notification about changes
[MAILPOET-4727]
2022-10-27 09:31:40 +02:00
Jan Lysý
2dab7fdb0c Add new service for handling subscriber changes
This new service should store all changes and notify about them at the end of the HTTP request.
[MAILPOET-4727]
2022-10-27 09:31:40 +02:00
Jan Jakes
b01d050f1d Extract workflow delete logic to a controller
[MAILPOET-4540]
2022-10-14 12:03:53 +03:00
Jan Jakes
89c43a5cb9 Extract workflow duplication logic to a controller, fix some issues
[MAILPOET-4540]
2022-10-14 12:03:53 +03:00
John Oleksowicz
4e82c5334b Add ability to permanently delete workflow
[MAILPOET-4540]
2022-10-14 12:03:53 +03:00
John Oleksowicz
a4c8caa664 Add basic duplication ability
[MAILPOET-4540]
2022-10-14 12:03:53 +03:00
Jan Jakes
04ca19296b Add rule for step order validation
[MAILPOET-4659]
2022-10-13 11:58:11 +02:00
Jan Jakes
9d8cb02006 Add valid step rule for custom step validation
[MAILPOET-4659]
2022-10-13 11:58:11 +02:00
Jan Jakes
68c51c0f5c Convert WorkflowStepValidator to node-visitor-based rules
[MAILPOET-4659]
2022-10-13 11:58:11 +02:00
David Remer
52dcba8493 Introduce WorkflowStatistics entity
[MAILPOET-4673]
2022-10-12 10:24:58 +02:00
David Remer
b7e80b60ab Disconnect empty emails before workflow loads
[MAILPOET-4520]
2022-10-11 11:14:58 +02:00
Jan Jakes
c58a5a4308 Add workflow step arg schema validation
[MAILPOET-4629]
2022-09-23 12:42:03 +03:00
Jan Jakes
e220b70c78 Add workflow validator service with workflow graph validation rules
[MAILPOET-4629]
2022-09-23 12:42:03 +03:00
Jan Jakes
e472c00b1c Implerment depth-first pre-order workflow graph walker with plug-in node visitors
[MAILPOET-4629]
2022-09-23 12:42:03 +03:00
David Remer
b914a1d2ec Rename SomeoneSubscribesTrigger key and class
[MAILPOET-4587]
2022-09-21 10:38:17 +02:00
David Remer
bb5da626ba Add UserRegistrationTrigger
[MAILPOET-4587]
2022-09-21 10:38:17 +02:00
David Remer
9f24579155 Add template listing page
[MAILPOET-4533]
2022-09-15 08:08:07 +02:00
John Oleksowicz
cdeea173b9 Add logging of workflow steps
[MAILPOET-4463]
2022-09-14 08:51:53 +02:00
Jan Jakes
ba35ddf6e6 Extract automation API to MailPoet REST API
[MAILPOET-4523]
2022-09-12 14:40:36 -05:00
Jan Jakes
1b5d6bd974 Remove no longer needed empty trigger
[MAILPOET-4523]
2022-09-12 14:40:36 -05:00
Jan Jakes
9028ea96ec Implement root step
[MAILPOET-4523]
2022-09-12 14:40:36 -05:00
Jan Jakes
a6d5b0d5c5 Add empty trigger type to automations core
[PREMIUM-194]
2022-09-08 09:20:20 +02:00
David Remer
ed56df2398 Add WorkflowTemplate GET endpoint
[MAILPOET-4538]
2022-08-23 14:03:24 +02:00
David Remer
baa4d369af Introduce template storage and rebuild create form template endpoint
[MAILPOET-4538]
2022-08-23 14:03:24 +02:00
Sam Najian
c22d23f91c Remove Tasks\State class and relevant test file
[MAILPOET-4355]
2022-08-22 11:24:06 +02:00
Rodrigo Primo
d874375c25 Remove MP2 migration main class and its test class
This commit removes the main MP2 migration class and its test class. It
also removes two SQL files that were used in the test class. One of
those files executed the following query:

`SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"`

Removing this query made the tests inside SubscriberSegmentTest fail
when running the whole integration test suite. To work around this, I
added the above mentioned query to SubscriberSegmentTest. I'm not sure
why this test class fails without this query when running all the tests
but it doesn't when it is executed alone. Probably there is another test
class changing the SQL_MODE. Since SubscriberSegmentTest is a test class
for a Paris model that we will eventually remove, I decided it was not
necessary to investigate this further.

[MAILPOET-4376]
2022-08-15 12:46:22 +02:00
Rodrigo Primo
9a5fbfbb24 Remove MP2 migration endpoints from the JSON API
[MAILPOET-4376]
2022-08-15 12:46:22 +02:00
Rodrigo Primo
d828754f94 Remove MP2 migration admin page
[MAILPOET-4376]
2022-08-15 12:46:22 +02:00
Oluwaseun Olorunsola
c961e0a363 Add AuthorizedSenderDomainController class and tests
MAILPOET-4302
2022-08-11 12:36:23 +02:00
Jan Jakes
87f35abf8b Add workflow and step before save hooks
[MAILPOET-4515]
2022-08-08 13:23:57 +02:00
Jan Jakes
ca308321fd Rename step runner to handler (free the name to step runner interface)
[MAILPOET-4515]
2022-08-08 13:23:57 +02:00
Jan Jakes
c9aa53df8b Extract workflow step updating to a separate controller
[MAILPOET-4515]
2022-08-08 13:23:57 +02:00
Rostislav Wolny
d3e2bcdf34 Refactor daemon trigger and daemon run actions to extra classes
[MAILPOET-4274]
2022-08-03 10:36:57 +02:00
Rostislav Wolny
476ee1ede9 Refactor triggering new action scheduler executor into extra service
[MAILPOET-4274]
2022-08-03 10:36:57 +02:00
Rostislav Wolny
f59945d483 Add wrapper class for action scheduler in cron
The class add GROUP ID so that all MailPoet cron tasks are stored under the same group.
[MAILPOET-4274]
2022-08-03 10:36:57 +02:00