Commit Graph

236 Commits

Author SHA1 Message Date
David Remer
d4ea49d09a Move OrderStatusChangeTrigger into own namespace
[MAILPOET-5661]
2023-11-06 12:57:56 +01:00
John Oleksowicz
c775a3abd2 Update pending approval message in email preview
MAILPOET-5631
2023-11-02 18:15:55 +01:00
John Oleksowicz
4a4ecc8204 Consistent pending approval message
MAILPOET-5631
2023-11-02 18:15:55 +01:00
David Remer
59e4688799 Add comment fields
[PREMIUM-248]
2023-10-30 21:22:23 +01:00
David Remer
0c4b743247 Add CommentToPost subject transformer
[PREMIUM-248]
2023-10-30 21:22:23 +01:00
David Remer
e0b871454b Add PostSubject
[PREMIUM-248]
2023-10-30 21:22:23 +01:00
David Remer
8f529491e8 Move WordPress context factory to free plugin
[PREMIUM-248]
2023-10-30 21:22:23 +01:00
David Remer
e465f5a5bb Add new classes to DI container
[PREMIUM-248]
2023-10-30 21:22:23 +01:00
John Oleksowicz
9985405d82 Add backend logic for number of clicks filter
MAILPOET-5577
2023-10-30 10:51:04 +01:00
John Oleksowicz
c28eed2388 Backend logic for number of emails received
MAILPOET-5577
2023-10-30 10:51:04 +01:00
John Oleksowicz
10f593bf2c Backend logic for first order filter
MAILPOET-5577
2023-10-30 10:51:04 +01:00
Rodrigo Primo
d4a80c7230 Move SendingQueueEntity::toArray() to SendingQueuesResponseBuilder::build()
Based on a suggestion during the review of the PR, it was decided that
it makes more sense for the code that was created as
SendingQueueEntity::toArray() tp be moved to
SendingQueuesResponseBuilder::build(). It is used only to build the
format that is send in the API response.

[MAILPOET-4368]
2023-10-25 21:09:39 +02:00
John Oleksowicz
933fb27265 Create cron worker for reporting mixpanel data
MAILPOET-5161
2023-10-23 17:40:54 +02:00
Jan Jakes
d0726e348e Implement if/else action
[MAILPOET-5586]
2023-10-23 17:09:16 +02:00
Rostislav Wolny
399ed61503 Introduce SettingsController for managing editor settings
[MAILPOET-5637]
2023-10-17 16:06:06 +02:00
Rostislav Wolny
e9a5658be5 Cleanup post editor approach code
[MAILPOET-5637]
2023-10-17 16:06:06 +02:00
Rostislav Wolny
debbeaafdc Add EmailEditor page into MailPoet admin
[MAILPOET-5603]
2023-10-17 16:06:06 +02:00
Jan Jakes
480d9f1239 Extract admin pages assets setup out of form assets controller
[MAILPOET-5118]
2023-10-04 15:05:38 +02:00
David Remer
5ef146cc2b Add BuysFromACategory Trigger backend
[MAILPOET-5517]
2023-09-25 07:11:43 -07:00
David Remer
a7f66d9812 Add BuysAProduct trigger backend
[MAILPOET-5516]
2023-09-25 07:11:43 -07:00
Jan Lysý
79d506ca34 Create new API endpoint for WC coupons
Because I haven't found an easy way how to use WP or WC API,
I decided to create a MailPoet endpoint for getting coupons that
allows me loading them via Ajax.
[MAILPOET-5123]
2023-09-25 02:28:51 -07:00
Rostislav Wolny
46d8cb38a0 Apply layout styles defined in StylesController and also to editor
[MAILPOET-5540]
2023-09-21 14:20:35 +02:00
Rostislav Wolny
77eab47357 Refactor email styles from constant to service and move to core
I envision the StylesController as the source of information about
styles settings in both the editor and renderer.

