You are here

public function CourseObjectAccessPluginBase::buildConfigurationForm in Course 3.x

Define the form to be used in the object access settings area.

Overrides PluginFormInterface::buildConfigurationForm

3 calls to CourseObjectAccessPluginBase::buildConfigurationForm()
CourseObjectAccessConditional::buildConfigurationForm in src/Plugin/course/CourseObjectAccess/CourseObjectAccessConditional.php
Define the form to be used in the object access settings area.
CourseObjectAccessGrade::buildConfigurationForm in src/Plugin/course/CourseObjectAccess/CourseObjectAccessGrade.php
Define the form to be used in the object access settings area.
CourseObjectAccessTiming::buildConfigurationForm in src/Plugin/course/CourseObjectAccess/CourseObjectAccessTiming.php
Define the form to be used in the object access settings area.
3 methods override CourseObjectAccessPluginBase::buildConfigurationForm()
CourseObjectAccessConditional::buildConfigurationForm in src/Plugin/course/CourseObjectAccess/CourseObjectAccessConditional.php
Define the form to be used in the object access settings area.
CourseObjectAccessGrade::buildConfigurationForm in src/Plugin/course/CourseObjectAccess/CourseObjectAccessGrade.php
Define the form to be used in the object access settings area.
CourseObjectAccessTiming::buildConfigurationForm in src/Plugin/course/CourseObjectAccess/CourseObjectAccessTiming.php
Define the form to be used in the object access settings area.

File

src/Plugin/CourseObjectAccessPluginBase.php, line 153

Class

CourseObjectAccessPluginBase
Base class for Course object access plugins.

Namespace

Drupal\course\Plugin

Code

public function buildConfigurationForm(array $form, FormStateInterface $form_state) {
  $config = $this
    ->getOptions();
  $form['alter']['#weight'] = 100;
  $form['alter']['#type'] = 'fieldset';
  $form['alter']['#collapsed'] = FALSE;
  $form['alter']['#collapsible'] = FALSE;
  $form['alter']['#title'] = t('Modifications');
  $form['alter']['#attributes']['class'][] = 'course-object-access-alter';
  $form['alter']['negate'] = [
    '#title' => t('If the above condition(s) are:'),
    '#type' => 'select',
    '#options' => [
      0 => t('Met'),
      1 => t('Not met'),
    ],
    '#default_value' => isset($config['alter']['negate']) ? $config['alter']['negate'] : 1,
  ];
  $form['alter']['access'] = [
    '#title' => t('Block access'),
    '#description' => t('This will prevent the user from accessing the course object.'),
    '#type' => 'checkbox',
    '#default_value' => isset($config['alter']['access']) ? $config['alter']['access'] : 0,
  ];
  $form['alter']['required'] = [
    '#title' => t('Required'),
    '#description' => t('Change the "Required" property.'),
    '#type' => 'radios',
    '#options' => [
      '-1' => t('No change'),
      1 => t('Make required'),
      0 => t('Make optional'),
    ],
    '#default_value' => isset($config['alter']['required']) ? $config['alter']['required'] : -1,
  ];
  $form['alter']['visible'] = [
    '#title' => t('Visibility'),
    '#description' => t('Change the "Visible" property.'),
    '#type' => 'radios',
    '#options' => [
      '-1' => t('No change'),
      1 => t('Visible'),
      0 => t('Hidden'),
    ],
    '#default_value' => isset($config['alter']['visible']) ? $config['alter']['visible'] : -1,
  ];
  return $form;
}