ff6a98fae1
Replace deprecated array types with Doctrine's ArrayParameterType
...
[MAILPOET-6142]
2024-08-19 15:29:42 +02:00
26a98f1000
Update composer package doctrine/dbal
...
We cannot update to the latest version of the dbal 3 because there is a another package conflict.
[MAILPOET-6101]
2024-06-17 12:38:08 +02:00
435f638011
Apply rules on lib dir
2024-03-21 16:57:59 +01:00
45dba06b7d
Remove old constant
...
MAILPOET-4985
2024-03-13 10:24:42 +01:00
a9140a702e
Add backend logic for purchase with tag filter
...
MAILPOET-4985
2024-03-13 10:24:42 +01:00
604de62af6
Add filter data mapper tests
...
MAILPOET-5467
2024-03-11 10:52:30 +01:00
a4a2ef3b1f
Add support for local variation attributes
...
In WooCommerce it's possible to create attributes that are local to a
specific product. When these attributes are used to generate variations,
they are stored in the postmeta table.
MAILPOET-5467
2024-03-11 10:52:30 +01:00
24e38d6752
Add explanation of the getLookupData method
...
MAILPOET-5467
2024-03-11 10:52:30 +01:00
6307cfdcff
Add filter data validation
...
MAILPOET-5467
2024-03-11 10:52:30 +01:00
bfa3770d99
Add backend logic for purchase by attribute filter
...
MAILPOET-5467
2024-03-11 10:52:30 +01:00
dda7da465f
Update # of orders filter for orders with coupon
...
MAILPOET-5373
2024-01-14 18:40:17 +05:00
09a5a5cbbc
Map number of orders with coupon code
...
MAILPOET-5373
2024-01-14 18:40:17 +05:00
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
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
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
525c80bac4
Fix PHPStan warnings in lib
...
[MAILPOET-5751]
2023-12-13 11:48:14 +01:00
9985405d82
Add backend logic for number of clicks filter
...
MAILPOET-5577
2023-10-30 10:51:04 +01:00
c28eed2388
Backend logic for number of emails received
...
MAILPOET-5577
2023-10-30 10:51:04 +01:00
10f593bf2c
Backend logic for first order filter
...
MAILPOET-5577
2023-10-30 10:51:04 +01:00
43107ac823
Add note about filters to SubscriberTag
...
MAILPOET-5632
2023-10-13 11:21:42 +02:00
9b7296979e
Don't attempt to use WC functions if not enabled
...
MAILPOET-5625
2023-10-13 11:21:42 +02:00
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
97a53cb1aa
Add lookup data retrieval for used payment method
...
MAILPOET-5625
2023-10-13 11:21:42 +02:00
c4fc8649f4
Add lookup data retrieval for used coupon code
...
MAILPOET-5625
2023-10-13 11:21:42 +02:00
67cff8992e
Add lookup data retrieval for woo product
...
MAILPOET-5625
2023-10-13 11:21:42 +02:00
9d8fb08026
Add lookup data retrieval for woo category
...
MAILPOET-5625
2023-10-13 11:21:42 +02:00
54461d89ba
Add lookup data retrieval for wordpress user role
...
MAILPOET-5625
2023-10-13 11:21:42 +02:00
d1f77d3ee5
Add lookup data retrieval for subscribed to list
...
MAILPOET-5625
2023-10-13 11:21:42 +02:00
af9a6cbb67
Add lookup data retrieval for subscribed via form
...
MAILPOET-5625
2023-10-13 11:21:42 +02:00
40785d047e
Add lookup data retrieval for custom fields
...
MAILPOET-5625
2023-10-13 11:21:42 +02:00
6da760e754
Add lookup data filter to subscriber tag
...
MAILPOET-5625
2023-10-13 11:21:42 +02:00
beda4f8d89
Add lookup data retrieval for email filters
...
MAILPOET-5625
2023-10-13 11:21:42 +02:00
984aa81f86
Add lookup data retrieval for automation filters
...
MAILPOET-5625
2023-10-13 11:21:42 +02:00
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
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
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
7a6cc36718
Include timeframe in migration to avoid BC code
...
MAILPOET-5496
2023-08-17 13:49:08 +02:00
8d03db5dcc
Add lifetime option to payment/shipping filters
...
MAILPOET-5496
2023-08-17 13:49:08 +02:00
adc052fc55
Add coupon code filter to mapper/factory
...
MAILPOET-5007
2023-08-14 13:49:55 +02:00
a446a13354
Add backend logic for used coupon code filter
...
MAILPOET-5007
2023-08-14 13:49:55 +02:00
d7e283dea9
Handle empty strings as blank in custom fields
...
MAILPOET-4996
2023-08-07 12:03:49 +02:00
a7d260ac2e
Refactor strings to constants/enums
...
MAILPOET-4996
2023-08-07 12:03:49 +02:00
fe318f5a30
Add 'not contains' option for text custom fields
...
MAILPOET-4996
2023-08-07 12:03:49 +02:00
a1b51aecf0
Update backend logic to support (not)blank
...
MAILPOET-4996
2023-08-07 12:03:49 +02:00
ce9cbdc45d
Add backend logic for number of reviews filter
...
MAILPOET-5413
2023-08-07 11:06:27 +02:00
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
5eeee574b2
Extract strings to constants
...
MAILPOET-4991
2023-07-30 19:20:09 +02:00
feb0297fb9
Implement lifetime option for total spent
...
MAILPOET-4991
2023-07-30 19:20:09 +02:00
d04c84d6d4
Implement lifetime option for number of orders
...
MAILPOET-4991
2023-07-30 19:20:09 +02:00
64094387eb
Implement lifetime option for average spent filter
...
MAILPOET-4991
2023-07-30 19:20:09 +02:00