Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 14 |
CRAP | |
0.00% |
0 / 85 |
Message | |
0.00% |
0 / 1 |
|
0.00% |
0 / 14 |
240 | |
0.00% |
0 / 85 |
isPersonal | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 2 |
|||
getContactForm | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 2 |
|||
getSenderName | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 2 |
|||
setSenderName | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 2 |
|||
getSenderMail | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 2 |
|||
setSenderMail | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 2 |
|||
getSubject | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 2 |
|||
setSubject | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 2 |
|||
getMessage | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 2 |
|||
setMessage | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 2 |
|||
copySender | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 2 |
|||
setCopySender | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 2 |
|||
getPersonalRecipient | |
0.00% |
0 / 1 |
6 | |
0.00% |
0 / 4 |
|||
baseFieldDefinitions | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 57 |
<?php | |
/** | |
* @file | |
* Contains \Drupal\contact\Entity\Message. | |
*/ | |
namespace Drupal\contact\Entity; | |
use Drupal\Core\Entity\ContentEntityBase; | |
use Drupal\contact\MessageInterface; | |
use Drupal\Core\Entity\EntityTypeInterface; | |
use Drupal\Core\Field\BaseFieldDefinition; | |
/** | |
* Defines the contact message entity. | |
* | |
* @ContentEntityType( | |
* id = "contact_message", | |
* label = @Translation("Contact message"), | |
* handlers = { | |
* "access" = "Drupal\contact\ContactMessageAccessControlHandler", | |
* "storage" = "Drupal\Core\Entity\ContentEntityNullStorage", | |
* "view_builder" = "Drupal\contact\MessageViewBuilder", | |
* "form" = { | |
* "default" = "Drupal\contact\MessageForm" | |
* } | |
* }, | |
* admin_permission = "administer contact forms", | |
* entity_keys = { | |
* "bundle" = "contact_form", | |
* "uuid" = "uuid", | |
* "langcode" = "langcode" | |
* }, | |
* bundle_entity_type = "contact_form", | |
* field_ui_base_route = "entity.contact_form.edit_form", | |
* ) | |
*/ | |
class Message extends ContentEntityBase implements MessageInterface { | |
/** | |
* {@inheritdoc} | |
*/ | |
public function isPersonal() { | |
return $this->bundle() == 'personal'; | |
} | |
/** | |
* {@inheritdoc} | |
*/ | |
public function getContactForm() { | |
return $this->get('contact_form')->entity; | |
} | |
/** | |
* {@inheritdoc} | |
*/ | |
public function getSenderName() { | |
return $this->get('name')->value; | |
} | |
/** | |
* {@inheritdoc} | |
*/ | |
public function setSenderName($sender_name) { | |
$this->set('name', $sender_name); | |
} | |
/** | |
* {@inheritdoc} | |
*/ | |
public function getSenderMail() { | |
return $this->get('mail')->value; | |
} | |
/** | |
* {@inheritdoc} | |
*/ | |
public function setSenderMail($sender_mail) { | |
$this->set('mail', $sender_mail); | |
} | |
/** | |
* {@inheritdoc} | |
*/ | |
public function getSubject() { | |
return $this->get('subject')->value; | |
} | |
/** | |
* {@inheritdoc} | |
*/ | |
public function setSubject($subject) { | |
$this->set('subject', $subject); | |
} | |
/** | |
* {@inheritdoc} | |
*/ | |
public function getMessage() { | |
return $this->get('message')->value; | |
} | |
/** | |
* {@inheritdoc} | |
*/ | |
public function setMessage($message) { | |
$this->set('message', $message); | |
} | |
/** | |
* {@inheritdoc} | |
*/ | |
public function copySender() { | |
return (bool)$this->get('copy')->value; | |
} | |
/** | |
* {@inheritdoc} | |
*/ | |
public function setCopySender($inform) { | |
$this->set('copy', (bool) $inform); | |
} | |
/** | |
* {@inheritdoc} | |
*/ | |
public function getPersonalRecipient() { | |
if ($this->isPersonal()) { | |
return $this->get('recipient')->entity; | |
} | |
} | |
/** | |
* {@inheritdoc} | |
*/ | |
public static function baseFieldDefinitions(EntityTypeInterface $entity_type) { | |
$fields['contact_form'] = BaseFieldDefinition::create('entity_reference') | |
->setLabel(t('Form ID')) | |
->setDescription(t('The ID of the associated form.')) | |
->setSetting('target_type', 'contact_form') | |
->setRequired(TRUE); | |
$fields['uuid'] = BaseFieldDefinition::create('uuid') | |
->setLabel(t('UUID')) | |
->setDescription(t('The message UUID.')) | |
->setReadOnly(TRUE); | |
$fields['langcode'] = BaseFieldDefinition::create('language') | |
->setLabel(t('Language')) | |
->setDescription(t('The message language code.')) | |
->setDisplayOptions('form', array( | |
'type' => 'language_select', | |
'weight' => 2, | |
)); | |
$fields['name'] = BaseFieldDefinition::create('string') | |
->setLabel(t("The sender's name")) | |
->setDescription(t('The name of the person that is sending the contact message.')); | |
$fields['mail'] = BaseFieldDefinition::create('email') | |
->setLabel(t("The sender's email")) | |
->setDescription(t('The email of the person that is sending the contact message.')); | |
// The subject of the contact message. | |
$fields['subject'] = BaseFieldDefinition::create('string') | |
->setLabel(t('Subject')) | |
->setRequired(TRUE) | |
->setSetting('max_length', 100) | |
->setDisplayOptions('form', array( | |
'type' => 'string_textfield', | |
'weight' => -10, | |
)) | |
->setDisplayConfigurable('form', TRUE); | |
// The text of the contact message. | |
$fields['message'] = BaseFieldDefinition::create('string_long') | |
->setLabel(t('Message')) | |
->setRequired(TRUE) | |
->setDisplayOptions('form', array( | |
'type' => 'string_textarea', | |
'weight' => 0, | |
'settings' => array( | |
'rows' => 12, | |
), | |
)) | |
->setDisplayConfigurable('form', TRUE) | |
->setDisplayOptions('view', array( | |
'type' => 'string', | |
'weight' => 0, | |
'label' => 'above', | |
)) | |
->setDisplayConfigurable('view', TRUE); | |
$fields['copy'] = BaseFieldDefinition::create('boolean') | |
->setLabel(t('Copy')) | |
->setDescription(t('Whether to send a copy of the message to the sender.')); | |
$fields['recipient'] = BaseFieldDefinition::create('entity_reference') | |
->setLabel(t('Recipient ID')) | |
->setDescription(t('The ID of the recipient user for personal contact messages.')) | |
->setSetting('target_type', 'user'); | |
return $fields; | |
} | |
} |