Compare commits

..

4 Commits

Author SHA1 Message Date
d8f1f4cbdd Added links to admin menu for managing taxonomies 2022-04-21 08:46:13 +01:00
22640f02b6 Started adding HookHelper and tests but the tests aren't working 2022-04-21 08:29:32 +01:00
797da77803 mob next [ci-skip] [ci skip] [skip ci] 2022-04-08 12:51:38 +01:00
66f95f46bf mob next [ci-skip] [ci skip] [skip ci]
lastFile:src/Plugin/Derivative/SeeAllOrganisationsMenuLink.php
2022-04-08 13:20:01 +02:00
13 changed files with 464 additions and 240 deletions

View File

@ -96,19 +96,36 @@ function opencase_cases_get_activities(Drupal\opencase_cases\entity\OCCase $case
return $activities; return $activities;
} }
function opencase_cases_get_amount(Drupal\opencase_cases\entity\OCCaseFee $case_fee): string {
if (!isEmpty($case_fee->amount)) return $case_fee->amount->first()->value;
else return '0';
}
function opencase_cases_get_case(Drupal\opencase_cases\entity\OCCaseFee $case_fee): Drupal\opencase_cases\entity\OCCase {
return $case_fee->oc_case->referencedEntities()[0];
}
function opencase_cases_update_total_fee_for_case_belonging_to_case_fee(Drupal\opencase_cases\entity\OCCaseFee $case_fee): void {
$total = 0;
$case = opencase_cases_get_case($case_fee);
$case_fees = opencase_cases_get_case_fees($case);
foreach($case_fees as $case_fee) {
$total += opencase_cases_get_amount($case_fee);
}
$case->set('total_fee', $total);
$case->save();
}
function opencase_cases_oc_case_fee_update(Drupal\opencase_cases\entity\OCCaseFee $case_fee): void { function opencase_cases_oc_case_fee_update(Drupal\opencase_cases\entity\OCCaseFee $case_fee): void {
$case = $case_fee->getCase(); opencase_cases_update_total_fee_for_case_belonging_to_case_fee($case_fee);
$case->addToTotalFee($case_fee->amount->value - $case_fee->original->amount->value);
} }
function opencase_cases_oc_case_fee_insert(Drupal\opencase_cases\entity\OCCaseFee $case_fee): void { function opencase_cases_oc_case_fee_insert(Drupal\opencase_cases\entity\OCCaseFee $case_fee): void {
$case = $case_fee->getCase(); opencase_cases_update_total_fee_for_case_belonging_to_case_fee($case_fee);
$case->addToTotalFee($case_fee->amount->value);
} }
function opencase_cases_oc_case_fee_delete(Drupal\opencase_cases\entity\OCCaseFee $case_fee): void { function opencase_cases_oc_case_fee_delete(Drupal\opencase_cases\entity\OCCaseFee $case_fee): void {
$case = $case_fee->getCase(); opencase_cases_update_total_fee_for_case_belonging_to_case_fee($case_fee);
$case->addToTotalFee(0 - $case_fee->amount->value);
} }
function opencase_cases_entity_base_field_info($entity_type) { function opencase_cases_entity_base_field_info($entity_type) {

View File

@ -75,25 +75,22 @@ use Drupal\user\UserInterface;
* field_ui_base_route = "entity.oc_case_type.edit_form" * field_ui_base_route = "entity.oc_case_type.edit_form"
* ) * )
*/ */
class OCCase extends RevisionableContentEntityBase implements OCCaseInterface class OCCase extends RevisionableContentEntityBase implements OCCaseInterface {
{
use EntityChangedTrait; use EntityChangedTrait;
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
public static function preCreate(EntityStorageInterface $storage_controller, array &$values) public static function preCreate(EntityStorageInterface $storage_controller, array &$values) {
{
parent::preCreate($storage_controller, $values); parent::preCreate($storage_controller, $values);
$values += [ $values += [
'user_id' => \Drupal::currentUser()->id(), 'user_id' => \Drupal::currentUser()->id(),
]; ];
} }
public static function defaultTarget() public static function defaultTarget() {
{
if (opencase_entities_get('target_id')) return [opencase_entities_get('target_id')]; if (opencase_entities_get('target_id')) return [opencase_entities_get('target_id')];
else return []; else return [];
} }
@ -101,13 +98,13 @@ class OCCase extends RevisionableContentEntityBase implements OCCaseInterface
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
protected function urlRouteParameters($rel) protected function urlRouteParameters($rel) {
{
$uri_route_parameters = parent::urlRouteParameters($rel); $uri_route_parameters = parent::urlRouteParameters($rel);
if ($rel === 'revision_revert' && $this instanceof RevisionableInterface) { if ($rel === 'revision_revert' && $this instanceof RevisionableInterface) {
$uri_route_parameters[$this->getEntityTypeId() . '_revision'] = $this->getRevisionId(); $uri_route_parameters[$this->getEntityTypeId() . '_revision'] = $this->getRevisionId();
} elseif ($rel === 'revision_delete' && $this instanceof RevisionableInterface) { }
elseif ($rel === 'revision_delete' && $this instanceof RevisionableInterface) {
$uri_route_parameters[$this->getEntityTypeId() . '_revision'] = $this->getRevisionId(); $uri_route_parameters[$this->getEntityTypeId() . '_revision'] = $this->getRevisionId();
} }
@ -117,8 +114,7 @@ class OCCase extends RevisionableContentEntityBase implements OCCaseInterface
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
public function preSave(EntityStorageInterface $storage) public function preSave(EntityStorageInterface $storage) {
{
parent::preSave($storage); parent::preSave($storage);
foreach (array_keys($this->getTranslationLanguages()) as $langcode) { foreach (array_keys($this->getTranslationLanguages()) as $langcode) {
@ -140,16 +136,14 @@ class OCCase extends RevisionableContentEntityBase implements OCCaseInterface
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
public function getName() public function getName() {
{
return $this->get('name')->value; return $this->get('name')->value;
} }
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
public function setName($name) public function setName($name) {
{
$this->set('name', $name); $this->set('name', $name);
return $this; return $this;
} }
@ -157,16 +151,14 @@ class OCCase extends RevisionableContentEntityBase implements OCCaseInterface
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
public function getCreatedTime() public function getCreatedTime() {
{
return $this->get('created')->value; return $this->get('created')->value;
} }
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
public function setCreatedTime($timestamp) public function setCreatedTime($timestamp) {
{
$this->set('created', $timestamp); $this->set('created', $timestamp);
return $this; return $this;
} }
@ -174,24 +166,21 @@ class OCCase extends RevisionableContentEntityBase implements OCCaseInterface
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
public function getOwner() public function getOwner() {
{
return $this->get('user_id')->entity; return $this->get('user_id')->entity;
} }
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
public function getOwnerId() public function getOwnerId() {
{
return $this->get('user_id')->target_id; return $this->get('user_id')->target_id;
} }
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
public function setOwnerId($uid) public function setOwnerId($uid) {
{
$this->set('user_id', $uid); $this->set('user_id', $uid);
return $this; return $this;
} }
@ -199,8 +188,7 @@ class OCCase extends RevisionableContentEntityBase implements OCCaseInterface
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
public function setOwner(UserInterface $account) public function setOwner(UserInterface $account) {
{
$this->set('user_id', $account->id()); $this->set('user_id', $account->id());
return $this; return $this;
} }
@ -208,30 +196,24 @@ class OCCase extends RevisionableContentEntityBase implements OCCaseInterface
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
public function isPublished() public function isPublished() {
{ return (bool) $this->getEntityKey('status');
return (bool)$this->getEntityKey('status');
} }
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
public function setPublished($published) public function setPublished($published) {
{
$this->set('status', $published ? TRUE : FALSE); $this->set('status', $published ? TRUE : FALSE);
return $this; return $this;
} }
public function addToTotalFee(float $amountToAdd): void {
$this->set('total_fee', $this->total_fee->value + $amountToAdd);
$this->save();
}
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
public static function baseFieldDefinitions(EntityTypeInterface $entity_type) public static function baseFieldDefinitions(EntityTypeInterface $entity_type) {
{
$fields = parent::baseFieldDefinitions($entity_type); $fields = parent::baseFieldDefinitions($entity_type);
// not currently used. Will add form and view settings when ready // not currently used. Will add form and view settings when ready
@ -239,8 +221,7 @@ class OCCase extends RevisionableContentEntityBase implements OCCaseInterface
->setLabel(t('Visible')) ->setLabel(t('Visible'))
->setDescription('If this box is not ticked this record will be hidden from view for most users. Users with access to unpublished entities will be able to restore it if needed.') ->setDescription('If this box is not ticked this record will be hidden from view for most users. Users with access to unpublished entities will be able to restore it if needed.')
->setRevisionable(TRUE) ->setRevisionable(TRUE)
->setDisplayConfigurable('form', true) ->setDisplayConfigurable("form", TRUE)
->setDisplayConfigurable('view', true)
->setDefaultValue(TRUE); ->setDefaultValue(TRUE);
$fields['user_id'] = BaseFieldDefinition::create('entity_reference') $fields['user_id'] = BaseFieldDefinition::create('entity_reference')
@ -251,17 +232,22 @@ class OCCase extends RevisionableContentEntityBase implements OCCaseInterface
->setSetting('handler', 'default') ->setSetting('handler', 'default')
->setTranslatable(TRUE) ->setTranslatable(TRUE)
->setDisplayConfigurable('form', true) ->setDisplayConfigurable('form', true)
->setDisplayConfigurable('view', true); ->setDisplayConfigurable('view', true)
->setDisplayOptions('view', [
'label' => 'above',
'type' => 'author',
'weight' => 80,
]);
$fields['oc_target'] = BaseFieldDefinition::create('entity_reference') $fields['oc_target'] = BaseFieldDefinition::create('entity_reference')
->setLabel(t('Target')) ->setLabel(t('Target'))
->setRevisionable(TRUE) ->setRevisionable(TRUE)
->setSetting('target_type', 'oc_actor') ->setSetting('target_type', 'oc_actor')
->setSetting('handler', 'default') ->setSetting('handler', 'default')
->setDefaultValueCallback('\Drupal\opencase_cases\Entity\OCCase::defaultTarget') ->setDefaultValueCallback('\Drupal\opencase_cases\Entity\OCCase::defaultTarget')
->setDisplayConfigurable('form', true) ->setDisplayConfigurable('form', true)
->setDisplayConfigurable('view', true); ->setDisplayConfigurable('view', true);
$fields['name'] = BaseFieldDefinition::create('string') $fields['name'] = BaseFieldDefinition::create('string')
->setLabel(t('Title')) ->setLabel(t('Title'))
@ -271,8 +257,14 @@ class OCCase extends RevisionableContentEntityBase implements OCCaseInterface
'text_processing' => 0, 'text_processing' => 0,
]) ])
->setDefaultValue('') ->setDefaultValue('')
->setDisplayConfigurable('form', true) ->setDisplayOptions('view', [
->setDisplayConfigurable('view', true) 'label' => 'hidden',
'type' => 'string',
])
->setDisplayOptions('form', [
'type' => 'string_textfield',
'weight' => -100,
])
->setRequired(TRUE); ->setRequired(TRUE);
@ -286,7 +278,18 @@ class OCCase extends RevisionableContentEntityBase implements OCCaseInterface
->setSetting('uri_scheme', 'private') ->setSetting('uri_scheme', 'private')
->setCardinality(-1) ->setCardinality(-1)
->setDisplayConfigurable('form', true) ->setDisplayConfigurable('form', true)
->setDisplayConfigurable('view', true); ->setDisplayConfigurable('view', true)
->setDisplayOptions('form', [
'type' => 'file_generic',
'weight' => -1,
'settings' => [
'progress_indicator' => 'throbber',
],
])
->setDisplayOptions('view', [
'label' => 'above',
'settings' => ['use_description_as_link_text' => 'true']
]);
$fields['created'] = BaseFieldDefinition::create('created') $fields['created'] = BaseFieldDefinition::create('created')
->setLabel(t('Created on')) ->setLabel(t('Created on'))
@ -318,13 +321,12 @@ class OCCase extends RevisionableContentEntityBase implements OCCaseInterface
$fields['total_fee'] = BaseFieldDefinition::create('decimal') $fields['total_fee'] = BaseFieldDefinition::create('decimal')
->setLabel(t('Total Fee')) ->setLabel(t('Total Fee'))
->setRevisionable(TRUE) ->setRevisionable(TRUE)
->setSettings([ ->setSettings([
'prefix' => '£', 'prefix' => '£',
]) ])
->setDisplayConfigurable('form', true) ->SetDisplayConfigurable("view", true);
->setDisplayConfigurable('view', true);
return $fields; return $fields;
} }

View File

@ -190,10 +190,6 @@ class OCCaseFee extends EditorialContentEntityBase implements OCCaseFeeInterface
return $this; return $this;
} }
public function getCase():\Drupal\opencase_cases\Entity\OCCase {
return \Drupal\opencase_cases\Entity\OCCase::load($this->oc_case->target_id);
}
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
@ -210,6 +206,21 @@ class OCCaseFee extends EditorialContentEntityBase implements OCCaseFeeInterface
->setSetting('target_type', 'user') ->setSetting('target_type', 'user')
->setSetting('handler', 'default') ->setSetting('handler', 'default')
->setTranslatable(TRUE) ->setTranslatable(TRUE)
->setDisplayOptions('view', [
'label' => 'hidden',
'type' => 'author',
'weight' => 0,
])
->setDisplayOptions('form', [
'type' => 'entity_reference_autocomplete',
'weight' => 5,
'settings' => [
'match_operator' => 'CONTAINS',
'size' => '60',
'autocomplete_type' => 'tags',
'placeholder' => '',
],
])
->setDisplayConfigurable('form', TRUE) ->setDisplayConfigurable('form', TRUE)
->setDisplayConfigurable('view', TRUE); ->setDisplayConfigurable('view', TRUE);
@ -222,6 +233,15 @@ class OCCaseFee extends EditorialContentEntityBase implements OCCaseFeeInterface
'text_processing' => 0, 'text_processing' => 0,
]) ])
->setDefaultValue('') ->setDefaultValue('')
->setDisplayOptions('view', [
'label' => 'above',
'type' => 'string',
'weight' => -4,
])
->setDisplayOptions('form', [
'type' => 'string_textfield',
'weight' => -4,
])
->setDisplayConfigurable('form', TRUE) ->setDisplayConfigurable('form', TRUE)
->setDisplayConfigurable('view', TRUE) ->setDisplayConfigurable('view', TRUE)
->setRequired(TRUE); ->setRequired(TRUE);

