Commit Graph

209 Commits

Author SHA1 Message Date
46a481ec24 Add email renderer and template to the renderer engine
In this commit, I copied the code for processing the rendering of emails
from the current renderer.
This will allow us to use different base templates and styles.
Ideally, we should be able to add hooks and reuse the renderer from the engine namespace in
the current renderer.
[MAILPOET-5540]
2023-09-21 14:20:35 +02:00
dd881d8b33 Extract logging logic to a service, make logs mutable
[MAILPOET-5568]
2023-09-20 02:36:40 -07:00
9cd871c32e Remove unused step runner interface
[MAILPOET-5568]
2023-09-20 02:36:40 -07:00
9d4f55b399 Add step run controller to allow actions control their flow
[MAILPOET-5569]
2023-09-20 02:36:40 -07:00
b7ef250511 Refactor next step scheduling to a StepScheduler service
[MAILPOET-5569]
2023-09-20 02:36:40 -07:00
ff78c0907d Add AbandonedCart trigger
[MAILPOET-5576]
2023-09-13 14:58:48 +02:00
7e0a361b03 Rename HelpScout/Beacon
One of the hardest problems in programming. Name changed to represent what the class is for now that we have removed the beacon. Hopefully.

[MAILPOET-5551]
2023-09-07 14:50:35 +02:00
68e833f80c Refactor email editor PHP and JS code to follow automations namespacing
[MAILPOET-5365]
2023-08-24 15:44:34 +02:00
3f166ac3a4 Refactor assets cleanup to an extra class
[MAILPOET-5365]
2023-08-24 15:44:34 +02:00
fc2bbda9a2 Add dummy email body renderer for new editor
[MAILPOET-5365]
2023-08-24 15:44:34 +02:00
ba23b5f224 Refactor email body rendering into a separate class
[MAILPOET-5365]
2023-08-24 15:44:34 +02:00
fabdf6f4c5 Add EmailApiController that adds MailPoet specific data to post api
When loading an email post in the editor we need to attach MailPoet
specific data like associated newsletter entity id, email type etc.

This is done using register_rest_field function.
So far we only send the associated entity ID but there is also a method `saveEmailData` that will
be used to save MailPoet specific email data.

[MAILPOET-5365]
2023-08-24 15:44:34 +02:00
c7f1ecfb5e Add EmailEditor class with basic registration of CPT for emails
The idea is that there is a core class
Mailpoet\MailPoet\EmailEditor\Core\EmailEditor which will contain common email editor related stuff
that can be used and shared between projects.
Mailpoet\MailPoet\EmailEditor\Integration\EmailEditor which contains MailPoet specific settings and and extra modifications
specific for MailPoet.
[MAILPOET-5365]
2023-08-24 15:44:34 +02:00
6414cc832c Include parent category IDs in order category field
[MAILPOET-5377]
2023-08-14 16:41:29 +02:00
a446a13354 Add backend logic for used coupon code filter
MAILPOET-5007
2023-08-14 13:49:55 +02:00
7c1dd656d3 Remove subscriber controller and endpoint
[MAILPOET-5492]
2023-08-14 10:48:24 +02:00
330d1e2f34 Remove order controller and endpoint
[MAILPOET-5492]
2023-08-14 10:48:24 +02:00
ce9cbdc45d Add backend logic for number of reviews filter
MAILPOET-5413
2023-08-07 11:06:27 +02:00
3ded9be927 Refactor subscribedDate filter to use SubscriberDateField
MAILPOET-4989
2023-07-26 10:53:55 +02:00
f27f469b17 Add backend logic for subscriber date filters
MAILPOET-4989
2023-07-26 10:53:55 +02:00
a33422123a Add subscriber backend
[PREMIUM-225]
2023-07-19 14:57:26 +02:00
8d9133b79e Add StepStatisticController to map step data
[MAILPOET-5091]
2023-07-18 13:03:16 +02:00
8b81016814 Add getAutomationsInTimespan method to controller
[MAILPOET-5091]
2023-07-18 13:03:16 +02:00
9363e8714a Add AutomationFlow section and allow for custom update callbacks
[MAILPOET-5091]
2023-07-18 13:03:16 +02:00
8c2251089f Add AutomationEmailController
[MAILPOET-5433]
2023-07-14 21:50:59 +02:00
c72fce9aae Separate the segments and lists pages on the PHP side
Until now we were using the same render() method and Twig templates for
the segments and lists pages. This commit separates them by creating two
different render() methods, one for each page, and also separing the
Twig templates. Only the translations remain shared as separating them
would be more involved and probably not worth it.

