Jan Jakes
ff6a98fae1
Replace deprecated array types with Doctrine's ArrayParameterType
...
[MAILPOET-6142]
2024-08-19 15:29:42 +02:00
Jan Lysý
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
Mike Jolley
435f638011
Apply rules on lib dir
2024-03-21 16:57:59 +01:00
John Oleksowicz
45dba06b7d
Remove old constant
...
MAILPOET-4985
2024-03-13 10:24:42 +01:00
John Oleksowicz
a9140a702e
Add backend logic for purchase with tag filter
...
MAILPOET-4985
2024-03-13 10:24:42 +01:00
John Oleksowicz
604de62af6
Add filter data mapper tests
...
MAILPOET-5467
2024-03-11 10:52:30 +01:00
John Oleksowicz
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
John Oleksowicz
24e38d6752
Add explanation of the getLookupData method
...
MAILPOET-5467
2024-03-11 10:52:30 +01:00
John Oleksowicz
6307cfdcff
Add filter data validation
...
MAILPOET-5467
2024-03-11 10:52:30 +01:00
John Oleksowicz
bfa3770d99
Add backend logic for purchase by attribute filter
...
MAILPOET-5467
2024-03-11 10:52:30 +01:00
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