Compare commits

...

12 Commits

16 changed files with 387 additions and 474 deletions

View File

@ -96,36 +96,19 @@ 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 {
opencase_cases_update_total_fee_for_case_belonging_to_case_fee($case_fee); $case = $case_fee->getCase();
$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 {
opencase_cases_update_total_fee_for_case_belonging_to_case_fee($case_fee); $case = $case_fee->getCase();
$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 {
opencase_cases_update_total_fee_for_case_belonging_to_case_fee($case_fee); $case = $case_fee->getCase();
$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,14 +75,16 @@ 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(),
@ -90,7 +92,8 @@ class OCCase extends RevisionableContentEntityBase implements OCCaseInterface {
} }
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 [];
} }
@ -98,13 +101,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();
} }
@ -114,7 +117,8 @@ 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) {
@ -136,14 +140,16 @@ 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;
} }
@ -151,14 +157,16 @@ 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;
} }
@ -166,21 +174,24 @@ 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;
} }
@ -188,7 +199,8 @@ 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;
} }
@ -196,24 +208,30 @@ 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
@ -221,7 +239,8 @@ 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')
@ -232,22 +251,17 @@ 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'))
@ -257,14 +271,8 @@ class OCCase extends RevisionableContentEntityBase implements OCCaseInterface {
'text_processing' => 0, 'text_processing' => 0,
]) ])
->setDefaultValue('') ->setDefaultValue('')
->setDisplayOptions('view', [ ->setDisplayConfigurable('form', true)
'label' => 'hidden', ->setDisplayConfigurable('view', true)
'type' => 'string',
])
->setDisplayOptions('form', [
'type' => 'string_textfield',
'weight' => -100,
])
->setRequired(TRUE); ->setRequired(TRUE);
@ -278,18 +286,7 @@ 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'))
@ -321,12 +318,13 @@ 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("view", true); ->setDisplayConfigurable('form', true)
->setDisplayConfigurable('view', true);
return $fields; return $fields;
} }

View File

@ -190,6 +190,10 @@ 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}
*/ */
@ -206,21 +210,6 @@ 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);
@ -233,15 +222,6 @@ 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,7 +77,8 @@ 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;
@ -85,7 +86,8 @@ 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(),
@ -95,13 +97,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();
} }
@ -111,7 +113,8 @@ 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) {
@ -133,14 +136,16 @@ 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;
} }
@ -148,14 +153,16 @@ 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;
} }
@ -163,21 +170,24 @@ 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;
} }
@ -185,7 +195,8 @@ 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;
} }
@ -193,7 +204,8 @@ 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.
@ -206,21 +218,6 @@ 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);
@ -233,25 +230,17 @@ 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);

View File

@ -267,6 +267,7 @@ class OCActivity extends RevisionableContentEntityBase implements OCActivityInte
->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')
@ -277,10 +278,7 @@ class OCActivity extends RevisionableContentEntityBase implements OCActivityInte
->setSetting('handler', 'default') ->setSetting('handler', 'default')
->setTranslatable(TRUE) ->setTranslatable(TRUE)
->setDisplayConfigurable('view', true) ->setDisplayConfigurable('view', true)
->setDisplayOptions('view', [ ->setDisplayConfigurable('form', TRUE);
'label' => 'above',
'type' => 'author',
]);
$fields['name'] = BaseFieldDefinition::create('string') $fields['name'] = BaseFieldDefinition::create('string')
->setLabel(t('Subject')) ->setLabel(t('Subject'))
@ -292,15 +290,6 @@ class OCActivity extends RevisionableContentEntityBase implements OCActivityInte
->setDefaultValue('') ->setDefaultValue('')
->setDisplayConfigurable('form', true) ->setDisplayConfigurable('form', true)
->setDisplayConfigurable('view', true) ->setDisplayConfigurable('view', true)
->setDisplayOptions('view', [
'label' => 'hidden',
'type' => 'string',
'weight' => -3,
])
->setDisplayOptions('form', [
'type' => 'string_textfield',
'weight' => -3,
])
->setRequired(TRUE); ->setRequired(TRUE);
$fields['description'] = BaseFieldDefinition::create('string_long') $fields['description'] = BaseFieldDefinition::create('string_long')
@ -310,7 +299,6 @@ class OCActivity extends RevisionableContentEntityBase implements OCActivityInte
'max_length' => 50, 'max_length' => 50,
'text_processing' => 0, 'text_processing' => 0,
]) ])
->setDefaultValue('')
->setDisplayConfigurable('form', true) ->setDisplayConfigurable('form', true)
->setDisplayConfigurable('view', true) ->setDisplayConfigurable('view', true)
->setRequired(FALSE); ->setRequired(FALSE);
@ -322,15 +310,7 @@ class OCActivity extends RevisionableContentEntityBase implements OCActivityInte
'suffix' => 'minutes', 'suffix' => 'minutes',
]) ])
->SetDisplayConfigurable("form", true) ->SetDisplayConfigurable("form", true)
->SetDisplayConfigurable("view", true) ->SetDisplayConfigurable("view", true);
->setDefaultValue('')
->setDisplayOptions('view', [
'label' => 'above',
'weight' => -3,
])
->setDisplayOptions('form', [
'weight' => -3,
]);
$fields['created'] = BaseFieldDefinition::create('created') $fields['created'] = BaseFieldDefinition::create('created')
->setLabel(t('Created')) ->setLabel(t('Created'))

