Commit Graph

16750 Commits

Author SHA1 Message Date
Rodrigo Primo
859251280e Update tests to account for modal displayed when saving settings
This commit updates a few acceptance tests to make sure they work with
the new modal that was added when the user tries to leave the settings
page before waiting for the save process to finish.

[MAILPOET-4499]
2022-10-12 09:18:06 +02:00
Rodrigo Primo
171c015afe Dispatch SAVE_DONE when users save a new sender address in modal
This is needed to make sure that hasUnsavedChanges is set back to false
after the modal sets it to true due to a call to SET_SETTING.

[MAILPOET-4499]
2022-10-12 09:18:06 +02:00
Rodrigo Primo
de0712d572 Yield SAVE_DONE when the user clicks on the Verify button
This is necessary to set state.save.hasUnsavedChanges to false when the
user clicks on the Verify button as this call triggers a call to
SET_SETTING that sets state.save.hasUnsavedChanges to true.

[MAILPOET-4499]
2022-10-12 09:18:06 +02:00
Rodrigo Primo
743d4fa252 Move state.hasUnsavedChanges to state.save.hasUnsavedChanges
Doing this to avoid poluting the root of the state.

[MAILPOET-4499]
2022-10-12 09:18:06 +02:00
Rodrigo Primo
91749da2db Use absolute paths instead of relative paths for imports
As per the convention that we use and that I was told about during code
review.

[MAILPOET-4499]
2022-10-12 09:18:06 +02:00
Rodrigo Primo
96db5dea76 Prevent the user leaving the settings page without saving
This commit display a confirmation modal when the user tries to leave
the settings page and there are unsaved changes or saving is current in
progress. It uses the same React component that is used for form editor.

[MAILPOET-4499]
2022-10-12 09:18:06 +02:00
Rodrigo Primo
a617384005 Move UnsavedChangesNotice component to the common directory
Doing this to be able to reuse this component outside of the form
editor. It will be used in the settings page as well.

[MAILPOET-4499]
2022-10-12 09:18:06 +02:00
Brezo Cordero
ff8e23eeb5 Release 3.100.2 2022-10-11 09:04:04 -05:00
David Remer
caf3160060 Remove 'email_id' property
[MAILPOET-4520]
2022-10-11 11:14:58 +02:00
David Remer
60a52dfa5b Introduce EditNewsletter component
The previous logic could not reliably redirect to the template selection
and was showing the 'Edit newsletter' buttons to early in the process. The
logic which decides on what buttons to show have now been bundled in a
single EditNewsletter component

[MAILPOET-4520]
2022-10-11 11:14:58 +02:00
David Remer
b657a1eee0 Account for email_id being 0
[MAILPOET-4520]
2022-10-11 11:14:58 +02:00
David Remer
4c30ffcaf1 Remove logic from TutorialIcon component
[MAILPOET-4520]
2022-10-11 11:14:58 +02:00
David Remer
bd12d23a4f Delete newsletter entity
[MAILPOET-4520]
2022-10-11 11:14:58 +02:00
David Remer
b7e80b60ab Disconnect empty emails before workflow loads
[MAILPOET-4520]
2022-10-11 11:14:58 +02:00
David Remer
ad6f457861 Introduce hook before editor loads
[MAILPOET-4520]
2022-10-11 11:14:58 +02:00
David Remer
5b35cf84aa Remove Cancel button in newsletter editor
[MAILPOET-4520]
2022-10-11 11:14:58 +02:00
David Remer
e9ecea5605 Switch <div> to <span> to prevent error
div elements should not be children of paragraphs

[MAILPOET-4520]
2022-10-11 11:14:58 +02:00
David Remer
0975365711 Redirect to template page when creating automation email
[MAILPOET-4520]
2022-10-11 11:14:58 +02:00
David Remer
5adb34a6c0 Redirect logo on template page and newsletter editor
[MAILPOET-4520]
2022-10-11 11:14:58 +02:00
David Remer
9134005d30 Add optional prop for onClick action
[MAILPOET-4520]
2022-10-11 11:14:58 +02:00
David Remer
83bc9d8089 Hide tutorial when email is of type automation
[MAILPOET-4520]
2022-10-11 11:14:58 +02:00
Rodrigo Primo
7521dbd1ef Update Woo COT build in test to the latest version
The latest version is 7.0.0-hpos.dev.7

[MAILPOET-4691]
2022-10-11 07:23:37 +02:00
David Remer
bb04935f29 Add repository to testee
[MAILPOET-4708]
2022-10-10 17:13:17 +02:00
David Remer
522629eeff Update other instances where SendingTask and Entity get out of sync
[MAILPOET-4708]
2022-10-10 17:13:17 +02:00
David Remer
2298b5b061 Be more restrictive when deleting a queue task
getNewsletterFromQueue() has too many conditions under which it returns null. Therefore we can not rely on that method when we wont to delete running tasks with no associated newsletter.
[MAILPOET-4708]
2022-10-10 17:13:17 +02:00
David Remer
94da004454 Refresh newsletterEntity and taskEntity.
We need to refresh those, because the database values have
changed and Doctrine needs to clear its internal cache.