View File

@ -77,8 +77,7 @@ use Drupal\user\UserInterface;
* field_ui_base_route = "entity.oc_case_provision_type.edit_form" * field_ui_base_route = "entity.oc_case_provision_type.edit_form"
* ) * )
*/ */
class OCCaseProvision extends EditorialContentEntityBase implements OCCaseProvisionInterface class OCCaseProvision extends EditorialContentEntityBase implements OCCaseProvisionInterface {
{
use EntityChangedTrait; use EntityChangedTrait;
use EntityPublishedTrait; use EntityPublishedTrait;
@ -86,8 +85,7 @@ class OCCaseProvision extends EditorialContentEntityBase implements OCCaseProvis
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
public static function preCreate(EntityStorageInterface $storage_controller, array &$values) public static function preCreate(EntityStorageInterface $storage_controller, array &$values) {
{
parent::preCreate($storage_controller, $values); parent::preCreate($storage_controller, $values);
$values += [ $values += [
'user_id' => \Drupal::currentUser()->id(), 'user_id' => \Drupal::currentUser()->id(),
@ -97,13 +95,13 @@ class OCCaseProvision extends EditorialContentEntityBase implements OCCaseProvis
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
protected function urlRouteParameters($rel) protected function urlRouteParameters($rel) {
{
$uri_route_parameters = parent::urlRouteParameters($rel); $uri_route_parameters = parent::urlRouteParameters($rel);
if ($rel === 'revision_revert' && $this instanceof RevisionableInterface) { if ($rel === 'revision_revert' && $this instanceof RevisionableInterface) {
$uri_route_parameters[$this->getEntityTypeId() . '_revision'] = $this->getRevisionId(); $uri_route_parameters[$this->getEntityTypeId() . '_revision'] = $this->getRevisionId();
} elseif ($rel === 'revision_delete' && $this instanceof RevisionableInterface) { }
elseif ($rel === 'revision_delete' && $this instanceof RevisionableInterface) {
$uri_route_parameters[$this->getEntityTypeId() . '_revision'] = $this->getRevisionId(); $uri_route_parameters[$this->getEntityTypeId() . '_revision'] = $this->getRevisionId();
} }
@ -113,8 +111,7 @@ class OCCaseProvision extends EditorialContentEntityBase implements OCCaseProvis
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
public function preSave(EntityStorageInterface $storage) public function preSave(EntityStorageInterface $storage) {
{
parent::preSave($storage); parent::preSave($storage);
foreach (array_keys($this->getTranslationLanguages()) as $langcode) { foreach (array_keys($this->getTranslationLanguages()) as $langcode) {
@ -136,16 +133,14 @@ class OCCaseProvision extends EditorialContentEntityBase implements OCCaseProvis
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
public function getName() public function getName() {
{
return $this->get('name')->value; return $this->get('name')->value;
} }
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
public function setName($name) public function setName($name) {
{
$this->set('name', $name); $this->set('name', $name);
return $this; return $this;
} }
@ -153,16 +148,14 @@ class OCCaseProvision extends EditorialContentEntityBase implements OCCaseProvis
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
public function getCreatedTime() public function getCreatedTime() {
{
return $this->get('created')->value; return $this->get('created')->value;
} }
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
public function setCreatedTime($timestamp) public function setCreatedTime($timestamp) {
{
$this->set('created', $timestamp); $this->set('created', $timestamp);
return $this; return $this;
} }
@ -170,24 +163,21 @@ class OCCaseProvision extends EditorialContentEntityBase implements OCCaseProvis
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
public function getOwner() public function getOwner() {
{
return $this->get('user_id')->entity; return $this->get('user_id')->entity;
} }
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
public function getOwnerId() public function getOwnerId() {
{
return $this->get('user_id')->target_id; return $this->get('user_id')->target_id;
} }
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
public function setOwnerId($uid) public function setOwnerId($uid) {
{
$this->set('user_id', $uid); $this->set('user_id', $uid);
return $this; return $this;
} }
@ -195,8 +185,7 @@ class OCCaseProvision extends EditorialContentEntityBase implements OCCaseProvis
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
public function setOwner(UserInterface $account) public function setOwner(UserInterface $account) {
{
$this->set('user_id', $account->id()); $this->set('user_id', $account->id());
return $this; return $this;
} }
@ -204,8 +193,7 @@ class OCCaseProvision extends EditorialContentEntityBase implements OCCaseProvis
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
public static function baseFieldDefinitions(EntityTypeInterface $entity_type) public static function baseFieldDefinitions(EntityTypeInterface $entity_type) {
{
$fields = parent::baseFieldDefinitions($entity_type); $fields = parent::baseFieldDefinitions($entity_type);
// Add the published field. // Add the published field.
@ -218,6 +206,21 @@ class OCCaseProvision extends EditorialContentEntityBase implements OCCaseProvis
->setSetting('target_type', 'user') ->setSetting('target_type', 'user')
->setSetting('handler', 'default') ->setSetting('handler', 'default')
->setTranslatable(TRUE) ->setTranslatable(TRUE)
->setDisplayOptions('view', [
'label' => 'hidden',
'type' => 'author',
'weight' => 0,
])
->setDisplayOptions('form', [
'type' => 'entity_reference_autocomplete',
'weight' => 5,
'settings' => [
'match_operator' => 'CONTAINS',
'size' => '60',
'autocomplete_type' => 'tags',
'placeholder' => '',
],
])
->setDisplayConfigurable('form', TRUE) ->setDisplayConfigurable('form', TRUE)
->setDisplayConfigurable('view', TRUE); ->setDisplayConfigurable('view', TRUE);
@ -230,17 +233,25 @@ class OCCaseProvision extends EditorialContentEntityBase implements OCCaseProvis
'text_processing' => 0, 'text_processing' => 0,
]) ])
->setDefaultValue('') ->setDefaultValue('')
->setDisplayOptions('view', [
'label' => 'above',
'type' => 'string',
'weight' => -4,
])
->setDisplayOptions('form', [
'type' => 'string_textfield',
'weight' => -4,
])
->setDisplayConfigurable('form', TRUE) ->setDisplayConfigurable('form', TRUE)
->setDisplayConfigurable('view', TRUE) ->setDisplayConfigurable('view', TRUE)
->setRequired(TRUE); ->setRequired(TRUE);
$fields['status'] = BaseFieldDefinition::create('boolean') $fields['status'] = BaseFieldDefinition::create('boolean')
->setLabel(t('Visible')) ->setLabel(t('Visible'))
->setDescription('If this box is not ticked this record will be hidden from view for most users. Users with access to unpublished entities will be able to restore it if needed.') ->setDescription('If this box is not ticked this record will be hidden from view for most users. Users with access to unpublished entities will be able to restore it if needed.')
->setRevisionable(TRUE) ->setRevisionable(TRUE)
->setDisplayConfigurable('form', true) ->setDisplayConfigurable('form', TRUE)
->setDisplayConfigurable('view', true)
->setDefaultValue(TRUE); ->setDefaultValue(TRUE);
@ -287,7 +298,7 @@ class OCCaseProvision extends EditorialContentEntityBase implements OCCaseProvis
->setDisplayConfigurable("form", true) ->setDisplayConfigurable("form", true)
->setRequired(TRUE); ->setRequired(TRUE);
$fields['oc_case_provider_role'] = \Drupal\Core\Field\BaseFieldDefinition::create('entity_reference') $fields['oc_case_provider_role'] = \Drupal\Core\Field\BaseFieldDefinition::create('entity_reference')
->setLabel(t('Role')) ->setLabel(t('Role'))
->setSetting('target_type', 'taxonomy_term') ->setSetting('target_type', 'taxonomy_term')
->setSetting('handler_settings', ['target_bundles' => ['oc_case_provider_role' => 'oc_case_provider_role']]) ->setSetting('handler_settings', ['target_bundles' => ['oc_case_provider_role' => 'oc_case_provider_role']])

View File

@ -0,0 +1,9 @@
<?php
namespace Drupal\opencase_cases\Helper;
class HookHelper {
public static function onCaseFeeUpdate(\Drupal\opencase_cases\Entity\OCCaseFee $caseFee) {
}
}

View File

@ -122,7 +122,7 @@ class OCActor extends RevisionableContentEntityBase implements OCActorInterface
$name = $this->get('first_name')->value . ' '; $name = $this->get('first_name')->value . ' ';
if ($this->get('middle_names')->value) $name .= $this->get('middle_names')->value . ' '; if ($this->get('middle_names')->value) $name .= $this->get('middle_names')->value . ' ';
$name .= $this->get('last_name')->value . ' '; $name .= $this->get('last_name')->value . ' ';
$this->setName($name); $this->setName($name);
// If no revision author has been set explicitly, make the oc_actor owner the // If no revision author has been set explicitly, make the oc_actor owner the
@ -218,7 +218,6 @@ class OCActor extends RevisionableContentEntityBase implements OCActorInterface
->setDescription('If this box is not ticked this record will be hidden from view for most users. Users with access to unpublished entities will be able to restore it if needed.') ->setDescription('If this box is not ticked this record will be hidden from view for most users. Users with access to unpublished entities will be able to restore it if needed.')
->setRevisionable(TRUE) ->setRevisionable(TRUE)
->setDisplayConfigurable("form", true) ->setDisplayConfigurable("form", true)
->setDisplayConfigurable("view", true)
->setDefaultValue(TRUE); ->setDefaultValue(TRUE);
// The name gets set on preSave, from the first middle and last // The name gets set on preSave, from the first middle and last
@ -227,7 +226,7 @@ class OCActor extends RevisionableContentEntityBase implements OCActorInterface
->setSettings([ ->setSettings([
'max_length' => 100, 'max_length' => 100,
'text_processing' => 0, 'text_processing' => 0,
]); ]);
$fields['user_id'] = BaseFieldDefinition::create('entity_reference') $fields['user_id'] = BaseFieldDefinition::create('entity_reference')
->setLabel(t('Entered by')) ->setLabel(t('Entered by'))
@ -235,8 +234,6 @@ class OCActor extends RevisionableContentEntityBase implements OCActorInterface
->setRevisionable(TRUE) ->setRevisionable(TRUE)
->setSetting('target_type', 'user') ->setSetting('target_type', 'user')
->setSetting('handler', 'default') ->setSetting('handler', 'default')
->setDisplayConfigurable("form", true)
->setDisplayConfigurable("view", true)
->setTranslatable(TRUE); ->setTranslatable(TRUE);
$fields['first_name'] = BaseFieldDefinition::create('string') $fields['first_name'] = BaseFieldDefinition::create('string')
@ -250,6 +247,10 @@ class OCActor extends RevisionableContentEntityBase implements OCActorInterface
->setDisplayConfigurable("form", true) ->setDisplayConfigurable("form", true)
->setDisplayConfigurable("view", true) ->setDisplayConfigurable("view", true)
->setDefaultValue('') ->setDefaultValue('')
->setDisplayOptions('form', [
'type' => 'string_textfield',
'weight' => -100,
])
->setRequired(TRUE); ->setRequired(TRUE);
$fields['middle_names'] = BaseFieldDefinition::create('string') $fields['middle_names'] = BaseFieldDefinition::create('string')
@ -263,6 +264,10 @@ class OCActor extends RevisionableContentEntityBase implements OCActorInterface
->setDisplayConfigurable("form", true) ->setDisplayConfigurable("form", true)
->setDisplayConfigurable("view", true) ->setDisplayConfigurable("view", true)
->setDefaultValue('') ->setDefaultValue('')
->setDisplayOptions('form', [
'type' => 'string_textfield',
'weight' => -99,
])
->setRequired(FALSE); ->setRequired(FALSE);
$fields['last_name'] = BaseFieldDefinition::create('string') $fields['last_name'] = BaseFieldDefinition::create('string')
@ -276,6 +281,10 @@ class OCActor extends RevisionableContentEntityBase implements OCActorInterface
'text_processing' => 0, 'text_processing' => 0,
]) ])
->setDefaultValue('') ->setDefaultValue('')
->setDisplayOptions('form', [
'type' => 'string_textfield',
'weight' => -98,
])
->setRequired(TRUE); ->setRequired(TRUE);
// Contact details. // Contact details.
@ -288,7 +297,16 @@ class OCActor extends RevisionableContentEntityBase implements OCActorInterface
'text_processing' => 0, 'text_processing' => 0,
)) ))
->setDisplayConfigurable("form", true) ->setDisplayConfigurable("form", true)
->setDisplayConfigurable("view", true); ->setDisplayConfigurable("view", true)
->setDisplayOptions('view', array(
'label' => 'above',
'type' => 'string',
'weight' => -5,
))
->setDisplayOptions('form', array(
'type' => 'string_textfield',
'weight' => -5,
));
$fields['phone'] = BaseFieldDefinition::create('string') $fields['phone'] = BaseFieldDefinition::create('string')
->setLabel(t('Main Phone Number')) ->setLabel(t('Main Phone Number'))
->setRevisionable(TRUE) ->setRevisionable(TRUE)
@ -298,7 +316,16 @@ class OCActor extends RevisionableContentEntityBase implements OCActorInterface
'text_processing' => 0, 'text_processing' => 0,
)) ))
->setDisplayConfigurable("form", true) ->setDisplayConfigurable("form", true)
->setDisplayConfigurable("view", true); ->setDisplayConfigurable("view", true)
->setDisplayOptions('view', array(
'label' => 'above',
'type' => 'string',
'weight' => -4,
))
->setDisplayOptions('form', array(
'type' => 'string_textfield',
'weight' => -4,
));
$fields['phone2'] = BaseFieldDefinition::create('string') $fields['phone2'] = BaseFieldDefinition::create('string')
->setRevisionable(TRUE) ->setRevisionable(TRUE)
->setLabel(t('Alternative Phone Number')) ->setLabel(t('Alternative Phone Number'))
@ -308,7 +335,16 @@ class OCActor extends RevisionableContentEntityBase implements OCActorInterface
'text_processing' => 0, 'text_processing' => 0,
)) ))
->setDisplayConfigurable("form", true) ->setDisplayConfigurable("form", true)
->setDisplayConfigurable("view", true); ->setDisplayConfigurable("view", 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') $fields['postal_address'] = BaseFieldDefinition::create('string_long')
->setRevisionable(TRUE) ->setRevisionable(TRUE)
->setLabel(t('Postal Address')) ->setLabel(t('Postal Address'))
@ -319,7 +355,16 @@ class OCActor extends RevisionableContentEntityBase implements OCActorInterface
'text_processing' => 0, 'text_processing' => 0,
)) ))
->setDisplayConfigurable("form", true) ->setDisplayConfigurable("form", true)
->setDisplayConfigurable("view", true); ->setDisplayConfigurable("view", true)
->setDisplayOptions('view', array(
'label' => 'above',
'type' => 'basic_string',
'weight' => -2,
))
->setDisplayOptions('form', array(
'type' => 'string_textarea',
'weight' => -2,
));
$fields['post_code'] = BaseFieldDefinition::create('string') $fields['post_code'] = BaseFieldDefinition::create('string')
->setRevisionable(TRUE) ->setRevisionable(TRUE)
->setLabel(t('Post Code')) ->setLabel(t('Post Code'))
@ -329,7 +374,16 @@ class OCActor extends RevisionableContentEntityBase implements OCActorInterface
'text_processing' => 0, 'text_processing' => 0,
)) ))
->setDisplayConfigurable("form", true) ->setDisplayConfigurable("form", true)
->setDisplayConfigurable("view", true); ->setDisplayConfigurable("view", true)
->setDisplayOptions('view', array(
'label' => 'above',
'type' => 'string',
'weight' => -1,
))
->setDisplayOptions('form', array(
'type' => 'string_textfield',
'weight' => -1,
));
$fields['created'] = BaseFieldDefinition::create('created') $fields['created'] = BaseFieldDefinition::create('created')
->setLabel(t('Created')) ->setLabel(t('Created'))
@ -346,6 +400,13 @@ class OCActor extends RevisionableContentEntityBase implements OCActorInterface
->setRevisionable(TRUE) ->setRevisionable(TRUE)
->setTranslatable(TRUE); ->setTranslatable(TRUE);
$fields['user_login'] = BaseFieldDefinition::create('boolean')
->setLabel(t('Login Access'))
->setDescription(t('Whether this person should be able to log into the system.'))
->setDisplayConfigurable('form', true)
->setDisplayConfigurable('display', true)
->setDefaultValue(FALSE);
return $fields; return $fields;
} }

