Automattic\WooCommerce\Internal\OrderWithdrawal
OrderWithdrawalFormProcessor::process_current_request
Process the current order withdrawal request.
Method of the class: OrderWithdrawalFormProcessor{}
No Hooks.
Returns
null. Nothing (null).
Usage
$OrderWithdrawalFormProcessor = new OrderWithdrawalFormProcessor(); $OrderWithdrawalFormProcessor->process_current_request(): OrderWithdrawalFormState;
Changelog
| Since 11.1.0 | Introduced. |
OrderWithdrawalFormProcessor::process_current_request() OrderWithdrawalFormProcessor::process current request code WC 11.1.2
public function process_current_request(): OrderWithdrawalFormState {
$data = $this->get_default_form_data();
$errors = array();
$screen = 'form';
if ( ! $this->is_post_request() ) {
return new OrderWithdrawalFormState( $screen, $data, $errors );
}
if ( ! $this->has_valid_nonce() ) {
wc_add_notice( __( 'We could not verify your request. Please try again.', 'woocommerce' ), 'error' );
return new OrderWithdrawalFormState( $screen, $data, $errors );
}
$data = $this->get_posted_form_data();
$action = $this->get_posted_action();
if ( self::ACTION_EDIT === $action ) {
return new OrderWithdrawalFormState( $screen, $data, $errors );
}
$errors = $this->validate_form_data( $data );
if ( ! empty( $errors ) ) {
$this->add_validation_notices( $errors );
return new OrderWithdrawalFormState( $screen, $data, $errors );
}
if ( self::ACTION_CONFIRM === $action ) {
if ( ! $this->submit_order_withdrawal( $data ) ) {
return new OrderWithdrawalFormState( 'review', $data, $errors );
}
$screen = 'confirmation';
} else {
$screen = 'review';
}
return new OrderWithdrawalFormState( $screen, $data, $errors );
}