Loading enforce_user_fields.module +5 −12 Changes for enforce_user_fields.module: 5 added lines, 12 removed lines. Original line number Diff line number Diff line Loading @@ -34,7 +34,7 @@ function enforce_user_fields_help($route_name, RouteMatchInterface $route_match) * Implements hook_user_login(). */ function enforce_user_fields_user_login($account) { if (enforce_user_fields_user_has_admin_role($account)) { if (enforce_user_fields_user_bypass($account)) { unset($_SESSION['enforce_user_fields']); return; } Loading @@ -61,18 +61,11 @@ function enforce_user_fields_form_user_form_alter(&$form, FormStateInterface $fo * TRUE, if the given user account has at least one role with admin rights * assigned, FALSE otherwise. */ function enforce_user_fields_user_has_admin_role(AccountInterface $account) { function enforce_user_fields_user_bypass(AccountInterface $account) { static $user_has_admin_role = []; $uid = $account->id(); if (!isset($user_has_admin_role[$uid])) { $roles = Role::loadMultiple($account->getRoles()); foreach ($roles as $role) { if ($role->isAdmin()) { $user_has_admin_role[$uid] = TRUE; break; } $user_has_admin_role[$uid] = FALSE; } $user_has_admin_role[$uid] = $account->hasPermission('bypass enforce user fields'); } return $user_has_admin_role[$uid]; } Loading @@ -84,7 +77,7 @@ function enforce_user_fields_user_has_admin_role(AccountInterface $account) { function enforce_user_fields_have_unfilled_required_fields(AccountInterface $account){ $result = FALSE; if ($account->isAnonymous() || enforce_user_fields_user_has_admin_role($account)) { if ($account->isAnonymous() || enforce_user_fields_user_bypass($account)) { return FALSE; } Loading Loading @@ -129,7 +122,7 @@ function enforce_user_fields_have_unfilled_required_fields(AccountInterface $acc */ function enforce_user_fields_form_user_form_submit(&$form, FormStateInterface $form_state) { $account = \Drupal::currentUser(); if (enforce_user_fields_user_has_admin_role($account)) { if (enforce_user_fields_user_bypass($account)) { unset($_SESSION['enforce_user_fields']); return; } Loading enforce_user_fields.permissions.yml 0 → 100644 +3 −0 Changes for enforce_user_fields.permissions.yml: 3 added lines, 0 removed lines. Original line number Diff line number Diff line bypass enforce user fields: title: 'Bypass enforce user fields' description: 'Skips the enforce user fields redirecting.' src/EventSubscriber/EnforceUserFieldsSubscriber.php +1 −1 Changes for src/EventSubscriber/EnforceUserFieldsSubscriber.php: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -97,7 +97,7 @@ class EnforceUserFieldsSubscriber implements EventSubscriberInterface { 'image.style_public', 'image.style_private', ]); if ($this->currentUser->isAnonymous() || enforce_user_fields_user_has_admin_role($this->currentUser) || $skip_route) { if ($this->currentUser->isAnonymous() || enforce_user_fields_user_bypass($this->currentUser) || $skip_route) { return; } $is_ajax = $this->requestStack->getCurrentRequest()->isXmlHttpRequest(); Loading Loading
enforce_user_fields.module +5 −12 Changes for enforce_user_fields.module: 5 added lines, 12 removed lines. Original line number Diff line number Diff line Loading @@ -34,7 +34,7 @@ function enforce_user_fields_help($route_name, RouteMatchInterface $route_match) * Implements hook_user_login(). */ function enforce_user_fields_user_login($account) { if (enforce_user_fields_user_has_admin_role($account)) { if (enforce_user_fields_user_bypass($account)) { unset($_SESSION['enforce_user_fields']); return; } Loading @@ -61,18 +61,11 @@ function enforce_user_fields_form_user_form_alter(&$form, FormStateInterface $fo * TRUE, if the given user account has at least one role with admin rights * assigned, FALSE otherwise. */ function enforce_user_fields_user_has_admin_role(AccountInterface $account) { function enforce_user_fields_user_bypass(AccountInterface $account) { static $user_has_admin_role = []; $uid = $account->id(); if (!isset($user_has_admin_role[$uid])) { $roles = Role::loadMultiple($account->getRoles()); foreach ($roles as $role) { if ($role->isAdmin()) { $user_has_admin_role[$uid] = TRUE; break; } $user_has_admin_role[$uid] = FALSE; } $user_has_admin_role[$uid] = $account->hasPermission('bypass enforce user fields'); } return $user_has_admin_role[$uid]; } Loading @@ -84,7 +77,7 @@ function enforce_user_fields_user_has_admin_role(AccountInterface $account) { function enforce_user_fields_have_unfilled_required_fields(AccountInterface $account){ $result = FALSE; if ($account->isAnonymous() || enforce_user_fields_user_has_admin_role($account)) { if ($account->isAnonymous() || enforce_user_fields_user_bypass($account)) { return FALSE; } Loading Loading @@ -129,7 +122,7 @@ function enforce_user_fields_have_unfilled_required_fields(AccountInterface $acc */ function enforce_user_fields_form_user_form_submit(&$form, FormStateInterface $form_state) { $account = \Drupal::currentUser(); if (enforce_user_fields_user_has_admin_role($account)) { if (enforce_user_fields_user_bypass($account)) { unset($_SESSION['enforce_user_fields']); return; } Loading
enforce_user_fields.permissions.yml 0 → 100644 +3 −0 Changes for enforce_user_fields.permissions.yml: 3 added lines, 0 removed lines. Original line number Diff line number Diff line bypass enforce user fields: title: 'Bypass enforce user fields' description: 'Skips the enforce user fields redirecting.'
src/EventSubscriber/EnforceUserFieldsSubscriber.php +1 −1 Changes for src/EventSubscriber/EnforceUserFieldsSubscriber.php: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -97,7 +97,7 @@ class EnforceUserFieldsSubscriber implements EventSubscriberInterface { 'image.style_public', 'image.style_private', ]); if ($this->currentUser->isAnonymous() || enforce_user_fields_user_has_admin_role($this->currentUser) || $skip_route) { if ($this->currentUser->isAnonymous() || enforce_user_fields_user_bypass($this->currentUser) || $skip_route) { return; } $is_ajax = $this->requestStack->getCurrentRequest()->isXmlHttpRequest(); Loading