View File

@ -112,9 +112,7 @@ class OCEqualOpps extends ContentEntityBase implements OCEqualOppsInterface {
->setSettings([ ->setSettings([
'max_length' => 50, 'max_length' => 50,
'text_processing' => 0, 'text_processing' => 0,
]) ]);
->setDisplayConfigurable('form', true)
->setDisplayConfigurable('view', true);
$fields['oc_actor'] = \Drupal\Core\Field\BaseFieldDefinition::create('entity_reference') $fields['oc_actor'] = \Drupal\Core\Field\BaseFieldDefinition::create('entity_reference')
->setLabel(t('Person')) ->setLabel(t('Person'))
@ -122,8 +120,14 @@ class OCEqualOpps extends ContentEntityBase implements OCEqualOppsInterface {
->setSetting('target_type', 'oc_actor') ->setSetting('target_type', 'oc_actor')
->setSetting('handler', 'default') ->setSetting('handler', 'default')
->setCardinality(1) ->setCardinality(1)
->setDisplayConfigurable('form', true) ->setDisplayOptions('view', [
->setDisplayConfigurable('view', true) 'type' => 'string',
'weight' => -100,
])
->setDisplayOptions('form', [
'type' => 'entity_reference_autocomplete_tags',
'weight' => -100,
])
->setRequired(TRUE); ->setRequired(TRUE);
$fields['age'] = BaseFieldDefinition::create('list_string') $fields['age'] = BaseFieldDefinition::create('list_string')
@ -140,13 +144,27 @@ class OCEqualOpps extends ContentEntityBase implements OCEqualOppsInterface {
], ],
]) ])
->setDisplayConfigurable('form', true) ->setDisplayConfigurable('form', true)
->setDisplayConfigurable('form', true) ->setDisplayOptions('view', array(
->setDisplayConfigurable('view', true); 'label' => 'above',
'type' => 'string',
'weight' => -5,
))
->setDisplayOptions('form', array(
'type' => 'options_select',
'weight' => -5,
));
$fields['access_needs'] = BaseFieldDefinition::create('string_long') $fields['access_needs'] = BaseFieldDefinition::create('string_long')
->setLabel(t('Access Needs')) ->setLabel(t('Access Needs'))
->setRevisionable(TRUE) ->setRevisionable(TRUE)
->setDisplayConfigurable('form', true) ->setDisplayOptions('view', array(
->setDisplayConfigurable('view', true); 'label' => 'above',
'type' => 'string',
'weight' => -4,
))
->setDisplayOptions('form', array(
'type' => 'string_long',
'weight' => -4,
));
$fields['gender'] = BaseFieldDefinition::create('list_string') $fields['gender'] = BaseFieldDefinition::create('list_string')
->setRevisionable(TRUE) ->setRevisionable(TRUE)
->setLabel(t('Gender')) ->setLabel(t('Gender'))
@ -162,7 +180,15 @@ class OCEqualOpps extends ContentEntityBase implements OCEqualOppsInterface {
], ],
]) ])
->setDisplayConfigurable('form', true) ->setDisplayConfigurable('form', true)
->setDisplayConfigurable('view', true); ->setDisplayOptions('view', array(
'label' => 'above',
'type' => 'string',
'weight' => -5,
))
->setDisplayOptions('form', array(
'type' => 'options_select',
'weight' => -5,
));
$fields['race_ethnicity'] = BaseFieldDefinition::create('list_string') $fields['race_ethnicity'] = BaseFieldDefinition::create('list_string')
->setRevisionable(TRUE) ->setRevisionable(TRUE)
->setLabel(t('Race/Ethnicity')) ->setLabel(t('Race/Ethnicity'))
@ -189,7 +215,15 @@ class OCEqualOpps extends ContentEntityBase implements OCEqualOppsInterface {
], ],
]) ])
->setDisplayConfigurable('form', true) ->setDisplayConfigurable('form', true)
->setDisplayConfigurable('view', true); ->setDisplayOptions('view', array(
'label' => 'above',
'type' => 'string',
'weight' => -5,
))
->setDisplayOptions('form', array(
'type' => 'options_select',
'weight' => -5,
));
$fields['sexuality'] = BaseFieldDefinition::create('string') $fields['sexuality'] = BaseFieldDefinition::create('string')
->setLabel(t('Sexuality')) ->setLabel(t('Sexuality'))
->setRevisionable(TRUE) ->setRevisionable(TRUE)
@ -197,9 +231,18 @@ class OCEqualOpps extends ContentEntityBase implements OCEqualOppsInterface {
'max_length' => 20, 'max_length' => 20,
'text_processing' => 0, 'text_processing' => 0,
]) ])
->setDisplayConfigurable("form", true)
->setDisplayConfigurable("view", true)
->setDefaultValue('') ->setDefaultValue('')
->setDisplayConfigurable('form', true) ->setDisplayOptions('view', array(
->setDisplayConfigurable('view', true); 'label' => 'above',
'type' => 'string',
'weight' => -1,
))
->setDisplayOptions('form', [
'type' => 'string_textfield',
'weight' => -1,
]);
$fields['status']->setDescription(t('A boolean indicating whether the Equal Opps is published.')); $fields['status']->setDescription(t('A boolean indicating whether the Equal Opps is published.'));

