Commit Graph

358 Commits

Author SHA1 Message Date
Jan Jakes
d04baaee4f Sort subject keys that are used to render field groups
[MAILPOET-5169]
2023-06-19 11:06:23 +02:00
Jan Jakes
9375d8cab7 Add coupon field
[MAILPOET-5169]
2023-06-19 11:06:23 +02:00
Jan Jakes
4a4eb45267 Add customer product categories and tags fields
[MAILPOET-5168]
2023-06-12 12:13:41 +02:00
Jan Jakes
916aea1e8d Add customer review fields
[MAILPOET-5168]
2023-06-12 12:13:41 +02:00
Jan Jakes
cc352e6e2d Add WordPress integration
[MAILPOET-5168]
2023-06-12 12:13:41 +02:00
Jan Jakes
262a8b9540 Manage WP_Locale in WordPress wrapper
[MAILPOET-5036]
2023-05-17 12:36:05 +02:00
Jan Jakes
8dc3f109dd Fix and simplify fetching automations with status filter
[MAILPOET-5172]
2023-05-17 12:36:05 +02:00
Jan Jakes
7444131021 Add subscriber automation fields
[MAILPOET-5172]
2023-05-17 12:36:05 +02:00
David Remer
8d5e9bd951 Get all subjectEntries into the StepArgs, not just the required ones
[MAILPOET-4934]
2023-05-15 08:19:19 +02:00
David Remer
9b6ea25d6f Add method to get all triggers
[MAILPOET-4934]
2023-05-15 08:19:19 +02:00
David Remer
38ad5b75b6 Query Automations by trigger key
[MAILPOET-4934]
2023-05-15 08:19:19 +02:00
David Remer
11d2dd7c24 Make subjectData available
[MAILPOET-4934]
2023-05-15 08:19:19 +02:00
Jan Jakes
2a38e639db Implement datetime filter
[MAILPOET-5000]
2023-05-08 13:58:31 +02:00
Jan Jakes
b45e105cb4 Evaluate global filter operator
[MAILPOET-5218]
2023-05-04 14:34:11 +02:00
Jan Jakes
c40cb47928 Evaluate filter group operators (and/or)
[MAILPOET-5218]
2023-05-04 14:34:11 +02:00
Jan Jakes
ee0c3f4bbf Add one field for each new filter type (number, integer, boolean, string)
[MAILPOET-4624]
[MAILPOET-5001]
[MAILPOET-5187]
2023-05-01 12:42:35 +02:00
David Remer
b91d96deab Fix doctype to reflect the array key can be an integer
[MAILPOET-5267]
2023-04-26 09:56:08 +02:00
David Remer
6a6d158785 Cast steps array key to string
[MAILPOET-5267]
2023-04-26 09:56:08 +02:00
Jan Jakes
f75620a7c1 Add IDs for filter groups and filter definitions
[MAILPOET-5257]
2023-04-24 10:42:28 +02:00
Jan Jakes
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
Jan Jakes
f6a59647d5 Implement filter args validation
[MAILPOET-4946]
2023-04-20 16:32:32 +02:00
Jan Jakes
0157feb508 Remove no longer used exception
[MAILPOET-4946]
2023-04-20 16:32:32 +02:00
Jan Jakes
abe44ca9f8 Implement filter handler to apply filters on field values during automation run
[MAILPOET-4946]
2023-04-20 16:32:32 +02:00
Jan Jakes
9d99872ef7 Implement field value loading logic
[MAILPOET-4946]
2023-04-20 16:32:32 +02:00
Jan Jakes
7d6cfd911e Pass subject payload to field factories
[MAILPOET-4946]
2023-04-20 16:32:32 +02:00
Jan Jakes
7f9faf1d99 Use automation WP helpers
[MAILPOET-4946]
2023-04-20 16:32:32 +02:00
Jan Jakes
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
Jan Jakes
54f5addca9 Extract subject loading before automation processing loop
[MAILPOET-4946]
2023-04-20 16:32:32 +02:00
Jan Jakes
70dbfc28b7 Early return when no active automation matches given trigger
[MAILPOET-4946]
2023-04-20 16:32:32 +02:00
Jan Jakes
4ff9306826 Add filter management into automation registry
[MAILPOET-4946]
2023-04-20 16:32:32 +02:00
Jan Jakes
56b551dc16 Implement enum array filter
[MAILPOET-4946]
[MAILPOET-5002]
2023-04-20 16:32:32 +02:00
Jan Jakes
52be5ca3f9 Add interface for filter definition
[MAILPOET-4946]
2023-04-20 16:32:32 +02:00
Jan Jakes
eaa1a4aa69 Save automation filters to the database
[MAILPOET-4946]
2023-04-20 16:32:32 +02:00
Jan Jakes
014db1e695 Add step filters schema
[MAILPOET-4946]
2023-04-20 16:32:32 +02:00
Jan Jakes
0bf9e75dd0 Automatically register fields exposed from subjects
[MAILPOET-4946]
2023-04-20 16:32:32 +02:00
Jan Jakes
209ede594e Add fields management to automation registry
[MAILPOET-4946]
2023-04-20 16:32:32 +02:00
Jan Jakes
97e40955ab Add fields to subject interface
[MAILPOET-4946]
2023-04-20 16:32:32 +02:00
David Remer
b303111d3d Add Automation to AUTOMATION_STEP_BEFORE_SAVE action
[MAILPOET-4999]
2023-04-17 13:59:39 +02:00
David Remer
9738bd3ecd Introduce general step error
[MAILPOET-4935]
2023-03-30 12:21:25 +02:00
David Remer
328b5b1475 Remove private getSubjectKeysForSingleKey method
[MAILPOET-4935]
2023-03-30 12:21:25 +02:00
David Remer
e2777aebc3 Use plural for array of subject transformers
[MAILPOET-4935]
2023-03-30 12:21:25 +02:00
David Remer
19b5abc171 Use array_keys $all to get the keys
[MAILPOET-4935]
2023-03-30 12:21:25 +02:00
David Remer
d6760cb113 Use array
[MAILPOET-4935]
2023-03-30 12:21:25 +02:00
David Remer
8cf48d2707 Simplify SubjectTransformer
[MAILPOET-4935]
2023-03-30 12:21:25 +02:00
David Remer
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
David Remer
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
David Remer
d365be2334 Persist all possible subject on run creation
[MAILPOET-4935]
2023-03-30 12:21:25 +02:00
David Remer
c968b03ca7 Provide all possible subjects for a trigger to the UI
[MAILPOET-4935]
2023-03-30 12:21:25 +02:00
David Remer
5328213d85 Introduce subject transformation
[MAILPOET-4935]
2023-03-30 12:21:25 +02:00
David Remer
fa73c3bc26 Order subjects by automation_run_id and id
[MAILPOET-4966]
2023-03-01 16:14:38 +01:00