mirror of
https://github.com/farmOS/farmOS.git
synced 2024-02-23 11:37:38 +01:00
Convert group log bundle fields to base fields.
This commit is contained in:
parent
aaaa291c14
commit
739cffaf5e
2 changed files with 62 additions and 40 deletions
52
modules/asset/group/farm_group.base_fields.inc
Normal file
52
modules/asset/group/farm_group.base_fields.inc
Normal file
|
@ -0,0 +1,52 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* @file
|
||||
* Code for creating farmOS group membership base field definitions.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Define log group base fields.
|
||||
*/
|
||||
function farm_group_log_base_fields() {
|
||||
$fields = [];
|
||||
|
||||
// "Is group assignment" boolean field.
|
||||
$options = [
|
||||
'type' => 'boolean',
|
||||
'label' => t('Is group assignment'),
|
||||
'description' => t('If this log is a group assignment, any referenced assets will become members of the groups referenced below.'),
|
||||
'weight' => [
|
||||
'form' => 96,
|
||||
],
|
||||
'view_display_options' => [
|
||||
'label' => 'inline',
|
||||
'type' => 'hideable_boolean',
|
||||
'settings' => [
|
||||
'format' => 'default',
|
||||
'format_custom_false' => '',
|
||||
'format_custom_true' => '',
|
||||
'hide_if_false' => TRUE,
|
||||
],
|
||||
'weight' => 96,
|
||||
],
|
||||
];
|
||||
$fields['is_group_assignment'] = \Drupal::service('farm_field.factory')->baseFieldDefinition($options);
|
||||
|
||||
// Group reference field.
|
||||
$options = [
|
||||
'type' => 'entity_reference',
|
||||
'label' => t('Groups'),
|
||||
'description' => t('If this is a group assignment log, which groups should the referenced assets be assigned to?'),
|
||||
'target_type' => 'asset',
|
||||
'target_bundle' => 'group',
|
||||
'multiple' => TRUE,
|
||||
'weight' => [
|
||||
'form' => 97,
|
||||
'view' => 97,
|
||||
],
|
||||
];
|
||||
$fields['group'] = \Drupal::service('farm_field.factory')->baseFieldDefinition($options);
|
||||
|
||||
return $fields;
|
||||
}
|
|
@ -8,47 +8,17 @@
|
|||
use Drupal\Core\Entity\EntityTypeInterface;
|
||||
|
||||
/**
|
||||
* Implements hook_farm_entity_bundle_field_info().
|
||||
* Implements hook_entity_base_field_info().
|
||||
*/
|
||||
function farm_group_farm_entity_bundle_field_info(EntityTypeInterface $entity_type, string $bundle) {
|
||||
$fields = [];
|
||||
function farm_group_entity_base_field_info(EntityTypeInterface $entity_type) {
|
||||
module_load_include('inc', 'farm_group', 'farm_group.base_fields');
|
||||
switch ($entity_type->id()) {
|
||||
|
||||
// Add an "Is group assignment" and a Group reference field to logs.
|
||||
if ($entity_type->id() == 'log') {
|
||||
$options = [
|
||||
'type' => 'boolean',
|
||||
'label' => t('Is group assignment'),
|
||||
'description' => t('If this log is a group assignment, any referenced assets will become members of the groups referenced below.'),
|
||||
'weight' => [
|
||||
'form' => 96,
|
||||
],
|
||||
'view_display_options' => [
|
||||
'label' => 'inline',
|
||||
'type' => 'hideable_boolean',
|
||||
'settings' => [
|
||||
'format' => 'default',
|
||||
'format_custom_false' => '',
|
||||
'format_custom_true' => '',
|
||||
'hide_if_false' => TRUE,
|
||||
],
|
||||
'weight' => 96,
|
||||
],
|
||||
];
|
||||
$fields['is_group_assignment'] = \Drupal::service('farm_field.factory')->bundleFieldDefinition($options);
|
||||
$options = [
|
||||
'type' => 'entity_reference',
|
||||
'label' => t('Groups'),
|
||||
'description' => t('If this is a group assignment log, which groups should the referenced assets be assigned to?'),
|
||||
'target_type' => 'asset',
|
||||
'target_bundle' => 'group',
|
||||
'multiple' => TRUE,
|
||||
'weight' => [
|
||||
'form' => 97,
|
||||
'view' => 97,
|
||||
],
|
||||
];
|
||||
$fields['group'] = \Drupal::service('farm_field.factory')->bundleFieldDefinition($options);
|
||||
// Build log base fields.
|
||||
case 'log':
|
||||
return farm_group_log_base_fields();
|
||||
|
||||
default:
|
||||
return [];
|
||||
}
|
||||
|
||||
return $fields;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue