From dfb12d9be626cd53239968d928c761eac0d3f0c9 Mon Sep 17 00:00:00 2001 From: Naomi Date: Fri, 20 Nov 2020 11:00:52 +0000 Subject: [PATCH] moved consent field to opencase_defaults and removed automatic "see all people" menu links --- .../opencase_defaults.module | 16 +++++- .../opencase_entities/src/Entity/OCActor.php | 11 ---- opencase.links.menu.yml | 5 -- .../Derivative/SeeAllActorsMenuLink.php | 55 ------------------- src/Plugin/Menu/SeeAllActorsMenuLink.php | 9 --- 5 files changed, 15 insertions(+), 81 deletions(-) delete mode 100644 src/Plugin/Derivative/SeeAllActorsMenuLink.php delete mode 100644 src/Plugin/Menu/SeeAllActorsMenuLink.php diff --git a/modules/opencase_defaults/opencase_defaults.module b/modules/opencase_defaults/opencase_defaults.module index a3af7a4..6c3f753 100644 --- a/modules/opencase_defaults/opencase_defaults.module +++ b/modules/opencase_defaults/opencase_defaults.module @@ -91,6 +91,20 @@ function opencase_defaults_block_access(\Drupal\block\Entity\Block $block, $oper function opencase_defaults_entity_base_field_info($entity_type) { $fields = array(); + + // Add consent field to person + if ($entity_type->id() === 'oc_actor') { + $fields['consent'] = BaseFieldDefinition::create('boolean') + ->setLabel(t('Consent to data storage')) + ->setDescription(t('Has this person explicitly consented to having their personal data stored on this system?')) + ->setRevisionable(TRUE) + ->setDefaultValue(FALSE) + ->setRequired(TRUE) + ->setDisplayOptions('form', array( + 'type' => 'boolean_checkbox', + 'weight' => -6, + )); + } // Add a Client field to cases if ($entity_type->id() === 'oc_case') { @@ -117,7 +131,7 @@ function opencase_defaults_entity_base_field_info($entity_type) { ]) ->setDefaultValueCallback('opencase_defaults_actors_involved_callback') ->setRequired(TRUE); - + } return $fields; } diff --git a/modules/opencase_entities/src/Entity/OCActor.php b/modules/opencase_entities/src/Entity/OCActor.php index 5d4d60b..4ee5789 100644 --- a/modules/opencase_entities/src/Entity/OCActor.php +++ b/modules/opencase_entities/src/Entity/OCActor.php @@ -283,17 +283,6 @@ class OCActor extends RevisionableContentEntityBase implements OCActorInterface ]) ->setRequired(TRUE); - $fields['consent'] = BaseFieldDefinition::create('boolean') - ->setLabel(t('Consent to data storage')) - ->setDescription(t('Has this person explicitly consented to having their personal data stored on this system?')) - ->setRevisionable(TRUE) - ->setDefaultValue(FALSE) - ->setRequired(TRUE) - ->setDisplayOptions('form', array( - 'type' => 'boolean_checkbox', - 'weight' => -6, - )); - // Contact details. // so it is not exposed to user configuration. $fields['email'] = BaseFieldDefinition::create('string') diff --git a/opencase.links.menu.yml b/opencase.links.menu.yml index ebc2a01..ff054ef 100644 --- a/opencase.links.menu.yml +++ b/opencase.links.menu.yml @@ -3,11 +3,6 @@ opencase.see_all: menu_name: opencase route_name: opencase.opencase_cases_menu weight: 0 -opencase.see_all_people_links: - class: Drupal\opencase\Plugin\Menu\SeeAllActorsMenuLink - deriver: Drupal\opencase\Plugin\Derivative\SeeAllActorsMenuLink - menu_name: opencase - parent: opencase.see_all opencase.opencase_add_new_things_menu: title: 'Add new...' menu_name: opencase diff --git a/src/Plugin/Derivative/SeeAllActorsMenuLink.php b/src/Plugin/Derivative/SeeAllActorsMenuLink.php deleted file mode 100644 index 533d737..0000000 --- a/src/Plugin/Derivative/SeeAllActorsMenuLink.php +++ /dev/null @@ -1,55 +0,0 @@ -entityTypeManager = $entity_type_manager; - } - - /** -   * {@inheritdoc} -   */ - public static function create(ContainerInterface $container, $base_plugin_id) { - return new static( - $base_plugin_id, - $container->get('entity_type.manager') - ); - } - /** -   * {@inheritdoc} -   */ - public function getDerivativeDefinitions($base_plugin_definition) { - $links = []; - $actorTypes = $this->entityTypeManager->getStorage('oc_actor_type')->loadMultiple(); - foreach ($actorTypes as $id => $actorType) { - $links[$id] = [ - 'title' => $actorType->label().'s', - 'route_name' => "view.all_persons_of_a_type.page_1", - 'route_parameters' => ['actor_type' => $actorType->id()] - ] + $base_plugin_definition; - } - return $links; - } -} diff --git a/src/Plugin/Menu/SeeAllActorsMenuLink.php b/src/Plugin/Menu/SeeAllActorsMenuLink.php deleted file mode 100644 index b54ba55..0000000 --- a/src/Plugin/Menu/SeeAllActorsMenuLink.php +++ /dev/null @@ -1,9 +0,0 @@ -