Commit Graph

50 Commits

Author SHA1 Message Date
Rostislav Wolny
eedc18bb7f Trigger action scheduler runner immediately when starting sending
When users click send email in UI, they need to wait a minute or more to
see some emails started going out.

This commit adds additional trigger into sending queue API.
If emails is set to send it triggers Action Scheduler immediately.
Users will get immediate feedback that emails are sending.
[MAILPOET-4274]
2022-08-03 10:36:57 +02:00
Sam Najian
bd3b4f1e93 Remove Newsletter model usages
[MAILPOET-4361]
2022-07-18 16:47:48 +02:00
Oluwaseun Olorunsola
5d8b721a52 Annotate return type and use consistent return data
MAILPOET-4300
2022-07-18 12:53:49 +02:00
Oluwaseun Olorunsola
ee70d2dd1e Implement polling and reconfirmation
This will poll the server every certain interval (15s) for the email address
and stop polling if the email is Authorized or the modal is closed or after a certain period of time (2 hours)

MAILPOET-4300
2022-07-18 12:53:49 +02:00
Oluwaseun Olorunsola
1fda60bfea Implement API endpoints
MAILPOET-4300
2022-07-18 12:53:49 +02:00
Jan Lysý
e8b94761e5 Add tags into listing response
[MAILPOET-4441]
2022-07-14 10:37:49 +02:00
Jan Lysý
a4b45368de Add loading tags into subscriber edit form
[MAILPOET-4440]
2022-07-12 13:35:00 +02:00
Brezo Cordero
3d1365595b Remove catch block and change quotes
Remove catch block to log unexpected exceptions and change quotes for consistency on error message.

[MAILPOET-4259]
2022-06-06 11:59:27 +02:00
Brezo Cordero
53b9f79e65 Catch the correct Exception when creating a list on import
This is not part of this issue but found it when looking at the Exception types.

[MAILPOET-4259]
2022-06-06 11:59:27 +02:00
Brezo Cordero
2e5e8e808f Verify that new email is unique when editing a subscriber
Throws an exception with information message if email already exists.

[MAILPOET-4259]
2022-06-06 11:59:27 +02:00
Jan Lysý
5ab04b8b22 Remove usage constant from the old model
[MAILPOET-4338]
2022-05-19 14:18:06 +02:00
John Oleksowicz
ab609c8867 Remove subscriber check from newsletter validator
Checking the subscriber limit has nothing to do with the newsletter
itself, so it makes more sense to continue to perform that check as
needed elsewhere in the codebase.

MAILPOET-4236
2022-05-16 11:17:29 +02:00
John Oleksowicz
8983d5e3f7 Move subscriber limit check into validator
[MAILPOET-4236]
2022-05-16 11:17:29 +02:00
John Oleksowicz
9bfe2b2ca1 Newsletter validation updates
- Rename validator to newsletterValidator for clarity
- Add validation for ALC content
- Refactor tests to use data factory for consistency and to avoid
validation issues
- Add separate tests for NewsletterValidator service
- Add test helper for retrieving service with private properties
overridden by name

[MAILPOET-4236]
2022-05-16 11:17:29 +02:00
John Oleksowicz
a5103f9596 Move reengagement validations into validator
[MAILPOET-4236]
2022-05-16 11:17:29 +02:00
John Oleksowicz
27a86d2ca6 Check validity on activating newsletters
This prevents users from activating automatic emails from listing pages
that are not valid.

This also adds more checks for the content of a newsletter, requiring
that a newsletter have at least one content block in order to be valid.
This change makes the server side validation check match what we're
checking in the editor in mailpoet/assets/js/src/newsletter_editor
/components/save.js and mailpoet/assets/js/src/newsletters/send.jsx

