Added target field to case, and added fee category vocab to opencase config

This commit is contained in:
2022-04-03 17:31:00 +01:00
parent c3f802835f
commit 167166b898
5 changed files with 59 additions and 2 deletions

View File

@ -1,4 +1,20 @@
<?php
use \Drupal\Core\Field\BaseFieldDefinition;
function opencase_cases_update_90002() {
$field_storage_definition = BaseFieldDefinition::create('entity_reference')
->setLabel(t('Target'))
->setRevisionable(TRUE)
->setSetting('target_type', 'oc_actor')
->setSetting('handler', 'default')
->setDefaultValueCallback('\Drupal\opencase_cases\Entity\OCCase::defaultTarget')
->setDisplayConfigurable('form', true)
->setDisplayConfigurable('view', true);
\Drupal::entityDefinitionUpdateManager()
->installFieldStorageDefinition('oc_target', 'oc_case', 'opencase_cases', $field_storage_definition);
}
function opencase_cases_update_8025() {
//check if the table exists first. If not, then create the entity.
@ -10,7 +26,7 @@ function opencase_cases_update_8025() {
}
function opencase_cases_update_8026() {
$storage_definition = \Drupal\Core\Field\BaseFieldDefinition::create('entity_reference')
$storage_definition = BaseFieldDefinition::create('entity_reference')
->setLabel(t('Role'))
->setSetting('target_type', 'taxonomy_term')
->setSetting('handler_settings', ['target_bundles' => ['oc_case_provider_role' => 'oc_case_provider_role']])

View File

@ -89,6 +89,12 @@ class OCCase extends RevisionableContentEntityBase implements OCCaseInterface {
];
}
public static function defaultTarget() {
if (opencase_entities_get('target_id')) return [opencase_entities_get('target_id')];
else return [];
}
/**
* {@inheritdoc}
*/
@ -202,6 +208,8 @@ class OCCase extends RevisionableContentEntityBase implements OCCaseInterface {
return $this;
}
/**
* {@inheritdoc}
*/
@ -230,6 +238,17 @@ class OCCase extends RevisionableContentEntityBase implements OCCaseInterface {
'type' => 'author',
'weight' => 80,
]);
$fields['oc_target'] = BaseFieldDefinition::create('entity_reference')
->setLabel(t('Target'))
->setRevisionable(TRUE)
->setSetting('target_type', 'oc_actor')
->setSetting('handler', 'default')
->setDefaultValueCallback('\Drupal\opencase_cases\Entity\OCCase::defaultTarget')
->setDisplayConfigurable('form', true)
->setDisplayConfigurable('view', true);
$fields['name'] = BaseFieldDefinition::create('string')
->setLabel(t('Title'))
->setRevisionable(TRUE)

View File

@ -91,7 +91,7 @@ function opencase_entities_theme() {
* so that it can be used as a default callback for an entity reference field.
*/
function opencase_entities_get($key) {
\Drupal::request()->query->get($key);
return \Drupal::request()->query->get($key);
}
/**