[MAILPOET-5392]
2023-07-12 18:46:08 +02:00
73eae47a39 Add cron worker for backfilling engagement data
MAILPOET-5404
2023-07-12 15:48:03 +02:00
aa00a34753 Add order endpoint
[PREMIUM-224]
2023-07-12 14:58:11 +02:00
d4b621acbb Use factory to switch between free and premium order controller
[PREMIUM-224]
2023-07-12 14:58:11 +02:00
f8075fec43 Add controller to return order data for free plugin
[PREMIUM-224]
2023-07-12 14:58:11 +02:00
251dcdc6fb Add filters for automations events
MAILPOET-5003
2023-07-12 11:10:18 +02:00
5447e253e5 Add backend logic to handle new "used shipping method" segment
[MAILPOET-4992]
2023-07-04 22:23:06 +02:00
61bb3a65d7 Add backend logic for customer text field filters
MAILPOET-4990
2023-06-28 15:14:03 +02:00
d3b63b4c0f Move MailPoet templates to MailPoet integration
[MAILPOET-5372]
2023-06-19 13:29:25 +02:00
25a0d56ed1 Move automation builder to engine
[MAILPOET-5372]
2023-06-19 13:29:25 +02:00
3ddc8a6a3d Add billing info fields
[MAILPOET-5169]
2023-06-19 11:06:23 +02:00
364479cc4f Extract building category and tag field options to a service
[MAILPOET-5169]
2023-06-19 11:06:23 +02:00
1336cb9086 Rename to Analytics
[MAILPOET-5088]
2023-06-15 12:25:12 +02:00
f10ef78825 Add Analytics Page and backend logic
[MAILPOET-5088]
2023-06-15 12:25:12 +02:00
916aea1e8d Add customer review fields
[MAILPOET-5168]
2023-06-12 12:13:41 +02:00
d259f5948c Add customer order fields
[MAILPOET-5168]
2023-06-12 12:13:41 +02:00
4c1f4ba073 Add basic Woo customer fields
[MAILPOET-5168]
2023-06-12 12:13:41 +02:00
cb56ec74fc Add WP user to Woo customer transformer
[MAILPOET-5168]
2023-06-12 12:13:41 +02:00
88b23f6a59 Add subscriber to WP user subject transformer
[MAILPOET-5168]
2023-06-12 12:13:41 +02:00
b132405f42 Add WordPress user subject and payload
[MAILPOET-5168]
2023-06-12 12:13:41 +02:00
cc352e6e2d Add WordPress integration
[MAILPOET-5168]
2023-06-12 12:13:41 +02:00
28b38ef8f5 Add MailPoet info to WooCommerce System Status Report
[MAILPOET-4973]
2023-05-29 10:53:38 +02:00
ec68818c1a Add filter for used payment method
MAILPOET-4993
2023-05-19 11:57:13 +02:00
00d021109c Move ModelValidator::validateNonRoleEmail() to a new Validator class
We want to remove/refactor the whole ModelValidator class as part of the
Doctrine refactor.

This commit moves the method ModelValidator::validateNonRoleEmail() to a
new Validator class as the method is not used by the validator system of
the Paris models. ModelValidator::validateEmail() was also moved as it
is called by ModelValidator::validateNonRoleEmail().

[MAILPOET-4343]
2023-05-17 12:37:22 +02:00
7444131021 Add subscriber automation fields
[MAILPOET-5172]
2023-05-17 12:36:05 +02:00