You are here

public function RoleAccessControlRelationsForm::submitForm in Role Access Control 8.2

Form submission handler.

Parameters

array $form: An associative array containing the structure of the form.

\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.

Overrides FormInterface::submitForm

File

modules/rac_relations/src/Form/RoleAccessControlRelationsForm.php, line 95

Class

RoleAccessControlRelationsForm
Contribute form.

Namespace

Drupal\rac_relations\Form

Code

public function submitForm(array &$form, FormStateInterface $form_state) {
  $values = $form_state
    ->getValues();
  $roles = user_roles();
  foreach ($roles as $rid => $role) {
    if ($role
      ->isAdmin()) {
      continue;
    }
    foreach ($values[$rid] as $srid => $role_grant) {
      $permission = 'RAC update ' . $srid;
      if ($role_grant && !$role
        ->hasPermission($permission)) {
        $role
          ->grantPermission($permission);
        $role
          ->save();
      }
      elseif (!$role_grant && $role
        ->hasPermission($permission)) {
        $role
          ->revokePermission($permission);
        $role
          ->save();
      }
    }
  }
  $this
    ->messenger()
    ->addMessage($this
    ->t('Role Access Relations have been Saved'));
}