Commit Graph

252 Commits

Author SHA1 Message Date
Mike Jolley
d90e4dc962 Fix element styles and scrollbars 2024-04-22 12:43:17 +01:00
Jan Lysý
52c6f698c9 Add WP CLI command for creating testing email template
[MAILPOET-5971]
2024-04-22 10:32:47 +02:00
Jan Lysý
26896d3cb7 Move email default content to NewsletterSaveController
To avoid circular reference I moved default content to NewsletterSaveController.
[MAILPOET-5971]
2024-04-22 10:32:47 +02:00
David Remer
630b633eed Move campaign data in own class 2024-04-22 10:06:12 +02:00
John Oleksowicz
ba4e54f261 Move query to SendingQueuesRepository
The main piece of data we care about is the campaignId, which is saved
in the sending queue's meta, so I think it makes more sense to base the
query on the sending queues as opposed to newsletters.

MAILPOET-5629
2024-04-22 10:06:12 +02:00
John Oleksowicz
9d88f9abee Use consistent date for query
MAILPOET-5629
2024-04-22 10:06:12 +02:00
John Oleksowicz
d513961bad Ues consistent dates
MAILPOET-5629
2024-04-22 10:06:12 +02:00
John Oleksowicz
401fa92f2c Move calculation of sentToSegment to query
MAILPOET-5629
2024-04-22 10:06:12 +02:00
John Oleksowicz
a747c98c19 Move date calculation to query
MAILPOET-5629
2024-04-22 10:06:12 +02:00
John Oleksowicz
cc11ab25aa Add campaign analytics logic
MAILPOET-5629
2024-04-22 10:06:12 +02:00
John Oleksowicz
c8a90760e6 Add 7 day sending stat
MAILPOET-5629
2024-04-22 10:06:12 +02:00
Jan Lysý
50df6c3d4e Use NPS poll in the new email editor
[MAILPOET-5911]
2024-04-15 08:18:35 +02:00
Jan Jakes
4c44403f6c Fix checking whether an email should contain an abandoned cart block
The problem with the current conditions is that when any of these options doesn't
exist at all, the condition will not pass (= it will render the block, but it shouldn't).

[MAILPOET-5999]
2024-04-08 12:27:53 +02:00
Jan Lysý
4c0c5c1583 Duplicate email post meta and update tests
[MAILPOET-5640]
2024-03-22 17:19:44 +01:00
Brezo Cordero
48465a7152 Refactor CapabilitiesManager
capabilities is an associate array of new class Capability  to make it more generic

[MAILPOET-5938]
2024-03-22 11:01:01 +01:00
Mike Jolley
435f638011 Apply rules on lib dir 2024-03-21 16:57:59 +01:00
Brezo Cordero
e185df3765 Add capability check on logo display
Moves existing check to the capability manager and implements backward compatibility for products without capabilities.

[MAILPOET-5898]
2024-03-13 11:54:37 +01:00
Mike Jolley
b124210844 Preserve single quotes 2024-03-13 10:02:00 +01:00
Mike Jolley
7b4b7c362d Update escape helper to handle and consume esc_attr 2024-03-13 10:02:00 +01:00
Mike Jolley
035f3097ca Move image to CDN 2024-03-12 11:29:04 +00:00
Mike Jolley
3ad932a17e Define default content blocks 2024-03-12 11:29:04 +00:00
Jan Lysý
aba54c5116 Fix ampersand character rendered by newsletter:post_title shortcode
[MAILPOET-5724]
2024-02-22 10:00:38 +01:00
Jan Jakes
a947dd36cd Use refreshAll() helper for batch updates
[MAILPOET-5845]
2024-02-02 12:48:40 +01:00
Jan Jakes
d6da2af55b Extract newsletter bulk delete logic to a controller
Repositories shouldn't inject other repositories. Also, this solves circular DI dependency.

[MAILPOET-5845]
2024-02-02 12:48:40 +01:00
Jan Jakes
82d5621caf Extract newsletter entity deletion to a method
[MAILPOET-5845]
2024-02-02 12:48:40 +01:00
Jan Jakes
cb803d6f4b Use epxlicit transaction demarcation
[MAILPOET-5845]
2024-02-02 12:48:40 +01:00
Jan Jakes
082ab78f90 Remove no longer needed cleanup
[MAILPOET-5845]
2024-02-02 12:48:40 +01:00
Jan Jakes
d1f48b6772 Detach deleted newsletters, simplify code
[MAILPOET-5845]
2024-02-02 12:48:40 +01:00
Jan Jakes
f5e1ae9fba Avoid unnecessary JOIN
[MAILPOET-5845]
2024-02-02 12:48:40 +01:00
Jan Jakes
4454dd6203 Delete stats notifications and tasks using a repository
[MAILPOET-5845]
2024-02-02 12:48:40 +01:00
Jan Jakes
ddfde2059e Delete newsletter data from woocommerce purchase stats using a repository
[MAILPOET-5845]
2024-02-02 12:48:40 +01:00
Jan Jakes
aa13c8956d Delete newsletter segments using a repository
[MAILPOET-5845]
2024-02-02 12:48:40 +01:00
Jan Jakes
18b227429f Delete sending queues using a repository
[MAILPOET-5845]
2024-02-02 12:48:40 +01:00
Jan Jakes
98d46f2fdb Delete scheduled tasks using a repository
[MAILPOET-5845]
2024-02-02 12:48:40 +01:00
Jan Jakes
bcc96d27bb Delete scheduled tasks subscribers using a repository
[MAILPOET-5845]
2024-02-02 12:48:40 +01:00
Jan Jakes
9aaffd9ceb Delete newsletter links using a repository
[MAILPOET-5845]
2024-02-02 12:48:40 +01:00
Jan Jakes
115616620e Delete newsletter options using a repository
[MAILPOET-5845]
2024-02-02 12:48:40 +01:00
Jan Jakes
bca9101921 Delete newsletter posts using a repository
[MAILPOET-5845]
2024-02-02 12:48:40 +01:00
Jan Jakes
1221a64d3d Delete statistics clicks using a repository
[MAILPOET-5845]
2024-02-02 12:48:40 +01:00
Jan Jakes
17168643c9 Delete statistics opens using a repository
[MAILPOET-5845]
2024-02-02 12:48:40 +01:00
Jan Jakes
c492ff4d8d Delete statistics newsletters using a repository
[MAILPOET-5845]
2024-02-02 12:48:40 +01:00
Jan Jakes
6f844e2bea Use typed properties
[MAILPOET-5845]
2024-02-02 12:48:40 +01:00
Rodrigo Primo
62db03d95b Update findOneByNewsletterAndTaskStatus() to work with null status
This commits updates the method findOneByNewsletterAndTaskStatus() so
that it can retrieve SendingQueues when the task status is null.

[MAILPOET-5737]
2024-01-31 12:21:54 +01:00
John Oleksowicz
f5aba4ebee Ensure invalid tasks don't prevent new post notifications
MAILPOET-5853
2024-01-29 17:16:12 +01:00
David Remer
b0c42248a3 Detach entities when bulk deleting Newsletters
[MAILPOET-5829]
2024-01-20 14:02:52 +05:00
David Remer
f21ff46623 Do not schedule a post notification if the old status was publish
[MAILPOET-5822]
2024-01-15 00:17:45 +05:00
Rostislav Wolny
1b6c3c0fe5 Improve WP post duplication when we duplicate an email.
When adding code for the creation of WP Post, I noticed that we don't set
some important values in the WP Post when we duplicate it.
[MAILPOET-5810]
2024-01-14 19:43:26 +05:00
Rostislav Wolny
ee9ee7c491 Improve NewsletterSaveController::save to support new editor
The method is used in API for creating a new newsletter.
To be able to use the API for the new editor, we also need to
make sure that a WP Post is created.
For now, we can signal that the email is intended for a new editor
by adding a flag to the initial data.
[MAILPOET-5810]
2024-01-14 19:43:26 +05:00
Rodrigo Primo
97cdd9e665 Remove Newsletter model from NewsletterSaveController
The code that was still using the newsletter model was not needed
anymore so it was simply removed.

[MAILPOET-5682]
2024-01-12 13:25:46 +01:00
Rodrigo Primo
b2c2be4fb6 Update call Newsletter::preProcessNewsletter()
Newsletter::preProcessNewsletter() was refactored in a previous commit
to use Doctrine instead of Paris. As a result, the signature of this
method was changed, but one call was left using the old signature and
passing a Paris model instead of a Doctrine entity. This commit fixes
this issue.

[MAILPOET-5682]
2024-01-12 13:25:46 +01:00