public function getFormFields(FillPdfFormInterface $fillpdf_form) { return FillPdfFormField::loadMultiple( $this->entityQuery->get('fillpdf_form_field') ->condition('fillpdf_form', $fillpdf_form->id()) ->execute()); }
/** * {@inheritdoc} */ public function importForm(FillPdfFormInterface $fillpdf_form, FillPdfFormInterface $imported_form, array $imported_fields) { // Key the existing FillPDF fields on PDF keys. $existing_fields = $this->entityHelper->getFormFields($fillpdf_form); // Iterate over FillPdfForm fields and copy them, EXCEPT for IDs and // references. $fillpdf_form_type = $this->entityTypeManager->getDefinition('fillpdf_form'); $form_fields_to_ignore = array_filter(array_values($fillpdf_form_type->getKeys())); $form_fields_to_ignore[] = 'file'; foreach ($imported_form->getFields() as $name => $data) { if (!in_array($name, $form_fields_to_ignore, TRUE)) { $fillpdf_form->{$name} = $data; } } $fillpdf_form->save(); $unmatched_pdf_keys = $this->importFormFields($imported_fields, $existing_fields); return $unmatched_pdf_keys; }