You are here

public function BBBNodeTypeFormController::saveEntity in BigBlueButton 8

1 call to BBBNodeTypeFormController::saveEntity()
BBBNodeTypeFormController::save in modules/bbb_node/src/Form/BBBNodeTypeFormController.php
Form submission handler for the 'save' action.

File

modules/bbb_node/src/Form/BBBNodeTypeFormController.php, line 183

Class

BBBNodeTypeFormController
Provides an administration settings form.

Namespace

Drupal\bbb_node\Form

Code

public function saveEntity(array $form, FormStateInterface $form_state) {

  /** @var \Drupal\bbb_node\Entity\BBBNodeTypeInterface $bbbNodeType */
  $bbbNodeType = $this->entity;
  $id = $form_state
    ->getValue('type', FALSE);
  $values = $form_state
    ->getValue('bbb');

  // If there are some values that are not empty.
  if (count(array_filter($values)) || !$bbbNodeType
    ->isNew()) {
    $bbbNodeType
      ->setActive($values['active']);
    $bbbNodeType
      ->setShowLinks($values['showLinks']);
    $bbbNodeType
      ->setShowStatus($values['showStatus']);
    $bbbNodeType
      ->setModeratorRequired($values['moderatorRequired']);
    $bbbNodeType
      ->setWelcome($values['welcome']);
    $bbbNodeType
      ->setDialNumber($values['dialNumber']);
    $bbbNodeType
      ->setModeratorPW($values['moderatorPW']);
    $bbbNodeType
      ->setAttendeePW($values['attendeePW']);
    $bbbNodeType
      ->setLogoutURL($values['logoutURL']);
    $bbbNodeType
      ->setRecord($values['record']);
    if (!empty($id)) {
      $names = $this
        ->getNames();
      $label = $names[$id];
      $result = $bbbNodeType
        ->setId($id);
      if ($result) {
        $bbbNodeType
          ->setLabel($label);
        $form_state
          ->setRedirect('entity.bbb_node_type.collection');
        $this
          ->messenger()
          ->addStatus('BigBlueButton settings saved.');
      }
    }
    $this->entity
      ->save();
  }
}