Commit Graph

104 Commits

Author SHA1 Message Date
David Remer
30eafb9146 Extract purchase states to helper method
[MAILPOET-5485]
2023-09-11 12:14:33 +02:00
David Remer
6dd0c844ca Take also list specific status into account when counting subscribers
[MAILPOET-4487]
2023-08-18 13:35:13 +02:00
Jan Jakes
6414cc832c Include parent category IDs in order category field
[MAILPOET-5377]
2023-08-14 16:41:29 +02:00
alex-mpoet
a5a7966663 Fix filterData reference in DynamicSegmentFilterData
[MAILPOET-5505]
2023-08-07 10:21:33 -05:00
John Oleksowicz
fe318f5a30 Add 'not contains' option for text custom fields
MAILPOET-4996
2023-08-07 12:03:49 +02:00
David Remer
640fb61861 Use versions loader when an automation with a specific version is queried
[MAILPOET-5433]
2023-07-14 21:50:59 +02:00
David Remer
5aaa7b2361 Query list of Automation with different versions
[MAILPOET-5433]
2023-07-14 21:50:59 +02:00
David Remer
10f4d6c3c3 Query all versions of an Automation with create date
[MAILPOET-5433]
2023-07-14 21:50:59 +02:00
Jan Jakes
a99e58e197 Fix missing baseline definition for PHPStan with PHP 8.1 2023-06-20 09:29:32 +02:00
Jan Jakes
dd037c349c Use strings for template categories
[MAILPOET-5372]
2023-06-19 13:29:25 +02:00
Jan Jakes
30a3bde940 Unify add menu/submenu parameters with WP
[MAILPOET-5383]
2023-06-16 17:14:34 +02:00
David Remer
ed5e644834 Simplify fetching Automation
[MAILPOET-5088]
2023-06-15 12:25:12 +02:00
Jan Jakes
4a4eb45267 Add customer product categories and tags fields
[MAILPOET-5168]
2023-06-12 12:13:41 +02:00
Jan Jakes
916aea1e8d Add customer review fields
[MAILPOET-5168]
2023-06-12 12:13:41 +02:00
Jan Jakes
d259f5948c Add customer order fields
[MAILPOET-5168]
2023-06-12 12:13:41 +02:00
alex-mailpoet
9fc2c0eeb3 Update phpstan ignore files
[MAILPOET-5180]
2023-05-22 14:13:05 +02:00
Rodrigo Primo
00d021109c Move ModelValidator::validateNonRoleEmail() to a new Validator class
We want to remove/refactor the whole ModelValidator class as part of the
Doctrine refactor.

This commit moves the method ModelValidator::validateNonRoleEmail() to a
new Validator class as the method is not used by the validator system of
the Paris models. ModelValidator::validateEmail() was also moved as it
is called by ModelValidator::validateNonRoleEmail().

[MAILPOET-4343]
2023-05-17 12:37:22 +02:00
Jan Jakes
7444131021 Add subscriber automation fields
[MAILPOET-5172]
2023-05-17 12:36:05 +02:00
Brezo Cordero
00e5dea5b4 Opt out AutomateWoo customer
This commit adds an action to opt out AutomateWoo customer When MailPoet Subscriber global status changes to unsubscribed.

[MAILPOET-4230]
2023-05-15 12:04:24 +02:00
Rodrigo Primo
854e8a7f07 Remove models that were deprecated over six months ago
The removal date of all these models passed a couple of months ago.

[MAILPOET-5252]
2023-04-28 17:23:03 +01:00
Jan Jakes
0bf7e5e77f Add a fix for PHPStan issue causing polyfills not being loaded
We can remove this fix when the issue is resolved:
https://github.com/phpstan/phpstan/issues/7732

