You are here

public function TaxReport::buildFieldDefinitions in Commerce Reporting 8

Builds the field definitions for entities of this bundle.

Important: Field names must be unique across all bundles. It is recommended to prefix them with the bundle name (plugin ID).

Return value

\Drupal\entity\BundleFieldDefinition[] An array of bundle field definitions, keyed by field name.

Overrides BundlePluginInterface::buildFieldDefinitions

File

src/Plugin/Commerce/ReportType/TaxReport.php, line 67

Class

TaxReport
Provide a report for Taxes on behalf of commerce_tax.

Namespace

Drupal\commerce_reports\Plugin\Commerce\ReportType

Code

public function buildFieldDefinitions() {
  $fields = [];
  $fields['tax_amount'] = BundleFieldDefinition::create('commerce_price')
    ->setLabel(t('Tax amount'))
    ->setCardinality(1)
    ->setRequired(TRUE)
    ->setDisplayConfigurable('view', TRUE);
  $fields['tax_type_id'] = BundleFieldDefinition::create('entity_reference')
    ->setLabel(t('Tax type'))
    ->setSetting('target_type', 'commerce_tax_type')
    ->setCardinality(1)
    ->setRequired(TRUE)
    ->setDisplayConfigurable('view', TRUE);
  $fields['tax_type_label'] = BundleFieldDefinition::create('string')
    ->setLabel(t('Name'))
    ->setDescription(t('The tax type name.'))
    ->setSettings([
    'default_value' => '',
    'max_length' => 255,
  ])
    ->setRequired(TRUE)
    ->setDisplayConfigurable('view', TRUE);
  $fields['zone_id'] = BundleFieldDefinition::create('string')
    ->setLabel(t('Zone ID'))
    ->setDescription(t('The tax zone id.'))
    ->setSettings([
    'default_value' => '',
    'max_length' => 255,
  ])
    ->setRequired(FALSE)
    ->setDisplayConfigurable('view', TRUE);
  $fields['zone_label'] = BundleFieldDefinition::create('string')
    ->setLabel(t('Zone label'))
    ->setDescription(t('The tax zone label.'))
    ->setSettings([
    'default_value' => '',
    'max_length' => 255,
  ])
    ->setRequired(FALSE)
    ->setDisplayConfigurable('view', TRUE);
  $fields['rate_id'] = BundleFieldDefinition::create('string')
    ->setLabel(t('Rate ID'))
    ->setDescription(t('The tax rate id.'))
    ->setSettings([
    'default_value' => '',
    'max_length' => 255,
  ])
    ->setRequired(FALSE)
    ->setDisplayConfigurable('view', TRUE);
  $fields['rate_label'] = BundleFieldDefinition::create('string')
    ->setLabel(t('Rate label'))
    ->setDescription(t('The tax rate label.'))
    ->setSettings([
    'default_value' => '',
    'max_length' => 255,
  ])
    ->setRequired(FALSE)
    ->setDisplayConfigurable('view', TRUE);
  return $fields;
}