Commit Graph

111 Commits

Author SHA1 Message Date
2e13570dd7 Correctly complete automation run when there is an empty branch in if/else
[MAILPOET-6154]
2024-07-29 15:03:47 +02:00
f71993dde9 Cancel scheduled progress runs when executed manually
[MAILPOET-4977]
2024-05-06 12:39:00 +02:00
fa6b380266 Add controller with ability to execute automation step progress manually
[MAILPOET-4977]
2024-05-06 12:39:00 +02:00
7eb17c9e09 Ensure automation progress runs log data also at their start
[MAILPOET-4977]
2024-05-06 12:39:00 +02:00
7f63445f5a Pass filter-provided parameters to field value factories
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
f71935f137 Add translator comments to automation steps and subjects
[MAILPOET-5729]
2023-11-24 08:10:35 +02:00
221e496714 Add comment
[PREMIUM-248]
2023-10-30 21:22:23 +01:00
dd103b81d7 Catch exceptions when trying to match filters in trigger handler
[PREMIUM-248]
2023-10-30 21:22:23 +01:00
53f3a5d001 Allow to return null in SubjectTransformer::transform()
Sometimes a transformer can't return a subject. In this case transform() will return null
instead of throwing an exception. This means an automation can run until it comes to a
step where the subject would be needed. There it would fail.

[PREMIUM-248]
2023-10-30 21:22:23 +01:00
f55c4f7755 Make next step ID nullable (ability to save multiple edges without next steps)
[MAILPOET-5586]
2023-10-23 17:09:16 +02:00
32e5d4f8ac Add check that next step was scheduled when multiple next steps are possible
[MAILPOET-5586]
2023-10-23 17:09:16 +02:00
72ce5fb569 Add a possibility to schedule next step by index
[MAILPOET-5586]
2023-10-23 17:09:16 +02:00
a464df2831 Ensure WP_DEBUG is cast to a boolean value
[MAILPOET-5608]
2023-09-26 13:26:22 +02:00
2ea9a69a40 Make method public
[MAILPOET-5516]
2023-09-25 07:11:43 -07:00
944b440bdf Rethrow integration log exceptions in debug mode
[MAILPOET-5568]
2023-09-20 02:36:40 -07:00
864cc2b01d Add run number to logs
[MAILPOET-5568]
2023-09-20 02:36:40 -07:00
ef97e4d05a Add logging for automation triggers
[MAILPOET-5568]
2023-09-20 02:36:40 -07:00
a13dc71cd0 Log step key data
[MAILPOET-5568]
2023-09-20 02:36:40 -07:00
370f4ee3ae Add step type, step key, and updated timestamp to run logs
[MAILPOET-5568]
2023-09-20 02:36:40 -07:00
dd881d8b33 Extract logging logic to a service, make logs mutable
[MAILPOET-5568]
2023-09-20 02:36:40 -07:00
43c396220b Move all of step handler args checks to top-level handler, improve readability
[MAILPOET-5568]
2023-09-20 02:36:40 -07:00
9cd871c32e Remove unused step runner interface
[MAILPOET-5568]
2023-09-20 02:36:40 -07:00
e5550ffead Add the possibility to schedule another run of the same step (progress)
[MAILPOET-5569]
2023-09-20 02:36:40 -07:00
eeb4d64e8b Pass step run controller to automation actions
[MAILPOET-5569]
2023-09-20 02:36:40 -07:00
9d4f55b399 Add step run controller to allow actions control their flow
[MAILPOET-5569]
2023-09-20 02:36:40 -07:00
5f088d2c35 Add step run number to step run args
[MAILPOET-5569]
2023-09-20 02:36:40 -07:00
e3da509f70 Move automation completion to step scheduler
[MAILPOET-5569]
2023-09-20 02:36:40 -07:00
b7ef250511 Refactor next step scheduling to a StepScheduler service
[MAILPOET-5569]
2023-09-20 02:36:40 -07:00
d04baaee4f Sort subject keys that are used to render field groups
[MAILPOET-5169]
2023-06-19 11:06:23 +02:00
8d5e9bd951 Get all subjectEntries into the StepArgs, not just the required ones
[MAILPOET-4934]
2023-05-15 08:19:19 +02:00
b45e105cb4 Evaluate global filter operator
[MAILPOET-5218]
2023-05-04 14:34:11 +02:00
c40cb47928 Evaluate filter group operators (and/or)
[MAILPOET-5218]
2023-05-04 14:34:11 +02:00
34ca96d007 Introduce filters data type and filter groups to enable saving and/or filter combinations
[MAILPOET-5257]
2023-04-24 10:42:28 +02:00
abe44ca9f8 Implement filter handler to apply filters on field values during automation run
[MAILPOET-4946]
2023-04-20 16:32:32 +02:00
7f9faf1d99 Use automation WP helpers
[MAILPOET-4946]
2023-04-20 16:32:32 +02:00
ae828b9ac4 Do not load all possible subjects eagerly
With subject transformers the amount of possible subjects will grow,
and preloading even those that won't be used may result in performance
issues, and unnecessary errors (e.g., caused by 3rd party transformers).

[MAILPOET-4946]
2023-04-20 16:32:32 +02:00
54f5addca9 Extract subject loading before automation processing loop
[MAILPOET-4946]
2023-04-20 16:32:32 +02:00
70dbfc28b7 Early return when no active automation matches given trigger
[MAILPOET-4946]
2023-04-20 16:32:32 +02:00
328b5b1475 Remove private getSubjectKeysForSingleKey method
[MAILPOET-4935]
2023-03-30 12:21:25 +02:00
e2777aebc3 Use plural for array of subject transformers
[MAILPOET-4935]
2023-03-30 12:21:25 +02:00
19b5abc171 Use array_keys $all to get the keys
[MAILPOET-4935]
2023-03-30 12:21:25 +02:00
d6760cb113 Use array
[MAILPOET-4935]
2023-03-30 12:21:25 +02:00
8cf48d2707 Simplify SubjectTransformer
[MAILPOET-4935]
2023-03-30 12:21:25 +02:00
68f09b6bd1 Prevent infinite loop when a subject from the trigger is missing
Given the trigger provides two subjects but only one subject was given via parameter and no
transformer was able to generate the second from the first, this method runs into an
infinite loop. This commit prevents this infinite loop.

[MAILPOET-4935]
2023-03-30 12:21:25 +02:00
b5a846327a Remove SubjectTransformerHandler from StepHandler
All subjects are created and persisted during AutomationRun creation. Therefore, the required
subject must exist when searching for it in the StepHandler. This commit reverses the last
changes and updates the test.

[MAILPOET-4935]
2023-03-30 12:21:25 +02:00
d365be2334 Persist all possible subject on run creation
[MAILPOET-4935]
2023-03-30 12:21:25 +02:00
c968b03ca7 Provide all possible subjects for a trigger to the UI
[MAILPOET-4935]
2023-03-30 12:21:25 +02:00
5328213d85 Introduce subject transformation
[MAILPOET-4935]
2023-03-30 12:21:25 +02:00
48e2c5f945 Add filter to decide whether an automation run should be created
[MAILPOET-4966]
2023-03-01 16:14:38 +01:00
b25f2cd5f4 Enable a Trigger to activate a second automation
[MAILPOET-4842]
2022-11-28 13:03:06 +01:00