You are here

public static function SimpleAccessProfiles::processCheckboxes in Simple Access 8.3

Processes a checkboxes form element.

Overrides Checkboxes::processCheckboxes

File

src/Element/SimpleAccessProfiles.php, line 32

Class

SimpleAccessProfiles
Class SimpleAccessProfiles.

Namespace

Drupal\simple_access\Element

Code

public static function processCheckboxes(&$element, FormStateInterface $form_state, &$complete_form) {
  $profiles = SimpleAccessProfile::loadMultiple();
  uasort($profiles, [
    SimpleAccessProfile::class,
    'sort',
  ]);
  $element['#options'] = array_map(function (SimpleAccessProfile $a) {
    return $a
      ->label();
  }, $profiles);
  $element['#access'] = !empty($element['#options']) && (\Drupal::currentUser()
    ->hasPermission('assign profiles to nodes') || \Drupal::currentUser()
    ->hasPermission("assign profiles to {$element['#node_type']} nodes") || \Drupal::currentUser()
    ->hasPermission('administer nodes'));
  return parent::processCheckboxes($element, $form_state, $complete_form);
}