Commit Graph

202 Commits

Author SHA1 Message Date
John Oleksowicz
40785d047e Add lookup data retrieval for custom fields
MAILPOET-5625
2023-10-13 11:21:42 +02:00
John Oleksowicz
6da760e754 Add lookup data filter to subscriber tag
MAILPOET-5625
2023-10-13 11:21:42 +02:00
John Oleksowicz
beda4f8d89 Add lookup data retrieval for email filters
MAILPOET-5625
2023-10-13 11:21:42 +02:00
John Oleksowicz
984aa81f86 Add lookup data retrieval for automation filters
MAILPOET-5625
2023-10-13 11:21:42 +02:00
John Oleksowicz
12362c0399 Update filter interface for lookup data
This method is intended to store the actual names of things that might
change or be deleted in the future, so we can include accurate
information when showing what the snapshot of the filter was at the time
.

MAILPOET-5625
2023-10-13 11:21:42 +02:00
John Oleksowicz
673a1ab0fd Ensure correct parameter types
It's not enough to just merge the parameters. Without merging types as
well, array parameters aren't handled correctly.

MAILPOET-5510
2023-10-04 12:59:38 +02:00
John Oleksowicz
6b2b35b541 Add ability to get count filtered by segment
MAILPOET-5510
2023-10-04 12:59:38 +02:00
Rodrigo Primo
00b33c2825 Change the length of the random string appended to segments
This commit changes the length of the random string appended to segments
created from a template when a segment with the same name already
exists. Before the length was 12 and now it is 5. We don't need a very
long random string in this case, and the shorter the string the less
ugly it is.

[MAILPOET-5394]
2023-09-18 14:43:49 +02:00
Rodrigo Primo
f806b3362c Add a random string when creating a segment if the name already exists
This ensures that it is possible to create multiple segments from the
same template.

[MAILPOET-5394]
2023-09-18 14:43:49 +02:00
David Remer
25bf3f60e3 Add primary keys to tmp_wc_ids and tmp_wc_emails temporary tables
[MAILPOET-4401]
2023-09-04 14:22:16 +02:00
John Oleksowicz
e407c40ecd Fix indentation
MAILPOET-5509
2023-08-31 14:16:10 +02:00
John Oleksowicz
a9bd65190c Clearer naming for verification method
MAILPOET-5509
2023-08-31 14:16:10 +02:00
John Oleksowicz
fe44df1884 Prevent invalid states due to filter segment
MAILPOET-5509
2023-08-31 14:16:10 +02:00
John Oleksowicz
f52b1343f8 Implement subscriber filtering in scheduled tasks
If a filterSegmentId is provided, ensure only subscribers who belong to
that segment get included in the scheduled task.

MAILPOET-5509
2023-08-31 14:16:10 +02:00
John Oleksowicz
2a97189d97 Add ability for SubscribersFinder to filter by dynamic segment
MAILPOET-5509
2023-08-31 14:16:10 +02:00
John Oleksowicz
7a6cc36718 Include timeframe in migration to avoid BC code
MAILPOET-5496
2023-08-17 13:49:08 +02:00
John Oleksowicz
8d03db5dcc Add lifetime option to payment/shipping filters
MAILPOET-5496
2023-08-17 13:49:08 +02:00
John Oleksowicz
adc052fc55 Add coupon code filter to mapper/factory
MAILPOET-5007
2023-08-14 13:49:55 +02:00
John Oleksowicz
a446a13354 Add backend logic for used coupon code filter
MAILPOET-5007
2023-08-14 13:49:55 +02:00
John Oleksowicz
d7e283dea9 Handle empty strings as blank in custom fields
MAILPOET-4996
2023-08-07 12:03:49 +02:00
John Oleksowicz
a7d260ac2e Refactor strings to constants/enums
MAILPOET-4996
2023-08-07 12:03:49 +02:00
John Oleksowicz
fe318f5a30 Add 'not contains' option for text custom fields
MAILPOET-4996
2023-08-07 12:03:49 +02:00
John Oleksowicz
a1b51aecf0 Update backend logic to support (not)blank
MAILPOET-4996
2023-08-07 12:03:49 +02:00
John Oleksowicz
ce9cbdc45d Add backend logic for number of reviews filter
MAILPOET-5413
2023-08-07 11:06:27 +02:00
John Oleksowicz
27e346eed0 Fetch action directly from filter data
This fixes an issue where pre-existing subscribedDate filters were
causing errors because they didn't have an `action` stored in their
serialized data.

It was never necessary to store the action redundantly in the serialized
 filter data in the first place, so we're now fetching the action
 directly from the filter data entity itself.

