示例#1
0
 public function getFormFields(FillPdfFormInterface $fillpdf_form) {
   return FillPdfFormField::loadMultiple(
     $this->entityQuery->get('fillpdf_form_field')
       ->condition('fillpdf_form', $fillpdf_form->id())
       ->execute());
 }
示例#2
0
  /**
   * {@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;
  }