View File

@ -149,9 +149,7 @@ class OCEvent extends ContentEntityBase implements OCEventInterface {
->setDescription(t('The user ID of author of the Event entity.')) ->setDescription(t('The user ID of author of the Event entity.'))
->setRevisionable(TRUE) ->setRevisionable(TRUE)
->setSetting('target_type', 'user') ->setSetting('target_type', 'user')
->setSetting('handler', 'default') ->setSetting('handler', 'default');
->setDisplayConfigurable('form', true)
->setDisplayConfigurable('view', true);
$fields['name'] = BaseFieldDefinition::create('string') $fields['name'] = BaseFieldDefinition::create('string')
->setLabel(t('Name')) ->setLabel(t('Name'))
@ -165,16 +163,15 @@ class OCEvent extends ContentEntityBase implements OCEventInterface {
'type' => 'string_textfield', 'type' => 'string_textfield',
'weight' => -4, 'weight' => -4,
]) ])
->setDisplayConfigurable('form', true) ->setDisplayConfigurable('form', TRUE)
->setDisplayConfigurable('view', true) ->setDisplayConfigurable('view', TRUE)
->setRequired(TRUE); ->setRequired(TRUE);
$fields['status'] = BaseFieldDefinition::create('boolean') $fields['status'] = BaseFieldDefinition::create('boolean')
->setLabel(t('Visible')) ->setLabel(t('Visible'))
->setDescription('If this box is not ticked this record will be hidden from view for most users. Users with access to unpublished entities will be able to restore it if needed.') ->setDescription('If this box is not ticked this record will be hidden from view for most users. Users with access to unpublished entities will be able to restore it if needed.')
->setRevisionable(TRUE) ->setRevisionable(TRUE)
->setDisplayConfigurable('form', true) ->setDisplayConfigurable("form", true)
->setDisplayConfigurable('view', true)
->setDefaultValue(TRUE); ->setDefaultValue(TRUE);
@ -193,8 +190,18 @@ class OCEvent extends ContentEntityBase implements OCEventInterface {
->setRequired(TRUE) ->setRequired(TRUE)
// Uses the currentDateTime function from the Activity entity // Uses the currentDateTime function from the Activity entity
->setDefaultValueCallback('\Drupal\opencase_entities\Entity\OCActivity::currentDateTime') ->setDefaultValueCallback('\Drupal\opencase_entities\Entity\OCActivity::currentDateTime')
->setDisplayConfigurable('form', true) ->setDisplayOptions('view', [
->setDisplayConfigurable('view', true); 'label' => 'above',
'type' => 'datetime_default',
'settings' => [
'format_type' => 'medium',
],
'weight' => -3,
])
->setDisplayOptions('form', [
'type' => 'datetime_default',
'weight' => -3,
]);
$fields['description'] = BaseFieldDefinition::create('string_long') $fields['description'] = BaseFieldDefinition::create('string_long')
->setLabel(t('Description')) ->setLabel(t('Description'))
@ -204,8 +211,15 @@ class OCEvent extends ContentEntityBase implements OCEventInterface {
'text_processing' => 0, 'text_processing' => 0,
]) ])
->setDefaultValue('') ->setDefaultValue('')
->setDisplayConfigurable('form', true) ->setDisplayOptions('view', [
->setDisplayConfigurable('view', true) 'label' => 'above',
'type' => 'basic_string',
'weight' => -1,
])
->setDisplayOptions('form', [
'type' => 'string_textarea',
'weight' => -1,
])
->setRequired(FALSE); ->setRequired(FALSE);
$fields['attendees'] = BaseFieldDefinition::create('entity_reference') $fields['attendees'] = BaseFieldDefinition::create('entity_reference')
@ -215,8 +229,14 @@ class OCEvent extends ContentEntityBase implements OCEventInterface {
->setSetting('handler', 'default') ->setSetting('handler', 'default')
->setTranslatable(TRUE) ->setTranslatable(TRUE)
->setCardinality(BaseFieldDefinition::CARDINALITY_UNLIMITED) ->setCardinality(BaseFieldDefinition::CARDINALITY_UNLIMITED)
->setDisplayConfigurable('form', true) ->setDisplayOptions('view', [
->setDisplayConfigurable('view', true) 'type' => 'string',
'weight' => 50,
])
->setDisplayOptions('form', [
'type' => 'entity_reference_autocomplete',
'weight' => 50,
])
->setRequired(FALSE); ->setRequired(FALSE);

View File

@ -204,12 +204,19 @@ class OCOrganisation extends EditorialContentEntityBase implements OCOrganisatio
$fields['notes'] = BaseFieldDefinition::create('string_long') $fields['notes'] = BaseFieldDefinition::create('string_long')
->setRevisionable(TRUE) ->setRevisionable(TRUE)
->setLabel(t('Notes')) ->setLabel(t('Notes'))
->setDisplayConfigurable('form', true)
->setDisplayConfigurable('view', true)
->setSettings(array( ->setSettings(array(
'default_value' => '', 'default_value' => '',
'max_length' => 255, 'max_length' => 255,
'text_processing' => 0, 'text_processing' => 0,
))
->setDisplayOptions('view', array(
'label' => 'above',
'type' => 'basic_string',
'weight' => 50,
))
->setDisplayOptions('form', array(
'type' => 'string_textarea',
'weight' => 50,
)); ));
$fields['website'] = BaseFieldDefinition::create('string') $fields['website'] = BaseFieldDefinition::create('string')
->setLabel(t('Website')) ->setLabel(t('Website'))
@ -219,8 +226,15 @@ class OCOrganisation extends EditorialContentEntityBase implements OCOrganisatio
'text_processing' => 0, 'text_processing' => 0,
]) ])
->setDefaultValue('') ->setDefaultValue('')
->setDisplayConfigurable('form', true) ->setDisplayOptions('view', [
->setDisplayConfigurable('view', true) 'label' => 'above',
'type' => 'string',
'weight' => 49,
])
->setDisplayOptions('form', [
'type' => 'string_textfield',
'weight' => 49,
])
->setRequired(FALSE); ->setRequired(FALSE);
$fields['contact_name'] = BaseFieldDefinition::create('string') $fields['contact_name'] = BaseFieldDefinition::create('string')
->setLabel(t('Contact Name')) ->setLabel(t('Contact Name'))
@ -231,8 +245,15 @@ class OCOrganisation extends EditorialContentEntityBase implements OCOrganisatio
'text_processing' => 0, 'text_processing' => 0,
]) ])
->setDefaultValue('') ->setDefaultValue('')
->setDisplayConfigurable('form', true) ->setDisplayOptions('view', [
->setDisplayConfigurable('view', true) 'label' => 'above',
'type' => 'string',
'weight' => 51,
])
->setDisplayOptions('form', [
'type' => 'string_textfield',
'weight' => 51,
])
->setRequired(FALSE); ->setRequired(FALSE);
$fields['contact_role'] = BaseFieldDefinition::create('string') $fields['contact_role'] = BaseFieldDefinition::create('string')
@ -244,8 +265,15 @@ class OCOrganisation extends EditorialContentEntityBase implements OCOrganisatio
'text_processing' => 0, 'text_processing' => 0,
]) ])
->setDefaultValue('') ->setDefaultValue('')
->setDisplayConfigurable('form', true) ->setDisplayOptions('view', [
->setDisplayConfigurable('view', true) 'label' => 'above',
'type' => 'string',
'weight' => 52,
])
->setDisplayOptions('form', [
'type' => 'string_textfield',
'weight' => 52,
])
->setRequired(FALSE); ->setRequired(FALSE);
$fields['email'] = BaseFieldDefinition::create('string') $fields['email'] = BaseFieldDefinition::create('string')
->setLabel(t('Email Address')) ->setLabel(t('Email Address'))
@ -255,8 +283,15 @@ class OCOrganisation extends EditorialContentEntityBase implements OCOrganisatio
'max_length' => 100, 'max_length' => 100,
'text_processing' => 0, 'text_processing' => 0,
)) ))
->setDisplayConfigurable('form', true) ->setDisplayOptions('view', array(
->setDisplayConfigurable('view', true); 'label' => 'above',
'type' => 'string',
'weight' => 52,
))
->setDisplayOptions('form', array(
'type' => 'string_textfield',
'weight' => 52,
));
$fields['phone'] = BaseFieldDefinition::create('string') $fields['phone'] = BaseFieldDefinition::create('string')
->setLabel(t('Phone Number')) ->setLabel(t('Phone Number'))
@ -266,8 +301,15 @@ class OCOrganisation extends EditorialContentEntityBase implements OCOrganisatio
'max_length' => 20, 'max_length' => 20,
'text_processing' => 0, 'text_processing' => 0,
)) ))
->setDisplayConfigurable('form', true) ->setDisplayOptions('view', array(
->setDisplayConfigurable('view', true); 'label' => 'above',
'type' => 'string',
'weight' => 53,
))
->setDisplayOptions('form', array(
'type' => 'string_textfield',
'weight' => 53,
));
$fields['postal_address'] = BaseFieldDefinition::create('string_long') $fields['postal_address'] = BaseFieldDefinition::create('string_long')
->setRevisionable(TRUE) ->setRevisionable(TRUE)
->setLabel(t('Postal Address')) ->setLabel(t('Postal Address'))
@ -277,8 +319,15 @@ class OCOrganisation extends EditorialContentEntityBase implements OCOrganisatio
'max_length' => 255, 'max_length' => 255,
'text_processing' => 0, 'text_processing' => 0,
)) ))
->setDisplayConfigurable('form', true) ->setDisplayOptions('view', array(
->setDisplayConfigurable('view', true); 'label' => 'above',
'type' => 'basic_string',
'weight' => 54,
))
->setDisplayOptions('form', array(
'type' => 'string_textarea',
'weight' => 54,
));
$fields['post_code'] = BaseFieldDefinition::create('string') $fields['post_code'] = BaseFieldDefinition::create('string')
->setRevisionable(TRUE) ->setRevisionable(TRUE)
->setLabel(t('Post Code')) ->setLabel(t('Post Code'))
@ -287,8 +336,15 @@ class OCOrganisation extends EditorialContentEntityBase implements OCOrganisatio
'max_length' => 10, 'max_length' => 10,
'text_processing' => 0, 'text_processing' => 0,
)) ))
->setDisplayConfigurable('form', true) ->setDisplayOptions('view', array(
->setDisplayConfigurable('view', true); 'label' => 'above',
'type' => 'string',
'weight' => 55,
))
->setDisplayOptions('form', array(
'type' => 'string_textfield',
'weight' => 55,
));
$fields['billing_contact_name'] = BaseFieldDefinition::create('string') $fields['billing_contact_name'] = BaseFieldDefinition::create('string')
->setLabel(t('Billing Contact Name')) ->setLabel(t('Billing Contact Name'))
->setDescription(t('Name of the main contact for this client.')) ->setDescription(t('Name of the main contact for this client.'))
@ -298,8 +354,15 @@ class OCOrganisation extends EditorialContentEntityBase implements OCOrganisatio
'text_processing' => 0, 'text_processing' => 0,
]) ])
->setDefaultValue('') ->setDefaultValue('')
->setDisplayConfigurable('form', true) ->setDisplayOptions('view', [
->setDisplayConfigurable('view', true) 'label' => 'above',
'type' => 'string',
'weight' => 56,
])
->setDisplayOptions('form', [
'type' => 'string_textfield',
'weight' => 56,
])
->setRequired(FALSE); ->setRequired(FALSE);
$fields['billing_email'] = BaseFieldDefinition::create('string') $fields['billing_email'] = BaseFieldDefinition::create('string')
@ -310,8 +373,15 @@ class OCOrganisation extends EditorialContentEntityBase implements OCOrganisatio
'max_length' => 100, 'max_length' => 100,
'text_processing' => 0, 'text_processing' => 0,
)) ))
->setDisplayConfigurable('form', true) ->setDisplayOptions('view', array(
->setDisplayConfigurable('view', true); 'label' => 'above',
'type' => 'string',
'weight' => 57,
))
->setDisplayOptions('form', array(
'type' => 'string_textfield',
'weight' => 57,
));
$fields['billing_phone'] = BaseFieldDefinition::create('string') $fields['billing_phone'] = BaseFieldDefinition::create('string')
->setLabel(t('Billing Phone Number')) ->setLabel(t('Billing Phone Number'))
@ -321,8 +391,15 @@ class OCOrganisation extends EditorialContentEntityBase implements OCOrganisatio
'max_length' => 20, 'max_length' => 20,
'text_processing' => 0, 'text_processing' => 0,
)) ))
->setDisplayConfigurable('form', true) ->setDisplayOptions('view', array(
->setDisplayConfigurable('view', true); 'label' => 'above',
'type' => 'string',
'weight' => 58,
))
->setDisplayOptions('form', array(
'type' => 'string_textfield',
'weight' => 58,
));
$fields['billing_postal_address'] = BaseFieldDefinition::create('string_long') $fields['billing_postal_address'] = BaseFieldDefinition::create('string_long')
->setRevisionable(TRUE) ->setRevisionable(TRUE)
->setLabel(t('Billing Postal Address')) ->setLabel(t('Billing Postal Address'))
@ -332,8 +409,15 @@ class OCOrganisation extends EditorialContentEntityBase implements OCOrganisatio
'max_length' => 255, 'max_length' => 255,
'text_processing' => 0, 'text_processing' => 0,
)) ))
->setDisplayConfigurable('form', true) ->setDisplayOptions('view', array(
->setDisplayConfigurable('view', true); 'label' => 'above',
'type' => 'basic_string',
'weight' => 59,
))
->setDisplayOptions('form', array(
'type' => 'string_textarea',
'weight' => 59,
));
$fields['billing_post_code'] = BaseFieldDefinition::create('string') $fields['billing_post_code'] = BaseFieldDefinition::create('string')
->setRevisionable(TRUE) ->setRevisionable(TRUE)
->setLabel(t('Billing Post Code')) ->setLabel(t('Billing Post Code'))
@ -342,8 +426,15 @@ class OCOrganisation extends EditorialContentEntityBase implements OCOrganisatio
'max_length' => 10, 'max_length' => 10,
'text_processing' => 0, 'text_processing' => 0,
)) ))
->setDisplayConfigurable('form', true) ->setDisplayOptions('view', array(
->setDisplayConfigurable('view', true); 'label' => 'above',
'type' => 'string',
'weight' => 60,
))
->setDisplayOptions('form', array(
'type' => 'string_textfield',
'weight' => 60,
));
$fields['user_id'] = BaseFieldDefinition::create('entity_reference') $fields['user_id'] = BaseFieldDefinition::create('entity_reference')
->setLabel(t('Added by')) ->setLabel(t('Added by'))
->setRevisionable(TRUE) ->setRevisionable(TRUE)
@ -359,16 +450,24 @@ class OCOrganisation extends EditorialContentEntityBase implements OCOrganisatio
'text_processing' => 0, 'text_processing' => 0,
]) ])
->setDefaultValue('') ->setDefaultValue('')
->setDisplayConfigurable('form', true) ->setDisplayOptions('view', [
->setDisplayConfigurable('view', true) 'label' => 'hidden',
'type' => 'string',
'weight' => -100,
])
->setDisplayOptions('form', [
'type' => 'string_textfield',
'weight' => -100,
])
->setDisplayConfigurable('form', TRUE)
->setDisplayConfigurable('view', TRUE)
->setRequired(TRUE); ->setRequired(TRUE);
$fields['status'] = BaseFieldDefinition::create('boolean') $fields['status'] = BaseFieldDefinition::create('boolean')
->setLabel(t('Visible')) ->setLabel(t('Visible'))
->setDescription('If this box is not ticked this record will be hidden from view for most users. Users with access to unpublished entities will be able to restore it if needed.') ->setDescription('If this box is not ticked this record will be hidden from view for most users. Users with access to unpublished entities will be able to restore it if needed.')
->setRevisionable(TRUE) ->setRevisionable(TRUE)
->setDisplayConfigurable('form', true) ->setDisplayConfigurable("form", true)
->setDisplayConfigurable('view', true)
->setDefaultValue(TRUE); ->setDefaultValue(TRUE);

