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
6b8fc3df83
Only load WC data when WC is active
...
MAILPOET-5467
2024-03-11 10:52:30 +01:00
John Oleksowicz
fe4621f503
Ensure selected terms appear in dropdown on load
...
MAILPOET-5467
2024-03-11 10:52:30 +01:00
John Oleksowicz
ac27dc1446
Add tracking for purchased with attribute filter
...
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
477557d22c
Use taxonomy slug instead of id
...
The lookup table, wc_product_attributes_lookup, that we'll use for the
queries, includes the slug but not the taxonomy id.
MAILPOET-5467
2024-03-11 10:52:30 +01:00
John Oleksowicz
2e8a757432
Make attribute term ids a multiselect
...
MAILPOET-5467
2024-03-11 10:52:30 +01:00
Rodrigo Primo
acc8dde47d
Add purchased with attribute
segment UI code
...
[MAILPOET-5467]
2024-03-11 10:52:30 +01:00
Jan Jakes
e90f984379
Fix enum filter validation
...
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
9327485441
Use "comment_date_gmt" for "in the last" condition
...
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
b5b21c9f7a
Add check for product post type when fetching customer review data
...
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
46a462ee23
Add test for an automation with if/else step and "in the last X days" filter
...
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
d7f4f1a137
Fix non-translatable strings
...
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
1d27d51753
Render "in the last X days" in parameter values
...
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
5439db1e5a
Unify parameter naming
...
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
1a0eb90402
Mark which fields support the "in the last" parameter for UI
...
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
5f7362282d
Add "in the last" parameter and schema to number and enum filters
...
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
7f63445f5a
Pass filter-provided parameters to field value factories
...
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
467f1f8c8c
Add ability for filters to provide field params
...
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
1e3d6347fc
Add validation for "in the last" parameter
...
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
4637349a60
Implement filter args validation
...
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
2303a7480c
Add filter type defintions, extract value formatting to each of them
...
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
d0889a436f
Add a way to manage filter types in automation editor store
...
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
7cb75e77c5
Add explicit casts for WordPressDotOrg.sniffs.DirectDB.UnescapedDBParameter
...
None of these are needed, but the sniff reports them as false positives, so this is a workaround.
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
d4fd0bec71
Check for empty array when getting parent term IDs
...
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
5b2d75dc1f
Add "in the last" parameter to "woocommerce:customer:purchased-tags" field
...
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
176b2dbd53
Add "in the last" parameter to "woocommerce:customer:purchased-categories" field
...
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
399e61d7b9
Add "in the last" parameter to "woocommerce:customer:review-count" field
...
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
d0d9c223b4
Simplify factory in integration tester
...
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
67786c1eee
Add "in the last" parameter to "mailpoet:subscriber:automations-exited" field
...
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
44b65d10be
Add "in the last" parameter to "mailpoet:subscriber:automations-processing" field
...
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
2ef7bf6fac
Add "in the last" parameter to "mailpoet:subscriber:automations-entered" field
...
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
f1b1ca882c
Add "in the last" filter for fetching automation IDs by subject
...
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
504510d724
Simplify fetching automation IDs by subject
...
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
f36b117987
Add "in the last" parameter to "mailpoet:subscriber:email-clicked-count" field
...
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
1c7ed9602f
Add "in the last" parameter to "mailpoet:subscriber:email-machine-opened-count" field
...
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
c87fc5ab7e
Add "in the last" parameter to "mailpoet:subscriber:email-opened-count" field
...
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
2421a1b8ea
Add "in the last" parameter to "mailpoet:subscriber:email-sent-count" field
...
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
3dbe1bd049
Add "in the last" parameter to "woocommerce:customer:spent-average" field
...
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
adff3b61a6
Add "in the last" parameter to "woocommerce:customer:order-count" field
...
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
d9be326aa7
Add "in the last" parameter to "woocommerce:customer:spent-total" field
...
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
John Oleksowicz
314b1f3c27
Change method for detecting empty product pages
...
The previous method was relying on the idea that product pages would not
trigger the `the_content` filter since they don't have to render the
content. Testing revealed that this idea was unreliable.
In one instance WordPress was triggering `the_content` when attempting
to filter the excerpt, even though the excerpt was empty.
This changes the detection method to a much more direct inspection of
the post's content.
MAILPOET-5859
2024-03-08 12:27:06 +01:00
John Oleksowicz
0ab2be782d
Show forms on empty product pages
...
The current logic for form rendering assumes that a single product page
will trigger the filter `the_content`. This is not always true. In cases
where the product has no description, WooCommerce does not render the
description tab at all, which is where that filter usually fires (in my
testing).
This change ensures that we still give these forms a chance to render on
such pages.
MAILPOET-5859
2024-03-08 12:27:06 +01:00
Jan Jakes
f6d8eb41b4
Sort automation filters alphabetically
...
[MAILPOET-5683]
2024-03-08 11:30:08 +01:00
Rostislav Wolny
fefc56d5de
Move component PremiumModalForStepEdit from common to automations
...
This was causing common components were dependent on the automation store
and was causing subsequent issues when the original modal was used in the email editor.
[MAILPOET-5932]
2024-03-07 17:04:19 +01:00
Veljko
f7fbe3fc8c
Try adding product to checkout directly
2024-03-07 11:13:03 +01:00
Veljko
f2db5c71d0
Add product to cart before test
2024-03-07 11:13:03 +01:00