class Message

Same name in this branch
  1. 8.x-1.x src/Entity/Message.php \Drupal\tmgmt\Entity\Message
  2. 8.x-1.x src/Plugin/views/field/Message.php \Drupal\tmgmt\Plugin\views\field\Message

Entity class for the tmgmt_message entity.

Plugin annotation


@ContentEntityType(
  id = "tmgmt_message",
  label = @Translation("Translation Message"),
  uri_callback = "tmgmt_message_uri",
 handlers = {
   "view_builder" = "Drupal\Core\Entity\EntityViewBuilder",
   "views_data" = "Drupal\tmgmt\Entity\ViewsData\MessageViewsData",
  },
  base_table = "tmgmt_message",
  entity_keys = {
    "id" = "mid",
    "uuid" = "uuid"
  }
)

Hierarchy

Expanded class hierarchy of Message

Related topics

1 file declares its use of Message
tmgmt.module in ./tmgmt.module
Main module file for the Translation Management module.
1 string reference to 'Message'

File

src/Entity/Message.php, line 32

Namespace

Drupal\tmgmt\Entity
View source
class Message extends ContentEntityBase implements MessageInterface {

  /**
   * {@inheritdoc}
   */
  public static function baseFieldDefinitions(EntityTypeInterface $entity_type) {
    $fields['mid'] = BaseFieldDefinition::create('integer')
      ->setLabel('Message ID')
      ->setReadOnly(TRUE);
    $fields['uuid'] = BaseFieldDefinition::create('uuid')
      ->setLabel(t('UUID'))
      ->setDescription(t('The node UUID.'))
      ->setReadOnly(TRUE);
    $fields['tjid'] = BaseFieldDefinition::create('entity_reference')
      ->setLabel(t('Job reference'))
      ->setSetting('target_type', 'tmgmt_job');
    $fields['tjiid'] = BaseFieldDefinition::create('entity_reference')
      ->setLabel(t('Job item reference'))
      ->setSetting('target_type', 'tmgmt_job_item');
    $fields['type'] = BaseFieldDefinition::create('string')
      ->setLabel('Message type')
      ->setDefaultValue('status');
    $fields['uid'] = BaseFieldDefinition::create('entity_reference')
      ->setLabel(t('Actor'))
      ->setDescription(t('The user who performed the action.'))
      ->setSettings(array(
      'target_type' => 'user',
    ))
      ->setDefaultValue(0);
    $fields['message'] = BaseFieldDefinition::create('string')
      ->setLabel(t('Message'));
    $fields['variables'] = BaseFieldDefinition::create('map')
      ->setLabel(t('Variables'));
    $fields['created'] = BaseFieldDefinition::create('created')
      ->setLabel('Created time');
    return $fields;
  }

  /**
   * {@inheritdoc}
   */
  public function defaultLabel() {
    $created = \Drupal::service('date.formatter')
      ->format($this
      ->get('created')->value);
    switch ($this->type->value) {
      case 'error':
        return t('Error message from @time', array(
          '@time' => $created,
        ));
      case 'status':
        return t('Status message from @time', array(
          '@time' => $created,
        ));
      case 'warning':
        return t('Warning message from @time', array(
          '@time' => $created,
        ));
      case 'debug':
        return t('Debug message from @time', array(
          '@time' => $created,
        ));
    }
  }

  /**
   * {@inheritdoc}
   */
  public function getMessage() {
    $text = $this->message->value;
    if ($this->variables
      ->first() && $this->variables
      ->first()
      ->toArray()) {
      return new TranslatableMarkup($text, $this->variables
        ->first()
        ->toArray());
    }
    else {
      return new TranslatableMarkup($text);
    }
  }

  /**
   * {@inheritdoc}
   */
  public function getJob() {
    return Job::load($this
      ->get('tjid')->target_id);
  }

  /**
   * {@inheritdoc}
   */
  public function getJobItem() {
    return JobItem::load($this
      ->get('tjiid')->target_id);
  }

  /**
   * {@inheritdoc}
   */
  public function getType() {
    return $this
      ->get('type')->value;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
Message::baseFieldDefinitions public static function
Message::defaultLabel public function
Message::getJob public function Loads the job entity that this job message is attached to. Overrides MessageInterface::getJob
Message::getJobItem public function Loads the job entity that this job message is attached to. Overrides MessageInterface::getJobItem
Message::getMessage public function Returns the translated message. Overrides MessageInterface::getMessage
Message::getType public function Returns the message type. Overrides MessageInterface::getType