Commit Graph

16408 Commits

Author SHA1 Message Date
David Remer
524e403a88 escape string for usage in JavaScript
[MAILPOET-4694]
2022-10-17 10:26:38 +02:00
Jan Jakes
1747d9c1c9 Fix wrong import
[MAILPOET-4540]
2022-10-17 11:21:03 +03:00
Damien Alleyne
0c9e445fea Localize plugin description
[MAILPOET-4709]
2022-10-17 09:21:35 +02:00
Jan Lysý
8b1eabb765 Remove duplicated annotation for filter
[MAILPOET-4717]
2022-10-17 09:12:10 +02:00
Jan Lysý
47ee47c372 Add getSubscribersCount documentation
[MAILPOET-4717]
2022-10-17 09:12:10 +02:00
Jan Lysý
8f38dc451e Add test cases for MP API getSubscribersCount
[MAILPOET-4717]
2022-10-17 09:12:10 +02:00
Jan Lysý
375a6f8a4d Add new method getSubscribersCount
[MAILPOET-4717]
2022-10-17 09:12:10 +02:00
Jan Lysý
35fb4979a3 Move building listing definition to private method
[MAILPOET-4717]
2022-10-17 09:12:10 +02:00
Jan Jakes
b696dfd066 Add link from automation editor back to listing
[MAILPOET-4675]
2022-10-14 15:09:14 +03:00
Jan Jakes
506cb8b732 Ensure workflow was trashed before deleting it
[MAILPOET-4540]
2022-10-14 12:03:53 +03:00
Jan Jakes
1b20bf45dd Move workflow list response building to workflow mapper
[MAILPOET-4540]
2022-10-14 12:03:53 +03:00
Jan Jakes
dd033d2f78 Use workflow mapper on automation editor page
[MAILPOET-4540]
2022-10-14 12:03:53 +03:00
Jan Jakes
e40665fc4a Add missing trailing comma
[MAILPOET-4540]
2022-10-14 12:03:53 +03:00
Jan Jakes
7b2dc2d172 Add check that workflow hasn't been duplicated when not allowed
[MAILPOET-4540]
2022-10-14 12:03:53 +03:00
Jan Jakes
70344b0e84 Add test for workflow delete endpoint
[MAILPOET-4540]
2022-10-14 12:03:53 +03:00
Jan Jakes
2a4b126538 Add test for workflow duplicate endpoint
[MAILPOET-4540]
2022-10-14 12:03:53 +03:00
Jan Jakes
98a701419a Reuse workflow mapper in create from template endpoint
[MAILPOET-4540]
2022-10-14 12:03:53 +03:00
Jan Jakes
b01d050f1d Extract workflow delete logic to a controller
[MAILPOET-4540]
2022-10-14 12:03:53 +03:00
Jan Jakes
89c43a5cb9 Extract workflow duplication logic to a controller, fix some issues
[MAILPOET-4540]
2022-10-14 12:03:53 +03:00
John Oleksowicz
6158f5a64b Prevent duplicates from having too-long names
[MAILPOET-4540]
2022-10-14 12:03:53 +03:00
John Oleksowicz
169b6c4151 Ensure createWorkflow never attempts to use ID
[MAILPOET-4540]
2022-10-14 12:03:53 +03:00
John Oleksowicz
4e82c5334b Add ability to permanently delete workflow
[MAILPOET-4540]
2022-10-14 12:03:53 +03:00
John Oleksowicz
a4c8caa664 Add basic duplication ability
[MAILPOET-4540]
2022-10-14 12:03:53 +03:00
John Oleksowicz
35325bdf06 Remove clip path to allow dropdown visibility
The actions dropdown would be cut off for the bottom most workflows if
we kept this rule, which was a workaround to begin with.

