public function Login::submitPaneForm in Commerce Core 8.2
Handles the submission of an pane form.
Parameters
array $pane_form: The pane form.
\Drupal\Core\Form\FormStateInterface $form_state: The form state of the parent form.
array $complete_form: The complete form structure.
Overrides CheckoutPaneBase::submitPaneForm
File
- modules/
checkout/ src/ Plugin/ Commerce/ CheckoutPane/ Login.php, line 420
Class
- Login
- Provides the login pane.
Namespace
Drupal\commerce_checkout\Plugin\Commerce\CheckoutPaneCode
public function submitPaneForm(array &$pane_form, FormStateInterface $form_state, array &$complete_form) {
$triggering_element = $form_state
->getTriggeringElement();
$trigger = !empty($triggering_element['#op']) ? $triggering_element['#op'] : 'continue';
switch ($trigger) {
case 'continue':
break;
case 'login':
case 'register':
$storage = $this->entityTypeManager
->getStorage('user');
/** @var \Drupal\user\UserInterface $account */
$account = $storage
->load($form_state
->get('logged_in_uid'));
user_login_finalize($account);
$this->order
->setCustomer($account);
$this->credentialsCheckFlood
->clearAccount($this->clientIp, $account
->getAccountName());
break;
}
$form_state
->setRedirect('commerce_checkout.form', [
'commerce_order' => $this->order
->id(),
'step' => $this->checkoutFlow
->getNextStepId($this
->getStepId()),
]);
}