message_thread-8.x-1.x-dev/src/Form/MessageForm.php

src/Form/MessageForm.php
<?php

namespace Drupal\message_thread\Form;

use Drupal\message_ui\Form\MessageForm as MessageMessageForm;
use Drupal\Core\Form\FormStateInterface;

/**
 * Form controller for the message_thread message entity edit forms.
 *
 * @ingroup message_thread
 */
class MessageForm extends MessageMessageForm {

  /**
   * {@inheritdoc}
   */
  public function buildForm(array $form, FormStateInterface $form_state) {
    $form = parent::buildForm($form, $form_state);

    /** @var \Drupal\message\Entity\Message $message */
    $message = $this->entity;

    $template = \Drupal::entityTypeManager()->getStorage('message_template')->load($this->entity->bundle());

    return $form;
  }

  /**
   * {@inheritdoc}
   */
  protected function actions(array $form, FormStateInterface $form_state) {
    $element = parent::actions($form, $form_state);
    return $element;
  }

  /**
   * {@inheritdoc}
   *
   * Updates the message object by processing the submitted values.
   */
  public function submitForm(array &$form, FormStateInterface $form_state) {
    // Build the node object from the submitted values.
    parent::submitForm($form, $form_state);

    /* @var $message Message */
    $message = $this->entity;
    $values = $form_state->getValues();
  }

  /**
   * {@inheritdoc}
   */
  public function save(array $form, FormStateInterface $form_state) {
    parent::submitForm($form, $form_state);
    // Redirect to message view display if user has access.
    if ($message->access('view')) {
      $form_state->setRedirect('entity.message.canonical', ['message' => $message->id()]);
    }
    else {
      $form_state->setRedirect('<front>');
    }
    // @todo : for node they clear temp store here, but perhaps unused with
    // message.
    // In the unlikely case something went wrong on save, the message will be
    // rebuilt and message form redisplayed.
    \Drupal::messenger()->addStatus(t('The message could not be saved.'), 'error');
    $form_state->setRebuild();
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc