Commit Graph

331 Commits

Author SHA1 Message Date
Jan Jakes
7dd1cd213b Cast args to expected types to catch type errors in the future
[MAILPOET-6000]
2024-04-08 12:55:54 +02:00
Jan Jakes
677c6f22ee Fix loading order in customer payload for guest users
We were passing order ID istead of the order itself for guest users.

[MAILPOET-6000]
2024-04-08 12:55:54 +02:00
Mike Jolley
435f638011 Apply rules on lib dir 2024-03-21 16:57:59 +01:00
Jan Jakes
7df37c88f6 Apply "in the last X" parameter to fields backfilled from orders for guests
[PREMIUM-253]
2024-03-18 13:36:08 +01:00
Jan Jakes
29083b1f0f Ensure expected field types in customer payload
[PREMIUM-253]
2024-03-18 13:36:08 +01:00
Jan Jakes
efb56c7469 Pass order ID to customer subject from order-related triggers
[PREMIUM-253]
2024-03-18 13:36:08 +01:00
Jan Jakes
e054d455d4 Pass order to customer payload when available
[PREMIUM-253]
2024-03-18 13:36:08 +01:00
Jan Jakes
516d719111 Fallback on order categories/tags in order fields
[MAILPOET-5378]
2024-03-18 13:36:08 +01:00
Jan Jakes
4b1027fcc7 Fallback on order date in first/last order date fields
[MAILPOET-5378]
2024-03-18 13:36:08 +01:00
Jan Jakes
bae1f44378 Use the new getters in field value factories
[MAILPOET-5378]
2024-03-18 13:36:08 +01:00
Jan Jakes
950747a15f Add getters for total spent, average spent, and order count with order fallback
[MAILPOET-5378]
2024-03-18 13:36:08 +01:00
Jan Jakes
b6c81f8ff6 Add getters for billing & shipping customer data with order fallback
[MAILPOET-5378]
2024-03-18 13:36:08 +01:00
Jan Jakes
adb5d16fab Allow optional WC_Order to customer payload for guest user data
[MAILPOET-5378]
2024-03-18 13:36:08 +01:00
Jan Jakes
8ba4335dfb Optimize and cache term loading
[MAILPOET-5942]
2024-03-18 11:53:16 +01:00
Jan Jakes
eaee987048 Implement cart total field
[MAILPOET-5934]
2024-03-14 11:09:12 +01:00
Jan Jakes
7560aa495e Unify quotes and apostrophes
[MAILPOET-5934]
2024-03-14 11:09:12 +01:00
Jan Jakes
4674c1443d Use order completed trigger instead of status change
[MAILPOET-5934]
2024-03-14 11:09:12 +01:00
Jan Jakes
261907e93b Add missing translation functions
[MAILPOET-5934]
2024-03-14 11:09:12 +01:00
Jan Jakes
ad1ffea2c0 Enable abandoned cart campaign template
[MAILPOET-5934]
2024-03-14 11:09:12 +01:00
Jan Jakes
9be4e730c0 Add win-back customers template
[MAILPOET-5934]
2024-03-14 11:09:12 +01:00
Jan Jakes
d816e97d31 Enable thank loyal customers template, improve naming
[MAILPOET-5934]
2024-03-14 11:09:12 +01:00
David Remer
1a753ca2af Order explicitly by name
[MAILPOET-5942]
2024-03-12 14:27:21 +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
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
467f1f8c8c Add ability for filters to provide field params
[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
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
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
Jan Jakes
a17fc5e963 Identify all triggers with "woocommerce:" key prefix as WooCommerce triggers
[MAILPOET-5725]
2024-02-14 14:36:22 +01:00
Jan Jakes
d5d20d5219 Send transactional emails with order created/completed/cancelled triggers
[MAILPOET-5725]
2024-02-14 14:36:22 +01:00
Jan Jakes
8b40553d0b Do not check subscriber against segment when sending transactional email
[MAILPOET-5720]
2024-02-14 14:36:22 +01:00
Jan Jakes
d6da2af55b Extract newsletter bulk delete logic to a controller
Repositories shouldn't inject other repositories. Also, this solves circular DI dependency.

[MAILPOET-5845]
2024-02-02 12:48:40 +01:00
Brezo Cordero
74a8a0aefc Modify context for Automations
[MAILPOET-5796]
2024-01-29 16:53:00 +01:00