You are here

protected function ImporterForm::getEntityTypeMissingFields in CSV Importer 8

Get entity missing fields.

Parameters

string $entity_type: Entity type.

array $required: Entity required fields.

array $csv: Parsed CSV.

Return value

array Missing fields.

1 call to ImporterForm::getEntityTypeMissingFields()
ImporterForm::submitForm in src/Form/ImporterForm.php
Form submission handler.

File

src/Form/ImporterForm.php, line 317

Class

ImporterForm
Provides CSV importer form.

Namespace

Drupal\csv_importer\Form

Code

protected function getEntityTypeMissingFields(string $entity_type, array $required, array $csv) {
  $entity_definition = $this->entityTypeManager
    ->getDefinition($entity_type);
  if ($entity_definition
    ->hasKey('bundle')) {
    unset($required[array_search($entity_definition
      ->getKey('bundle'), $required)]);
  }
  $csv_fields = [];
  if (!empty($csv)) {
    foreach ($csv[0] as $csv_row) {
      $csv_row = explode('|', $csv_row);
      $csv_fields[] = $csv_row[0];
    }
  }
  $csv_fields = array_values(array_unique($csv_fields));
  return array_diff($required, $csv_fields);
}