We will add email styles settings and these will be accessed in PHP via this service.
[MAILPOET-5540]
2023-09-21 14:20:35 +02:00
Rostislav Wolny
7233a9cb2b Remove unnecessary service in email renderer
[MAILPOET-5540]
2023-09-21 14:20:35 +02:00
Rostislav Wolny
968ff6754e Add blocks preprocessor
Currently, we need to wrap top-level non-column blocks into a single
column. This is done in the preprocessor.

[MAILPOET-5540]
2023-09-21 14:20:35 +02:00
Rostislav Wolny
bd539e386b Add initialization for core blocks renderers
[MAILPOET-5540]
2023-09-21 14:20:35 +02:00
Rostislav Wolny
a1869249e0 Add code handling block rendering
The idea is that anyone can register specialized renderers for
blocks.
The render will skip unknown blocks.
[MAILPOET-5540]
2023-09-21 14:20:35 +02:00
Rostislav Wolny
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
Jan Jakes
dd881d8b33 Extract logging logic to a service, make logs mutable
[MAILPOET-5568]
2023-09-20 02:36:40 -07:00
Jan Jakes
9cd871c32e Remove unused step runner interface
[MAILPOET-5568]
2023-09-20 02:36:40 -07:00
Jan Jakes
9d4f55b399 Add step run controller to allow actions control their flow
[MAILPOET-5569]
2023-09-20 02:36:40 -07:00
Jan Jakes
b7ef250511 Refactor next step scheduling to a StepScheduler service
[MAILPOET-5569]
2023-09-20 02:36:40 -07:00
David Remer
ff78c0907d Add AbandonedCart trigger
[MAILPOET-5576]
2023-09-13 14:58:48 +02:00
Brezo Cordero
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
Rostislav Wolny
68e833f80c Refactor email editor PHP and JS code to follow automations namespacing
[MAILPOET-5365]
2023-08-24 15:44:34 +02:00
Rostislav Wolny
3f166ac3a4 Refactor assets cleanup to an extra class
[MAILPOET-5365]
2023-08-24 15:44:34 +02:00
Rostislav Wolny
fc2bbda9a2 Add dummy email body renderer for new editor
[MAILPOET-5365]
2023-08-24 15:44:34 +02:00
Rostislav Wolny
ba23b5f224 Refactor email body rendering into a separate class
[MAILPOET-5365]
2023-08-24 15:44:34 +02:00
Rostislav Wolny
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
Rostislav Wolny
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
Jan Jakes
6414cc832c Include parent category IDs in order category field
[MAILPOET-5377]
2023-08-14 16:41:29 +02:00
John Oleksowicz
a446a13354 Add backend logic for used coupon code filter
MAILPOET-5007
2023-08-14 13:49:55 +02:00
Jan Jakes
7c1dd656d3 Remove subscriber controller and endpoint
[MAILPOET-5492]
2023-08-14 10:48:24 +02:00
Jan Jakes
330d1e2f34 Remove order controller and endpoint
[MAILPOET-5492]
2023-08-14 10:48:24 +02:00
John Oleksowicz
ce9cbdc45d Add backend logic for number of reviews filter
MAILPOET-5413
2023-08-07 11:06:27 +02:00
John Oleksowicz
3ded9be927 Refactor subscribedDate filter to use SubscriberDateField
MAILPOET-4989
2023-07-26 10:53:55 +02:00
John Oleksowicz
f27f469b17 Add backend logic for subscriber date filters
MAILPOET-4989
2023-07-26 10:53:55 +02:00
David Remer
a33422123a Add subscriber backend
[PREMIUM-225]
2023-07-19 14:57:26 +02:00
David Remer
8d9133b79e Add StepStatisticController to map step data
[MAILPOET-5091]
2023-07-18 13:03:16 +02:00
David Remer
8b81016814 Add getAutomationsInTimespan method to controller
[MAILPOET-5091]
2023-07-18 13:03:16 +02:00