Commit Graph

16368 Commits

Author SHA1 Message Date
David Remer
5600a2fef0 Load all statistics at once
[MAILPOET-4673]
2022-10-12 10:24:58 +02:00
David Remer
d077370086 Perform only one SQL query for the statistics
[MAILPOET-4673]
2022-10-12 10:24:58 +02:00
David Remer
211f6c3f1b Fix styling issues
[MAILPOET-4673]
2022-10-12 10:24:58 +02:00
David Remer
193b9ae32d Index status column of workflow runs
[MAILPOET-4673]
2022-10-12 10:24:58 +02:00
David Remer
18c4257f1f Drop hasValues method
[MAILPOET-4673]
2022-10-12 10:24:58 +02:00
David Remer
368878c280 Simplify testItSeparatesWorkflowRunsCorrectly test
[MAILPOET-4673]
2022-10-12 10:24:58 +02:00
David Remer
86c3d14af4 Fix typo
[MAILPOET-4673]
2022-10-12 10:24:58 +02:00
David Remer
05a052ec08 Remove extra line break
[MAILPOET-4673]
2022-10-12 10:24:58 +02:00
David Remer
ff9f5d304e Return statistics of Workflow
[MAILPOET-4673]
2022-10-12 10:24:58 +02:00
David Remer
c73d242c5d Style statistics
[MAILPOET-4673]
2022-10-12 10:24:58 +02:00
David Remer
4eb859154d Show statistics on listing page
[MAILPOET-4673]
2022-10-12 10:24:58 +02:00
David Remer
3c2d8266e4 Add statistics to editor
[MAILPOET-4673]
2022-10-12 10:24:58 +02:00
David Remer
c66c5d7bd0 Extend Workflow type definition
[MAILPOET-4673]
2022-10-12 10:24:58 +02:00
David Remer
96ade7327e Provide statistics via endpoint and admin page
[MAILPOET-4673]
2022-10-12 10:24:58 +02:00
David Remer
52dcba8493 Introduce WorkflowStatistics entity
[MAILPOET-4673]
2022-10-12 10:24:58 +02:00
Rodrigo Primo
f65d343950 Fix hasUnsavedChanges when user clicks "or Cancel" button
When the `or Cancel` button is clicked, the action `SET_SETTING` is not
triggered and thus `hasUnsavedChanges` was not updated resulting in
problems like the one described here:
https://github.com/mailpoet/mailpoet/pull/4315#issuecomment-1273013496.

This commit fixes this problem by updating `hasUnsavedChanges` also when
the action `SET_SETTINGS` (not the `s` at the end) is triggered.

[MAILPOET-4499]
2022-10-12 09:18:06 +02:00
Rodrigo Primo
dd51970a43 Simplify logic to decide if there were changes in settings page
[MAILPOET-4499]
2022-10-12 09:18:06 +02:00
Rodrigo Primo
1279eeb706 Don't show message if the value of the settings didn't change
This commit improves the code that decides whether or not to display a
confirmation message when the user tries to leave the settings pages
with unsaved changes. Before this commit, the confirmation message would
be displayed even if the user changed the settings a few times and then
back to the original value. Now, this won't happen anymore.

When the page is loaded, we save the original state of data in a
different property called `originalData` and use it to compare against
the current data when deciding whether or not the page has unsaved
changes.

I considered storing just a hash of the original data and using that for
the comparison, but I couldn't find an easy way to generate a hash of an
object in JS.

[MAILPOET-4499]
2022-10-12 09:18:06 +02:00
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