MAILPOET-5500
2023-08-02 22:46:18 +02:00
John Oleksowicz
5eeee574b2 Extract strings to constants
MAILPOET-4991
2023-07-30 19:20:09 +02:00
John Oleksowicz
feb0297fb9 Implement lifetime option for total spent
MAILPOET-4991
2023-07-30 19:20:09 +02:00
John Oleksowicz
d04c84d6d4 Implement lifetime option for number of orders
MAILPOET-4991
2023-07-30 19:20:09 +02:00
John Oleksowicz
64094387eb Implement lifetime option for average spent filter
MAILPOET-4991
2023-07-30 19:20:09 +02:00
John Oleksowicz
14a2603ac3 Implement lifetime option for email opens
MAILPOET-4991
2023-07-30 19:20:09 +02:00
John Oleksowicz
25a4515ebb Default days to 0 for allTime timeframe
MAILPOET-4991
2023-07-30 19:20:09 +02:00
John Oleksowicz
0e6c885ad1 Ensure filter mapper always includes timeframe
MAILPOET-4991
2023-07-30 19:20:09 +02:00
John Oleksowicz
941675bdde Remove unused variable
MAILPOET-4989
2023-07-26 10:53:55 +02:00
John Oleksowicz
fea8db19bc Remove nullability for constructor params
MAILPOET-4989
2023-07-26 10:53:55 +02:00
John Oleksowicz
4d5b4885fe Revert valid operator methods back to instance methods
MAILPOET-4989
2023-07-26 10:53:55 +02:00
John Oleksowicz
8de46db560 Add note about the different naming format
The subscribedDate filter used to be completely separate and it's now
been consolidated into SubscriberDateField. Since existing filters exist
 in the wild that have the subscribedDate type, we're not able to
 update the value to be consistent with the other types.

MAILPOET-4989
2023-07-26 10:53:55 +02:00
John Oleksowicz
edbb40ee42 Add last sending date filter
MAILPOET-4989
2023-07-26 10:53:55 +02:00
John Oleksowicz
3ded9be927 Refactor subscribedDate filter to use SubscriberDateField
MAILPOET-4989
2023-07-26 10:53:55 +02:00
John Oleksowicz
f27f469b17 Add backend logic for subscriber date filters
MAILPOET-4989
2023-07-26 10:53:55 +02:00
John Oleksowicz
7db7e78c71 Add backend logic for onOr(Before|After) filters
MAILPOET-5012
2023-07-19 16:06:19 +02:00
Rodrigo Primo
9a218a706b Refactor single order value and total spent to use DaysPeriodField
This commit refactors the React components SingleOrderValueFields and
TotalSpentFields to use the new DaysPeriodField component instead of
its own code to generate the days period selector.

[MAILPOET-4991]
2023-07-19 15:24:46 +02:00
Rodrigo Primo
8a2c435b9c Refactor average spent and # of orders to use DaysPeriodField
This commit refactors the React components AverageSpentFields and
NumberOfOrdersFields to use the new DaysPeriodField component instead of
a its own code to generate the days period selector.

[MAILPOET-4991]
2023-07-19 15:24:46 +02:00
John Oleksowicz
251dcdc6fb Add filters for automations events
MAILPOET-5003
2023-07-12 11:10:18 +02:00
Rodrigo Primo
841745c706 Remove shipping method IDs from the 'used shipping method' query
This commit simplifies the logic of the 'used shipping method' segment
by removing the shipping method IDs from the queries. After some
considering, we have come to the conclusion that using just the shipping
method instance ID is enough.

[MAILPOET-4992]
2023-07-04 22:23:06 +02:00
Rodrigo Primo
f20878f7f3 Update the queries of the 'used shipping method' filter
This commit changes the logic of the code that builds the queries for
the 'used shipping method' filter. The initial implementation relied
only on the shipping method name that is stored in
wp_woocommerce_order_items.  This implementation did not work as the
name is not unique. The new implementation use the shipping method id
and the instance id that are stored in wp_woocommerce_order_itemmeta and
the combination of both fields is unique.

[MAILPOET-4992]
2023-07-04 22:23:06 +02:00
Rodrigo Primo
993e292fd0 Fix typo
[MAILPOET-4992]
2023-07-04 22:23:06 +02:00
Rodrigo Primo
5447e253e5 Add backend logic to handle new "used shipping method" segment
[MAILPOET-4992]
2023-07-04 22:23:06 +02:00
John Oleksowicz
2a012f5fc8 Add braces to if statements
MAILPOET-4990
2023-06-28 15:14:03 +02:00
John Oleksowicz
2db454bc49 Fix exception codes
MAILPOET-4990
2023-06-28 15:14:03 +02:00
John Oleksowicz
61bb3a65d7 Add backend logic for customer text field filters
MAILPOET-4990
2023-06-28 15:14:03 +02:00