Add backend error checking for average spent filter
MAILPOET-4987
This commit is contained in:
committed by
Veljko V
parent
d8e29e9edb
commit
9e5b5d5ebe
@ -149,6 +149,7 @@ class DynamicSegments extends APIEndpoint {
|
|||||||
return __('Please select a type for the comparison, a number of orders and a number of days.', 'mailpoet');
|
return __('Please select a type for the comparison, a number of orders and a number of days.', 'mailpoet');
|
||||||
case InvalidFilterException::MISSING_TOTAL_SPENT_FIELDS:
|
case InvalidFilterException::MISSING_TOTAL_SPENT_FIELDS:
|
||||||
case InvalidFilterException::MISSING_SINGLE_ORDER_VALUE_FIELDS:
|
case InvalidFilterException::MISSING_SINGLE_ORDER_VALUE_FIELDS:
|
||||||
|
case InvalidFilterException::MISSING_AVERAGE_SPENT_FIELDS:
|
||||||
return __('Please select a type for the comparison, an amount and a number of days.', 'mailpoet');
|
return __('Please select a type for the comparison, an amount and a number of days.', 'mailpoet');
|
||||||
case InvalidFilterException::MISSING_FILTER:
|
case InvalidFilterException::MISSING_FILTER:
|
||||||
return __('Please add at least one condition for filtering.', 'mailpoet');
|
return __('Please add at least one condition for filtering.', 'mailpoet');
|
||||||
|
@ -22,4 +22,5 @@ class InvalidFilterException extends InvalidStateException {
|
|||||||
const MISSING_OPERATOR = 15;
|
const MISSING_OPERATOR = 15;
|
||||||
const MISSING_PLAN_ID = 16;
|
const MISSING_PLAN_ID = 16;
|
||||||
const MISSING_SINGLE_ORDER_VALUE_FIELDS = 17;
|
const MISSING_SINGLE_ORDER_VALUE_FIELDS = 17;
|
||||||
|
const MISSING_AVERAGE_SPENT_FIELDS = 18;
|
||||||
};
|
};
|
||||||
|
@ -285,6 +285,13 @@ class FilterDataMapper {
|
|||||||
$filterData['operator'] = $data['operator'];
|
$filterData['operator'] = $data['operator'];
|
||||||
$filterData['value'] = $data['value'];
|
$filterData['value'] = $data['value'];
|
||||||
} elseif ($data['action'] === WooCommerceAverageSpent::ACTION) {
|
} elseif ($data['action'] === WooCommerceAverageSpent::ACTION) {
|
||||||
|
if (
|
||||||
|
!isset($data['average_spent_type'])
|
||||||
|
|| !isset($data['average_spent_amount']) || $data['average_spent_amount'] < 0
|
||||||
|
|| !isset($data['average_spent_days']) || $data['average_spent_days'] < 1
|
||||||
|
) {
|
||||||
|
throw new InvalidFilterException('Missing required fields', InvalidFilterException::MISSING_AVERAGE_SPENT_FIELDS);
|
||||||
|
}
|
||||||
$filterData['average_spent_days'] = $data['average_spent_days'];
|
$filterData['average_spent_days'] = $data['average_spent_days'];
|
||||||
$filterData['average_spent_amount'] = $data['average_spent_amount'];
|
$filterData['average_spent_amount'] = $data['average_spent_amount'];
|
||||||
$filterData['average_spent_type'] = $data['average_spent_type'];
|
$filterData['average_spent_type'] = $data['average_spent_type'];
|
||||||
|
Reference in New Issue
Block a user