You are here

function farm_inventory_quantity_base_fields in farmOS 2.x

Define quantity base fields for inventory tracking.

1 call to farm_inventory_quantity_base_fields()
farm_inventory_entity_base_field_info in modules/core/inventory/farm_inventory.module
Implements hook_entity_base_field_info().

File

modules/core/inventory/farm_inventory.base_fields.inc, line 36
Code for creating inventory base field definitions.

Code

function farm_inventory_quantity_base_fields() {
  $field_info = [
    'inventory_adjustment' => [
      'type' => 'list_string',
      'label' => t('Inventory adjustment'),
      'description' => t('What type of inventory adjustment is this?'),
      'allowed_values' => [
        'increment' => t('Increment'),
        'decrement' => t('Decrement'),
        'reset' => t('Reset'),
      ],
      'multiple' => FALSE,
      'weight' => [
        'form' => 50,
        'view' => 50,
      ],
    ],
    'inventory_asset' => [
      'type' => 'entity_reference',
      'label' => t('Inventory asset'),
      'description' => t('Which asset will this adjust the inventory of?'),
      'target_type' => 'asset',
      'multiple' => FALSE,
      'weight' => [
        'form' => 51,
        'view' => 51,
      ],
    ],
  ];
  $fields = [];
  foreach ($field_info as $name => $info) {
    $fields[$name] = \Drupal::service('farm_field.factory')
      ->baseFieldDefinition($info);
  }
  return $fields;
}