View File

@ -218,6 +218,7 @@ 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
@ -234,6 +235,8 @@ 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')
@ -247,10 +250,6 @@ 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')
@ -264,10 +263,6 @@ 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')
@ -281,10 +276,6 @@ 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.
@ -297,16 +288,7 @@ 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)
@ -316,16 +298,7 @@ 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'))
@ -335,16 +308,7 @@ 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'))
@ -355,16 +319,7 @@ 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'))
@ -374,16 +329,7 @@ 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'))
@ -400,13 +346,6 @@ 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,7 +112,9 @@ 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'))
@ -120,14 +122,8 @@ 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)
->setDisplayOptions('view', [ ->setDisplayConfigurable('form', true)
'type' => 'string', ->setDisplayConfigurable('view', true)
'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')
@ -144,27 +140,13 @@ class OCEqualOpps extends ContentEntityBase implements OCEqualOppsInterface {
], ],
]) ])
->setDisplayConfigurable('form', true) ->setDisplayConfigurable('form', true)
->setDisplayOptions('view', array( ->setDisplayConfigurable('form', true)
'label' => 'above', ->setDisplayConfigurable('view', true);
'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)
->setDisplayOptions('view', array( ->setDisplayConfigurable('form', true)
'label' => 'above', ->setDisplayConfigurable('view', true);
'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'))
@ -180,15 +162,7 @@ class OCEqualOpps extends ContentEntityBase implements OCEqualOppsInterface {
], ],
]) ])
->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['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'))
@ -215,15 +189,7 @@ class OCEqualOpps extends ContentEntityBase implements OCEqualOppsInterface {
], ],
]) ])
->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['sexuality'] = BaseFieldDefinition::create('string') $fields['sexuality'] = BaseFieldDefinition::create('string')
->setLabel(t('Sexuality')) ->setLabel(t('Sexuality'))
->setRevisionable(TRUE) ->setRevisionable(TRUE)
@ -231,18 +197,9 @@ 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('')
->setDisplayOptions('view', array( ->setDisplayConfigurable('form', true)
'label' => 'above', ->setDisplayConfigurable('view', true);
'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,7 +149,9 @@ 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'))
@ -163,15 +165,16 @@ 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);
@ -190,18 +193,8 @@ 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')
->setDisplayOptions('view', [ ->setDisplayConfigurable('form', true)
'label' => 'above', ->setDisplayConfigurable('view', true);
'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'))
@ -211,15 +204,8 @@ class OCEvent extends ContentEntityBase implements OCEventInterface {
'text_processing' => 0, 'text_processing' => 0,
]) ])
->setDefaultValue('') ->setDefaultValue('')
->setDisplayOptions('view', [ ->setDisplayConfigurable('form', true)
'label' => 'above', ->setDisplayConfigurable('view', true)
'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')
@ -229,14 +215,8 @@ class OCEvent extends ContentEntityBase implements OCEventInterface {
->setSetting('handler', 'default') ->setSetting('handler', 'default')
->setTranslatable(TRUE) ->setTranslatable(TRUE)
->setCardinality(BaseFieldDefinition::CARDINALITY_UNLIMITED) ->setCardinality(BaseFieldDefinition::CARDINALITY_UNLIMITED)
->setDisplayOptions('view', [ ->setDisplayConfigurable('form', true)
'type' => 'string', ->setDisplayConfigurable('view', true)
'weight' => 50,
])
->setDisplayOptions('form', [
'type' => 'entity_reference_autocomplete',
'weight' => 50,
])
->setRequired(FALSE); ->setRequired(FALSE);

View File

@ -204,19 +204,12 @@ 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'))
@ -226,15 +219,8 @@ class OCOrganisation extends EditorialContentEntityBase implements OCOrganisatio
'text_processing' => 0, 'text_processing' => 0,
]) ])
->setDefaultValue('') ->setDefaultValue('')
->setDisplayOptions('view', [ ->setDisplayConfigurable('form', true)
'label' => 'above', ->setDisplayConfigurable('view', true)
'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'))
@ -245,15 +231,8 @@ class OCOrganisation extends EditorialContentEntityBase implements OCOrganisatio
'text_processing' => 0, 'text_processing' => 0,
]) ])
->setDefaultValue('') ->setDefaultValue('')
->setDisplayOptions('view', [ ->setDisplayConfigurable('form', true)
'label' => 'above', ->setDisplayConfigurable('view', true)
'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')
@ -265,15 +244,8 @@ class OCOrganisation extends EditorialContentEntityBase implements OCOrganisatio
'text_processing' => 0, 'text_processing' => 0,
]) ])
->setDefaultValue('') ->setDefaultValue('')
->setDisplayOptions('view', [ ->setDisplayConfigurable('form', true)
'label' => 'above', ->setDisplayConfigurable('view', true)
'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'))
@ -283,15 +255,8 @@ class OCOrganisation extends EditorialContentEntityBase implements OCOrganisatio
'max_length' => 100, 'max_length' => 100,
'text_processing' => 0, 'text_processing' => 0,
)) ))
->setDisplayOptions('view', array( ->setDisplayConfigurable('form', true)
'label' => 'above', ->setDisplayConfigurable('view', true);
'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'))
@ -301,15 +266,8 @@ class OCOrganisation extends EditorialContentEntityBase implements OCOrganisatio
'max_length' => 20, 'max_length' => 20,
'text_processing' => 0, 'text_processing' => 0,
)) ))
->setDisplayOptions('view', array( ->setDisplayConfigurable('form', true)
'label' => 'above', ->setDisplayConfigurable('view', true);
'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'))
@ -319,15 +277,8 @@ class OCOrganisation extends EditorialContentEntityBase implements OCOrganisatio
'max_length' => 255, 'max_length' => 255,
'text_processing' => 0, 'text_processing' => 0,
)) ))
->setDisplayOptions('view', array( ->setDisplayConfigurable('form', true)
'label' => 'above', ->setDisplayConfigurable('view', true);
'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'))
@ -336,15 +287,8 @@ class OCOrganisation extends EditorialContentEntityBase implements OCOrganisatio
'max_length' => 10, 'max_length' => 10,
'text_processing' => 0, 'text_processing' => 0,
)) ))
->setDisplayOptions('view', array( ->setDisplayConfigurable('form', true)
'label' => 'above', ->setDisplayConfigurable('view', true);
'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.'))
@ -354,15 +298,8 @@ class OCOrganisation extends EditorialContentEntityBase implements OCOrganisatio
'text_processing' => 0, 'text_processing' => 0,
]) ])
->setDefaultValue('') ->setDefaultValue('')
->setDisplayOptions('view', [ ->setDisplayConfigurable('form', true)
'label' => 'above', ->setDisplayConfigurable('view', true)
'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')
@ -373,15 +310,8 @@ class OCOrganisation extends EditorialContentEntityBase implements OCOrganisatio
'max_length' => 100, 'max_length' => 100,
'text_processing' => 0, 'text_processing' => 0,
)) ))
->setDisplayOptions('view', array( ->setDisplayConfigurable('form', true)
'label' => 'above', ->setDisplayConfigurable('view', true);
'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'))
@ -391,15 +321,8 @@ class OCOrganisation extends EditorialContentEntityBase implements OCOrganisatio
'max_length' => 20, 'max_length' => 20,
'text_processing' => 0, 'text_processing' => 0,
)) ))
->setDisplayOptions('view', array( ->setDisplayConfigurable('form', true)
'label' => 'above', ->setDisplayConfigurable('view', true);
'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'))
@ -409,15 +332,8 @@ class OCOrganisation extends EditorialContentEntityBase implements OCOrganisatio
'max_length' => 255, 'max_length' => 255,
'text_processing' => 0, 'text_processing' => 0,
)) ))
->setDisplayOptions('view', array( ->setDisplayConfigurable('form', true)
'label' => 'above', ->setDisplayConfigurable('view', true);
'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'))
@ -426,15 +342,8 @@ class OCOrganisation extends EditorialContentEntityBase implements OCOrganisatio
'max_length' => 10, 'max_length' => 10,
'text_processing' => 0, 'text_processing' => 0,
)) ))
->setDisplayOptions('view', array( ->setDisplayConfigurable('form', true)
'label' => 'above', ->setDisplayConfigurable('view', true);
'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)
@ -450,24 +359,16 @@ class OCOrganisation extends EditorialContentEntityBase implements OCOrganisatio
'text_processing' => 0, 'text_processing' => 0,
]) ])
->setDefaultValue('') ->setDefaultValue('')
->setDisplayOptions('view', [ ->setDisplayConfigurable('form', true)
'label' => 'hidden', ->setDisplayConfigurable('view', true)
'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

@ -8,6 +8,16 @@ opencase.see_all_people_links:
deriver: Drupal\opencase\Plugin\Derivative\SeeAllActorsMenuLink deriver: Drupal\opencase\Plugin\Derivative\SeeAllActorsMenuLink
menu_name: opencase menu_name: opencase
parent: opencase.see_all parent: opencase.see_all
opencase.see_all_organisations_links:
class: Drupal\opencase\Plugin\Menu\SeeAllOrganisationsMenuLink
deriver: Drupal\opencase\Plugin\Derivative\SeeAllOrganisationsMenuLink
menu_name: opencase
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
@ -40,6 +50,11 @@ opencase.opencase_admin_menu:
route_name: opencase.opencase_admin_menu route_name: opencase.opencase_admin_menu
menu_name: opencase menu_name: opencase
weight: 100 weight: 100
opencase.manage_taxonomy_links:
class: Drupal\opencase\Plugin\Menu\ManageTaxonomyMenuLink
deriver: Drupal\opencase\Plugin\Derivative\ManageTaxonomyMenuLink
menu_name: opencase
parent: opencase.opencase_admin_menu
opencase.manage_user_logins: opencase.manage_user_logins:
title: 'Manage user logins' title: 'Manage user logins'
description: 'Manage who can access the system' description: 'Manage who can access the system'

View File

@ -0,0 +1,52 @@
<?php
namespace Drupal\opencase\Plugin\Derivative;
use Drupal\Component\Plugin\Derivative\DeriverBase;
use Drupal\Core\Plugin\Discovery\ContainerDeriverInterface;
use Drupal\Core\Entity\EntityTypeManagerInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
class ManageTaxonomyMenuLink extends DeriverBase implements ContainerDeriverInterface {
/**
   * @var EntityTypeManagerInterface $entityTypeManager.
   */
protected $entityTypeManager;
/**
   * Creates a AddEventsMenuLink 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 = [];
$vocabs = $this->entityTypeManager->getStorage('taxonomy_vocabulary')->loadMultiple();
foreach ($vocabs as $id => $vocab) {
$links[$id] = [
'title' => 'Manage ' . $vocab->label(),
'route_name' => "entity.taxonomy_vocabulary.overview_form",
'route_parameters' => ['taxonomy_vocabulary' => $vocab->id()]
] + $base_plugin_definition;
}
return $links;
}
}

View File

@ -0,0 +1,60 @@
<?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

@ -0,0 +1,55 @@
<?php
namespace Drupal\opencase\Plugin\Derivative;
use Drupal\Component\Plugin\Derivative\DeriverBase;
use Drupal\Core\Plugin\Discovery\ContainerDeriverInterface;
use Drupal\Core\Entity\EntityTypeManagerInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
/**
 * Derivative class that provides the menu links adding various types of organisations
 */
class SeeAllOrganisationsMenuLink 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 = [];
$organisationTypes = $this->entityTypeManager->getStorage('oc_organisation_type')->loadMultiple();
foreach ($organisationTypes as $id => $organisationType) {
$links[$id] = [
'title' => $organisationType->label(),
'route_name' => "view.organisations.page_1",
'route_parameters' => ['type' => $organisationType->id()]
] + $base_plugin_definition;
}
return $links;
}
}

View File

@ -0,0 +1,6 @@
<?php
namespace Drupal\opencase\Plugin\Menu;
use Drupal\Core\Menu\MenuLinkDefault;
class ManageTaxonomyMenuLink extends MenuLinkDefault {}

View File

@ -0,0 +1,9 @@
<?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,9 @@
<?php
namespace Drupal\opencase\Plugin\Menu;
use Drupal\Core\Menu\MenuLinkDefault;
/**
* Represents a menu link for seeing all organisations of various types.
*/
class SeeAllOrganisationsMenuLink extends MenuLinkDefault {}