[MAILPOET-4236]
2022-05-16 11:17:29 +02:00
John Oleksowicz
fdaf22d46b Extract newsletter validation to a service
[MAILPOET-4236]
2022-05-16 11:17:29 +02:00
Rodrigo Primo
ed164ac397 Replace Paris code with Doctrine in NewslettersResponseBuilder.php
[MAILPOET-4138]
2022-05-09 13:04:56 +02:00
Sam Najian
3339d2f877 Correctly set dynamic arg false for Posts block requests
[MAILPOET-4278]
2022-05-02 13:49:05 +02:00
Rostislav Wolny
62c7022227 Improve message for confirmation emails when confirmation is disabled
[MAILPOET-4149]
2022-05-02 13:47:54 +02:00
David Remer
ca3f8bdc43 Make Scheduler non-static
[MAILPOET-4252]
2022-04-25 12:08:18 +02:00
Sam
bcae8ade3f Revert "Revert "Restrict dynamic blocks to public post status only""
This reverts commit 79991ae462.
2022-04-18 11:43:47 +02:00
Sam
c32dc0a372 Revert "Revert "Define BlockPostQuery for nicer args processing for quering""
This reverts commit 62e393a76d.
2022-04-18 11:43:47 +02:00
Sam
7631042f3d Revert "Revert "Check post-types validity for requests""
This reverts commit fdb4663ca1.
2022-04-18 11:43:47 +02:00
Rodrigo Primo
fdb4663ca1 Revert "Check post-types validity for requests"
This reverts commit b800cf189f.
2022-04-11 16:30:59 -03:00
Rodrigo Primo
62e393a76d Revert "Define BlockPostQuery for nicer args processing for quering"
This reverts commit 5b40a585e7.
2022-04-11 16:30:59 -03:00
Rodrigo Primo
79991ae462 Revert "Restrict dynamic blocks to public post status only"
This reverts commit 72b3172c1a.
2022-04-11 16:30:59 -03:00
Sam Najian
72b3172c1a Restrict dynamic blocks to public post status only
[MAILPOET-4082]
2022-04-11 14:54:56 -03:00
Sam Najian
5b40a585e7 Define BlockPostQuery for nicer args processing for quering
[MAILPOET-4082]
2022-04-11 14:54:56 -03:00
Sam Najian
b800cf189f Check post-types validity for requests
[MAILPOET-4082]
2022-04-11 14:54:56 -03:00
Rostislav Wolny
708333e68a Replace ternary operators with null coalescing operators in MailerAPI
[MAILPOET-4115]
2022-04-11 16:54:38 +02:00
Rostislav Wolny
6b758d90e6 Use MailerFactory in Mailer api
[MAILPOET-4115]
2022-04-11 16:54:38 +02:00
Rostislav Wolny
06fb13bd86 Use MailerFactory in sending queue API mailer config check
[MAILPOET-4115]
2022-04-11 16:54:38 +02:00
John Oleksowicz
fc1f3e6dc2 Inline generateToken for clarity
The only thing Security::generateToken was providing was a default value
 for the $action, which created a pattern of using the same $action
 everywhere, which may not be the best way to go.

 Since it was essentially a wrapper for WP's built-in nonce functions,
 it seemed clearer to use those functions directly to be more explicit
 about how we're handling tokens.

[MAILPOET-2030]
2022-04-11 10:29:35 +02:00
Rodrigo Primo
e00d71b781 Remove WP < 4.5.0 compatibility code
This commit removes the method Posts::getTerms() as it existed to add a
compatibility layer for sites running WP < 4.5.0 and we don't support
this version anymore. The signature of the WP get_terms() function was
changed in version 4.5.0 and that is why this compatibility layer was
needed.

The integration test class for this method was also removed. The only
place where this method was used, AutomatedLatestContent::getTerms(),
now call WPFunctions->getTerms() directly. A very basic integration test
was added to cover the happy path of AutomatedLatestContent::getTerms().

[MAILPOET-4225]
2022-04-11 09:20:21 +02:00
David Remer
a8d88beec9 Escape output according to WP sniffs
[MAILPOET-4129]
2022-04-04 17:12:33 +02:00
Rostislav Wolny
8291b2f19c Refactor sending task subscribers resend endpoint to doctrine
[MAILPOET-4006]
2022-04-04 15:33:52 +02:00
Rostislav Wolny
86164fd32e Use scheduled task subscriber listing repository in API endpoint
[MAILPOET-4006]
2022-04-04 15:33:52 +02:00
Rostislav Wolny
823aca38e4 Refactor fetching task ids to doctrine in task subscribers listing
[MAILPOET-4006]
2022-04-04 15:33:52 +02:00
Rodrigo Primo
54ecb6065c Replace old ScheduledTask model with ScheduledTaskEntity in SubscribersFinder
[MAILPOET-3925]
2022-03-28 08:13:53 +02:00
Rodrigo Primo
0a73135c83 Replace old Segment model with Doctrine in SubscribersFinder
[MAILPOET-3925]
2022-03-28 08:13:53 +02:00
Jan Lysý
c733e4279f Add checking mss and premium state
[MAILPOET-4047]
2022-03-01 10:58:31 +01:00
Jan Lysý
43ca802a44 Add sending resume when recheck keys
[MAILPOET-4047]
2022-03-01 10:58:31 +01:00
John Oleksowicz
5f5255f921 Move MSS Activation to change handler
[MAILPOET-4061]
2022-02-07 14:37:08 +01:00
John Oleksowicz
00f3e3787d New service for handling setting changes
[MAILPOET-4061]
2022-02-07 14:37:08 +01:00
Jan Lysý
6a20082782 Add check that createdAt is not null
[MAILPOET-4067]
2022-01-24 10:55:11 +01:00
Rostislav Wolny
75ab2338d6 Remove backward compatibility code for email action filters
This commit cleans up code that is no longer needed after email actions filter data migration.
[MAILPOET-3951]
2022-01-19 16:18:08 +01:00
Rostislav Wolny
ae24da9ea2 Replace not clicked segment filter with clicked variant in UI
[MAILPOET-3951]
2022-01-19 16:18:08 +01:00
Rostislav Wolny
ea8bfdc863 Add multiple emails support with any of and all of for machine-opened
[MAILPOET-3957]
2022-01-19 16:18:08 +01:00
Jan Jakes
9f790efbf0 Move plugin files to a subfolder
[MAILPOET-3988]
2022-01-18 15:30:22 +01:00