From d8aaacec2d0275ed60f3bd3ac973a83d1d778d17 Mon Sep 17 00:00:00 2001 From: naomi Date: Tue, 8 May 2018 20:44:08 +0200 Subject: [PATCH] Added contact details to actor --- .../opencase_entities.permissions.yml | 3 +- .../opencase_entities/src/Entity/OCActor.php | 90 +++++++++++++++++++ 2 files changed, 92 insertions(+), 1 deletion(-) diff --git a/modules/opencase_entities/opencase_entities.permissions.yml b/modules/opencase_entities/opencase_entities.permissions.yml index 7cab3f9..9087624 100644 --- a/modules/opencase_entities/opencase_entities.permissions.yml +++ b/modules/opencase_entities/opencase_entities.permissions.yml @@ -33,7 +33,8 @@ delete all client revisions: description: 'Role requires permission to view Client revisions and delete rights for client entities in question or administer client entities.' view volunteer involvement in cases: - title: 'View Volunteer Involvement in Cases (see their name, but nothing else)' + title: 'View names of Volunteers involved in Cases' + description: 'This role can be given to a user who does not have permission to view volunteers, so that they can see the names of volunteers involved in the cases that they can see.' add volunteer entities: title: 'Create new Volunteer entities' diff --git a/modules/opencase_entities/src/Entity/OCActor.php b/modules/opencase_entities/src/Entity/OCActor.php index b6c89f2..fd90c64 100644 --- a/modules/opencase_entities/src/Entity/OCActor.php +++ b/modules/opencase_entities/src/Entity/OCActor.php @@ -298,6 +298,96 @@ class OCActor extends RevisionableContentEntityBase implements OCActorInterface ]) ->setRequired(TRUE); + // Contact details. + // so it is not exposed to user configuration. + $fields['email'] = BaseFieldDefinition::create('string') + ->setLabel(t('Email Address')) + ->setSettings(array( + 'default_value' => '', + 'max_length' => 30, + 'text_processing' => 0, + )) + ->setDisplayOptions('view', array( + 'label' => 'above', + 'type' => 'string', + 'weight' => 0, + )) + ->setDisplayOptions('form', array( + 'type' => 'string_textfield', + 'weight' => 0, + )); + $fields['phone'] = BaseFieldDefinition::create('string') + ->setLabel(t('Main Phone Number')) + ->setDisplayConfigurable('view', TRUE) + ->setDisplayConfigurable('form', TRUE) + ->setSettings(array( + 'default_value' => '', + 'max_length' => 20, + 'text_processing' => 0, + )) + ->setDisplayOptions('view', array( + 'label' => 'above', + 'type' => 'string', + 'weight' => 2, + )) + ->setDisplayOptions('form', array( + 'type' => 'string_textfield', + 'weight' => 2, + )); + $fields['phone2'] = BaseFieldDefinition::create('string') + ->setLabel(t('Alternative Phone Number')) + ->setSettings(array( + 'default_value' => '', + 'max_length' => 20, + 'text_processing' => 0, + )) + ->setDisplayConfigurable('view', TRUE) + ->setDisplayConfigurable('form', TRUE) + ->setDisplayOptions('view', array( + 'label' => 'above', + 'type' => 'string', + 'weight' => 3, + )) + ->setDisplayOptions('form', array( + 'type' => 'string_textfield', + 'weight' => 3, + )); + $fields['postal_address'] = BaseFieldDefinition::create('string_long') + ->setLabel(t('Postal Address')) + ->setDescription(t('Full address, apart from post code.')) + ->setDisplayConfigurable('view', TRUE) + ->setDisplayConfigurable('form', TRUE) + ->setSettings(array( + 'default_value' => '', + 'max_length' => 255, + 'text_processing' => 0, + )) + ->setDisplayOptions('view', array( + 'label' => 'above', + 'type' => 'text', + 'weight' => 5, + )) + ->setDisplayOptions('form', array( + 'type' => 'string_textarea', + 'weight' => 5, + )); + $fields['post_code'] = BaseFieldDefinition::create('string') + ->setLabel(t('Post Code')) + ->setSettings(array( + 'default_value' => '', + 'max_length' => 10, + 'text_processing' => 0, + )) + ->setDisplayOptions('view', array( + 'label' => 'above', + 'type' => 'string', + 'weight' => 6, + )) + ->setDisplayOptions('form', array( + 'type' => 'string_textfield', + 'weight' => 6, + )); + $fields['created'] = BaseFieldDefinition::create('created') ->setLabel(t('Created')) ->setDescription(t('The time that the entity was created.'));