John Oleksowicz
dda7da465f
Update # of orders filter for orders with coupon
...
MAILPOET-5373
2024-01-14 18:40:17 +05:00
John Oleksowicz
09a5a5cbbc
Map number of orders with coupon code
...
MAILPOET-5373
2024-01-14 18:40:17 +05:00
John Oleksowicz
d477b01111
Fix ALL query
...
The previous implementation relied on INTERSECT, which isn't available
in MySQL
MAILPOET-5264
2023-12-18 12:02:48 +01:00
John Oleksowicz
08f2540bf9
Fix logic for ALL operator
...
Determining the proper conditions for product categories when we are
looking for a customer who purchased all of the provided category IDs is
tricky because we need to account for the hierarchical nature of these
categories. In order to avoid more complex logic, I decided to apply
the ANY logic for each individual category ID and then return the
intersection of those queries.
MAILPOET-5264
2023-12-18 12:02:48 +01:00
John Oleksowicz
88263067b7
Fix woo category filter
...
The previous implementation was based on the number of order IDs, which
was not reliable.
MAILPOET-5264
2023-12-18 12:02:48 +01:00
Jan Lysý
525c80bac4
Fix PHPStan warnings in lib
...
[MAILPOET-5751]
2023-12-13 11:48:14 +01:00
John Oleksowicz
9985405d82
Add backend logic for number of clicks filter
...
MAILPOET-5577
2023-10-30 10:51:04 +01:00
John Oleksowicz
c28eed2388
Backend logic for number of emails received
...
MAILPOET-5577
2023-10-30 10:51:04 +01:00
John Oleksowicz
10f593bf2c
Backend logic for first order filter
...
MAILPOET-5577
2023-10-30 10:51:04 +01:00
John Oleksowicz
43107ac823
Add note about filters to SubscriberTag
...
MAILPOET-5632
2023-10-13 11:21:42 +02:00
John Oleksowicz
9b7296979e
Don't attempt to use WC functions if not enabled
...
MAILPOET-5625
2023-10-13 11:21:42 +02:00
John Oleksowicz
b1dd110bf8
Add lookup data retrieval for used shipping method
...
For ease of lookup, I changed the helper to return an array with keys
corresponding to the instanceId of the shipping methods. I couldn't see
anywhere else in the codebase where the keys would have mattered.
MAILPOET-5625
2023-10-13 11:21:42 +02:00
John Oleksowicz
97a53cb1aa
Add lookup data retrieval for used payment method
...
MAILPOET-5625
2023-10-13 11:21:42 +02:00
John Oleksowicz
c4fc8649f4
Add lookup data retrieval for used coupon code
...
MAILPOET-5625
2023-10-13 11:21:42 +02:00
John Oleksowicz
67cff8992e
Add lookup data retrieval for woo product
...
MAILPOET-5625
2023-10-13 11:21:42 +02:00
John Oleksowicz
9d8fb08026
Add lookup data retrieval for woo category
...
MAILPOET-5625
2023-10-13 11:21:42 +02:00
John Oleksowicz
54461d89ba
Add lookup data retrieval for wordpress user role
...
MAILPOET-5625
2023-10-13 11:21:42 +02:00
John Oleksowicz
d1f77d3ee5
Add lookup data retrieval for subscribed to list
...
MAILPOET-5625
2023-10-13 11:21:42 +02:00
John Oleksowicz
af9a6cbb67
Add lookup data retrieval for subscribed via form
...
MAILPOET-5625
2023-10-13 11:21:42 +02:00
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
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
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