[MAILPOET-4946]
2023-04-20 16:32:32 +02:00
Rodrigo Primo
769a11048e Remove PHPStan ignored error as it is not happening anymore
[MAILPOET-5232]
2023-04-17 14:33:51 -03:00
John Oleksowicz
d505bffcfd Refactor to use shared date functionality
MAILPOET-4986
2023-04-03 10:20:02 +02:00
David Remer
fcf6e738c7 Interrupt automation run creation if a run already exists and only_once setting is set
[MAILPOET-4966]
2023-03-01 16:14:38 +01:00
David Remer
c4faa53386 Store run subjects in extra table
[MAILPOET-4966]
2023-03-01 16:14:38 +01:00
Rodrigo Primo
26bdf7e20c Fix PHPStan errors in the data factories classes
[MAILPOET-4037]
2023-02-23 14:13:17 +01:00
Rodrigo Primo
a9a3c53245 Fix PHPStan errors in the acceptance tests
[MAILPOET-4037]
2023-02-23 14:13:17 +01:00
Rodrigo Primo
678911a8bc Fix PHPStan baseline errors in a few integration test files
[MAILPOET-4037]
2023-02-23 14:13:17 +01:00
Rodrigo Primo
2bcd1ace70 Fix PHPStan errors in tests/integration/Segments/DynamicSegments/
[MAILPOET-4037]
2023-02-23 14:13:17 +01:00
Rodrigo Primo
6374ce9ad3 Remove unused parameter from getSubscribersCount() to fix a PHPStan error
[MAILPOET-4037]
2023-02-23 14:13:17 +01:00
Rodrigo Primo
775ab32037 Fix PHPStan baseline errors in a few test files
[MAILPOET-4037]
2023-02-23 14:13:17 +01:00
Rostislav Wolny
04307ca2a6 Compute change of global subscribed subscribers
[MAILPOET-4828]
2023-02-22 13:54:31 +01:00
Rodrigo Primo
f324abd1d0 Update woocommerce-stubs to version 7.3.0
[MAILPOET-4313]
2023-02-01 08:57:47 +02:00
Rodrigo Primo
1161e6f3f6 Add MailPoet task to WooCommerce homepage
[MAILPOET-4814]
2023-01-30 15:01:42 +01:00
Rostislav Wolny
03d7306611 Add check from automation flows with welcome emails
This commit improves the check that a user has set a welcome email campaign (a task in product discovery task list)
by checking also for automation flows that are triggered by new subscriber or user and contain
send email action.
[MAILPOET-4827]
2023-01-23 16:48:52 +01:00
Brezo Cordero
49b2f5528f Remove Migration class
Remove from container, test factory and PHPStan baselines.

[MAILPOET-4478]
2023-01-23 15:35:50 +01:00
Pavel Dohnal
e3ba525195 Unify inheritance with other processors
[MAILPOET-4735]
2022-12-21 10:07:35 +01:00
Jan Jakes
926620e8f8 Ignore strict types rule in all existing files that don't have it
[MAILPOET-2688]
2022-11-29 15:04:09 +01:00
Jan Jakes
c67c58709b Unify spacing of declare statements
[MAILPOET-2688]
2022-11-29 15:04:09 +01:00
David Remer
6ddfe2c605 Remove ignores no longer needed
[MAILPOET-4258]
2022-11-25 14:32:34 +01:00
David Remer
4832771185 Refactor the captcha system
The current Captcha class has a lot of responsibilities. It renders the captcha
image, can check if a certain captcha type is a Google captcha, if a captcha is
required for a certain email. The SubscriberSubscribeController is not only in
charge of "controlling" the subscription process but also validates, whether a
captcha is correct or not. This architecture made it difficult to extend the
functionality and introduce the audio captcha feature.

Therefore this commit refactors the captcha architecture and tries to seperate
the different concerns into several classes and objects. Validation is now done
by validators.

The CaptchaPhrase now is in charge of keeping the captcha phrase consistent
between the image and the new audio, so that you can renew the captcha and both
captchas are in sync.

[MAILPOET-4514]
2022-11-24 09:20:39 +01:00
Jan Jakes
9d55d3f134 Use "automation" instead of "workflow"
[MAILPOET-4793]
2022-11-14 12:14:35 +02:00
Jan Jakes
c6d3573652 Save next step ID to workflow runs
[MAILPOET-4787]
2022-11-08 22:55:57 +02:00
Jan Jakes
467f354eb1 Do not skip workflow trigger queries when trigger keys are empty
[MAILPOET-4778]
2022-11-08 16:17:34 +02:00
Jan Jakes
679f74e498 Unify query error checking
[MAILPOET-4778]
2022-11-08 16:17:34 +02:00
Jan Jakes
cc5959805b Use "workflow_triggers" table instead of an inline JSON
[MAILPOET-4778]
2022-11-08 16:17:34 +02:00
Jan Jakes
9730fb9272 Move the old dbDelta-based migrator to a migration
This will ensure it runs once and from there, it will continue using the new migrations.

[MAILPOET-4466]
2022-11-07 10:05:42 +01:00
Jan Jakes
dd10389c55 Implement WP CLI command to show migrations info
[MAILPOET-4466]
2022-11-07 10:05:42 +01:00
Rodrigo Primo
ea16472ab1 Use Codeception\TestInterface::getName() instead of Codeception\TestInterface::getMetadata()
This commit changes the code to use $event->getTest()->getName() instead
of $event->getTest()->getMetadata()->getName() to get the name of the
current test. This was necessary because the latter was returning null
for integration tests while the former works both for acceptance and
integration tests. I did not investigate why Codeception behaves this
way due to lack of time, there is a chance that this is a bug in
Codeception.

Since $event->getTest() returns an instance of TestInterface and this
class does not define getName() (but the call works probably due to some
magic method), it was necessary to edit phpstan.neon to skip a PHPStan
error.

[MAILPOET-4765]
2022-11-04 12:43:48 +01:00
Rostislav Wolny
a6431678ed Remove backward compatibility for Woo Blocks ExtendRestApi
The new ExtendSchema was introduced in WCBlocks 7.2 which are way older
then we currently want to support.
[MAILPOET-4774]
2022-11-03 15:16:43 +01:00