Added full_name field to actors, and made the administer entities permission finer grained

This commit is contained in:
2021-02-08 13:38:54 +00:00
parent 6fbaf433e8
commit 3dd71bf2c0
11 changed files with 62 additions and 38 deletions

View File

@ -114,10 +114,14 @@ class OCActor extends RevisionableContentEntityBase implements OCActorInterface
$translation->setOwnerId(0);
}
}
$name = $this->get('first_name')->value . ' ';
if ($this->get('middle_names')->value) $name .= $this->get('middle_names')->value . ' ';
$name .= $this->get('last_name')->value . ' ';
if ($this->get('full_name')->value) {
$name = $this->get('full_name')->value . ' ';
} else {
$name = $this->get('first_name')->value . ' ';
if ($this->get('middle_names')->value) $name .= $this->get('middle_names')->value . ' ';
$name .= $this->get('last_name')->value . ' ';
}
$name .= '(' . $this->type->entity->label() . ')';
$this->setName($name);
@ -238,6 +242,24 @@ class OCActor extends RevisionableContentEntityBase implements OCActorInterface
'weight' => -10,
]);
// When configuring a person type, you will need to choose whether to have full name or first and last name fields displayed.
$fields['full_name'] = BaseFieldDefinition::create('string')
->setDescription(t('The person\'s name.'))
->setLabel(t('Name'))
->setRevisionable(TRUE)
->setSettings([
'max_length' => 20,
'text_processing' => 0,
])
->setDisplayConfigurable("form", true)
->setDisplayConfigurable("view", true)
->setDefaultValue('')
->setDisplayOptions('form', [
'type' => 'string_textfield',
'weight' => -50,
])
->setRequired(TRUE);
$fields['first_name'] = BaseFieldDefinition::create('string')
->setLabel(t('First Name'))
->setDescription(t("The person's first name."))