[MAILPOET-4708]
2022-10-10 17:13:17 +02:00
David Remer
0a3431b7da Add simple mixpanel data for automations
[MAILPOET-4535]
2022-10-10 09:53:42 +02:00
Rodrigo Primo
50b18834d2 Adapt query to get registered customers to work with custom orders tables
[MAILPOET-4569]
2022-10-10 09:21:38 +02:00
Rodrigo Primo
e3cf1a047b Adapt query to get guest customers to work with custom orders tables
[MAILPOET-4569]
2022-10-10 09:21:38 +02:00
Rodrigo Primo
f2ab875bd9 Skip WooCommerce Subscriptions integration tests when Woo COT is enabled
WooCommerce Subscriptions doesn't support WooCommerce Custom Orders
Tables, so we should skip the WooCommerce Subscriptions related tests
when Woo COT is enabled.

[MAILPOET-4695]
2022-10-07 18:31:10 +02:00
David Remer
b0aacdd4ef Release 3.100.1 2022-10-06 15:37:24 +03:00
Rodrigo Primo
c4c94c2db0 Change the way getName() is called to get rid of a PHPStan error
[MAILPOET-4695]
2022-10-06 12:16:47 +02:00
Rodrigo Primo
7cb6609faa Skip WooCommerce Subscriptions test when Woo COT is enabled
Currently, WooCommerce Subscriptions doesn't support WooCommerce Custom
Orders Table, so we want to skip all WooCommerce Subscriptions related
tests when Woo COT is enabled.

[MAILPOET-4695]
2022-10-06 12:16:47 +02:00
Rodrigo Primo
ef8bc9250a Change codeception extension to catch skipped tests
This commit changes the Codeception extension CheckSkippedTestsExtension
that we use to generate an error when tests are skipped in the `trunk` and
`release` branches. Now this extension accepts a list of tests that can
be skipped in those two branches. This will be necessary as part of the
project to support WooCommerce Custom Orders Tables as in some scenarios
we want to skip WooCommerce Subscriptions tests and in some we don't.
For now, WooCommerce Subscrptions doesn't support Woo COT, so we want to
run Woo Subscriptions tests when COT is disabled, but we want to skip
then when COT is enabled.

The main change is that now we are using the `TEST_SKIPPED` Codeception event
instead of the `SUITE_AFTER` event. This change was necessary as in the
latter event we don't have any information about the tests that were
skipped.

[MAILPOET-4695]
2022-10-06 12:16:47 +02:00
David Remer
307989a0c6 Delete task when no newsletter was found
When no corresponding newsletter was found the task can be deleted. The behavior
before meant that such a task would remain forever in the database with the
status 'running'.

[MAILPOET-4699]
2022-10-06 12:06:13 +02:00
David Remer
357dede83d Allow newsletter_id to be NULL in sending_queue table
[MAILPOET-4699]
2022-10-06 12:06:13 +02:00
David Remer
1a8f0c384c Improve logging of errors in cron
Sometimes errors overlap each other so that the 'Last Seen error' we log
does not provide sufficient information on the cause of a problem.

E.g. one worker might cause an SQL issue, which closes the EntityManager and a
subsequent worker might overwrite this error with the information that the
EntityManager is closed.

With this commit, both those issues will be logged as an error.

[MAILPOET-4699]
2022-10-06 12:06:13 +02:00
Jan Lysý
ccb1e7dc94 Improve ordering in mapping
[MAILPOET-4583]
2022-10-05 14:14:34 +02:00
Jan Lysý
159233f3e5 Remove duplicity from mapping
[MAILPOET-4583]
2022-10-05 14:14:34 +02:00
Jan Lysý
cc8f261629 Add used dynamic filter types into tracking
[MAILPOET-4583]
2022-10-05 14:14:34 +02:00
Jan Lysý
f1b59173dd Add filters into newsletter response
[MAILPOET-4583]
2022-10-05 14:14:34 +02:00
Jan Lysý
6668a87eb3 Add reporting about tags usage
[MAILPOET-4583]
2022-10-05 14:14:34 +02:00
Rodrigo Primo
f734091e34 Replace PHP's builtin exception with Mailpoet's RuntimeException
Use a more specific exception.

[MAILPOET-4577]
2022-10-05 10:47:06 +02:00
Rodrigo Primo
05fb310130 Use different query to get emails and orderds IDs if WooCoomerce COT is enabled
[MAILPOET-4577]
2022-10-05 10:47:06 +02:00
Rodrigo Primo
ff105f8e61 Add helper method to get the name of the WooCommerce orders table
[MAILPOET-4577]
2022-10-05 10:47:06 +02:00
Rodrigo Primo
54ea394f82 Deprecate filter as part of a Doctrine refactor
This commit deprecates the filter
mailpoet_sending_newsletter_render_after and replaces it with
mailpoet_sending_newsletter_render_after_pre_process. This was necessary
because as part of a Doctrine refactor one of the parameters passed to
the old filter changed from a Newsletter model to a Newsletter entity.

[MAILPOET-4680]
2022-10-04 14:41:00 +02:00
Rodrigo Primo
d39440f1dc Refactor Newsletter::preProcessNewsletter() to use Doctrine
This commit also removes almost all the usages of the old Newsletter
model from NewsletterTest.

[MAILPOET-4680]
2022-10-04 14:41:00 +02:00
Rodrigo Primo
095cddc67e Change Posts::getAlcPostsCount() to use Doctine instead of Paris
[MAILPOET-4680]
2022-10-04 14:41:00 +02:00
Rodrigo Primo
e4cf6ddb57 Use Subscriber data factory instead of SubscriberEntity
This change is in the context of creating a new subscriber.

Doing this following feedback during PR review.

[MAILPOET-4377]
2022-10-04 14:22:02 +02:00
Rodrigo Primo
7582f3c991 Remove old Segment model from WooCommercePastRevenues
[MAILPOET-4377]
2022-10-04 14:22:02 +02:00