[MAILPOET-4540]
2022-10-14 12:03:53 +03:00
John Oleksowicz
4033bedaf3 Remove rename and statistics actions
[MAILPOET-4540]
2022-10-14 12:03:53 +03:00
John Oleksowicz
539969c8d0 Don't display trashed workflows in "All"
[MAILPOET-4540]
2022-10-14 12:03:53 +03:00
Rostislav Wolny
ff5a41a8ee Update outdated comment about recurring action in Daemon Run action
[MAILPOET-4684]
2022-10-13 14:21:43 +02:00
Rostislav Wolny
18b790f7c6 Uncomment logs table cleanup in tests
I commented it during debugging.
[MAILPOET-4684]
2022-10-13 14:21:43 +02:00
Rostislav Wolny
69ac29d0a7 Allow immediate processing of just prepared tasks in cron worker runner
Preparing simple worker tasks is super fast, because it just switches the state to null.
But the processing of just prepared tasks required the second worker run and also second cron run.
This change optimize the behavior and in case there is still time left it immediately starts processing the tasks.
[MAILPOET-4684]
2022-10-13 14:21:43 +02:00
Rostislav Wolny
05b441378d Add logging of suspiciously terminated cron runs
[MAILPOET-4684]
2022-10-13 14:21:43 +02:00
Rostislav Wolny
9c0ce5ed7a Refactor DaemonRun::afterProcess for better readability
[MAILPOET-4684]
2022-10-13 14:21:43 +02:00
Rostislav Wolny
de22257af3 Do not schedule next action scheduler run after suspiciously short run
In case we still have work to do but the previous run ended too early and it still had some execution time left
we will not schedule new action.
This is prevention for creating a run action every one second in case there is e.g. some stuck job.
Next run will be triggered within the trigger action that runs every 2 minutes.
[MAILPOET-4684]
2022-10-13 14:21:43 +02:00
Rostislav Wolny
a03f8f1c30 Use action scheduler's unique single action for daemon run
With the new unique parameter added in the action scheduler 3.5.0 the
as_schedule_single_action that schedules an immediate action
seems to be more convenient for the action scheduler.
We get better control over the scheduling of subsequent runs.
Note: We don't want to use the async action that is also executed immediately,
but it has the highest priority and we don't want to block actions scheduled by other plugins.
[MAILPOET-4684]
2022-10-13 14:21:43 +02:00
Rostislav Wolny
e33539c5ca Prevent triggering cron when sending is waiting for retry
[MAILPOET-4686]
2022-10-13 14:21:43 +02:00
Rostislav Wolny
b96b549f43 Unschedule cron actions before running migrations
We don't want to run any actions during migrations.
This will also clean duplicate trigger actions
that were potentially created because of requests race conditions.
[MAILPOET-4684]
2022-10-13 14:21:43 +02:00
Rostislav Wolny
1711d60871 Schedule recurring actions as unique to prevent duplicate actions
We had some cases of multiple triggers created most probably because of a race conditions.
The unique action functionality added in the action scheduled 3.5.0 should prevent it.
[MAILPOET-4684]
2022-10-13 14:21:43 +02:00
Rostislav Wolny
e22145c00f Update woocommerce/action-scheduler to 3.5.2
[MAILPOET-4684]
2022-10-13 14:21:43 +02:00
Rostislav Wolny
4d7f6f8c75 Use more effective method deactivation
This will cancel all jobs with one query. Instead of cancelling one by one.
In case that some action gets scheduled multiple times e.g. due a race condition
it will remove all jobs.
2022-10-13 14:21:43 +02:00
David Remer
03cfeaac7f Fix test: If activated_at is null the status has to be draft
[MAILPOET-4531]
2022-10-13 13:01:10 +03:00
David Remer
4931ab47cb Use already assigned $this->workflowStorage instead of using di container
[MAILPOET-4531]
2022-10-13 13:01:10 +03:00
David Remer
ea3a40863d Replace assert() with $this->assert*
[MAILPOET-4531]
2022-10-13 13:01:10 +03:00
David Remer
0679658d33 Rename WorkflowStorage::flush() to WorkflowStorage::truncate()
[MAILPOET-4531]
2022-10-13 13:01:10 +03:00
David Remer
dba4b266dd Add test for WorkflowPutEndpoint
[MAILPOET-4531]
2022-10-13 13:01:10 +03:00
David Remer
3bd71638f4 Add ToDo comment
[MAILPOET-4531]
2022-10-13 13:01:10 +03:00
David Remer
6e3e8c7326 Test not loggedin users can not get workflow templates
[MAILPOET-4531]
2022-10-13 13:01:10 +03:00
David Remer
44902eb33c Extend tests for WorkflowCreateFromTemplate enpdoint
[MAILPOET-4531]
2022-10-13 13:01:10 +03:00
David Remer
bbb130f3ea Add tests for WorkflowsGetEndpoint
[MAILPOET-4531]
2022-10-13 13:01:10 +03:00
David Remer
3aa0d0b910 Add flush method to WorkflowStorage
[MAILPOET-4531]
2022-10-13 13:01:10 +03:00
Jan Jakes
2e621e9339 Replace deprecated properties with their newer variant
[MAILPOET-4659]
2022-10-13 11:58:11 +02:00
Jan Jakes
c2a3feeb6d Reset step error when step is edited
[MAILPOET-4659]
2022-10-13 11:58:11 +02:00