function opigno_dashboard_form_user_login_form_alter in Opigno dashboard 8
Implements hook_form_FORM_ID_alter().
File
- ./
opigno_dashboard.module, line 158 - Contains opigno_dashboard.module.
Code
function opigno_dashboard_form_user_login_form_alter(&$form, FormStateInterface $form_state, $form_id) {
$route = \Drupal::routeMatch();
if (strpos($route
->getRouteName(), 'rest.') !== FALSE) {
return;
}
// Restrict by route for avoid issues with REST ect.
if ($route
->getRouteName() == 'user.login') {
// Redirect user to the previous page.
$previous_url = \Drupal::request()->query
->get('prev_path');
if (!empty($previous_url)) {
// Save redirect url to user private_tempstore in the first form loading.
$tempstore = \Drupal::service('user.private_tempstore')
->get('opigno_dashboard');
$tempstore
->set('prev_path', $previous_url);
}
else {
// Drupal will redirect to /user/login page before submit and rebuild form.
$tempstore = \Drupal::service('user.private_tempstore')
->get('opigno_dashboard');
$prev_path = $tempstore
->get('prev_path');
if (!empty($prev_path)) {
$form_state
->set('prev_path', $prev_path);
}
}
}
}