View File

@ -13,11 +13,6 @@ opencase.see_all_organisations_links:
deriver: Drupal\opencase\Plugin\Derivative\SeeAllOrganisationsMenuLink deriver: Drupal\opencase\Plugin\Derivative\SeeAllOrganisationsMenuLink
menu_name: opencase menu_name: opencase
parent: opencase.see_all parent: opencase.see_all
#opencase.see_all_events_links: //@TODO findout why "view.events.page_1" does not work
# class: Drupal\opencase\Plugin\Menu\SeeAllEventsMenuLink
# deriver: Drupal\opencase\Plugin\Derivative\SeeAllEventsMenuLink
# menu_name: opencase
# parent: opencase.see_all
opencase.opencase_add_new_things_menu: opencase.opencase_add_new_things_menu:
title: 'Add new...' title: 'Add new...'
menu_name: opencase menu_name: opencase

View File

@ -1,60 +0,0 @@
<?php
namespace Drupal\opencase\Plugin\Derivative;
use Drupal\Component\Plugin\Derivative\DeriverBase;
use Drupal\Core\Entity\EntityTypeManagerInterface;
use Drupal\Core\Plugin\Discovery\ContainerDeriverInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
/**
*  * Derivative class that provides the menu links adding various types of events
*  */
class SeeAllEventsMenuLink extends DeriverBase implements ContainerDeriverInterface
{
/**
*    * @var EntityTypeManagerInterface $entityTypeManager .
*    */
protected $entityTypeManager;
/**
*    * Creates a AddActorsMenuLink instance.
*    *
*    * @param $base_plugin_id
*    * @param EntityTypeManagerInterface $entity_type_manager
*    */
public function __construct($base_plugin_id, EntityTypeManagerInterface $entity_type_manager)
{
$this->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 = [];
$eventTypes = $this->entityTypeManager->getStorage('oc_event_type')->loadMultiple();
foreach ($eventTypes as $id => $eventType) {
$links[$id] = [
'title' => $eventType->label(),
'route_name' => "view.events.page_1",
'route_parameters' => ['type' => $eventType->id()]
] + $base_plugin_definition;
}
return $links;
}
}

View File

@ -1,9 +0,0 @@
<?php
namespace Drupal\opencase\Plugin\Menu;
use Drupal\Core\Menu\MenuLinkDefault;
/**
* Represents a menu link for seeing all Events of various types.
*/
class SeeAllEventsMenuLink extends MenuLinkDefault {}

View File

@ -0,0 +1,16 @@
<?php declare(strict_types=1);
use PHPUnit\Framework\TestCase;
include '../../../modules/opencase_cases/src/Entity/OCCase.php';
final class HookHelperTest extends TestCase
{
public function testOnCaseFeeUpdate(): void
{
$caseStub = $this->createStub(\Drupal\opencase_cases\Entity\OCCase::class);
$caseStub->total_fee = 5;
$caseFeeStub = $this->createStub(\Drupal\opencase_cases\Entity\OCCaseFee::class);
$caseFeeStub->amount = 10;
$caseFeeStub->method('getCase')->will($this->returnValue($caseStub));
$this->assertSame(5,5);
}
}