fix_all_forms.php 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?php
  2. // Too kõik content type'ide custom väljad "hidden" -> "content"
  3. // (migratsioon jättis need peidetuks, kuigi välja config on olemas).
  4. use Drupal\Core\Entity\Entity\EntityFormDisplay;
  5. use Drupal\Core\Entity\Entity\EntityViewDisplay;
  6. $types = [
  7. 'emal_liige' => [
  8. 'field_e_mail' => 'email_default',
  9. 'field_isikukood' => 'string_textfield',
  10. 'field_nimi' => 'string_textfield',
  11. 'field_sunnipaev' => 'datetime_default',
  12. 'field_liikmeks_astumise_aasta' => 'daterange_default',
  13. 'field_emal_liikme_tyyp' => 'entity_reference_autocomplete',
  14. 'field_emal_kasutaja_oigused' => 'string_textfield',
  15. 'field_muu_01' => 'string_textfield',
  16. ],
  17. 'projekt' => [
  18. 'field_kirjeldus' => 'string_textarea',
  19. 'field_kpv_projekt' => 'daterange_default',
  20. 'field_projekt_lopetatud' => 'boolean_checkbox',
  21. 'field_dokumendid' => 'file_generic',
  22. 'field_projekt_juurdepaas' => 'entity_reference_autocomplete',
  23. 'body' => 'text_textarea_with_summary',
  24. ],
  25. 'kanne' => [
  26. 'field_date' => 'datetime_default',
  27. 'field_deebet' => 'number',
  28. 'field_kreedit' => 'number',
  29. 'field_kirjeldus' => 'string_textarea',
  30. 'field_maksja_saaja' => 'string_textfield',
  31. 'field_kande_tyyp' => 'entity_reference_autocomplete',
  32. 'field_kasutaja' => 'entity_reference_autocomplete',
  33. 'field_projekt' => 'entity_reference_autocomplete',
  34. 'field_eelarve_rida' => 'entity_reference_autocomplete',
  35. ],
  36. ];
  37. foreach ($types as $type => $fields) {
  38. $form = EntityFormDisplay::load("node.$type.default");
  39. if (!$form) {
  40. echo "form puudub: $type\n";
  41. continue;
  42. }
  43. $w = 1;
  44. foreach ($fields as $name => $widget) {
  45. // Kontrolli, et field instance ikka eksisteerib.
  46. $config = \Drupal::entityTypeManager()->getStorage('field_config')
  47. ->load("node.$type.$name");
  48. if (!$config) {
  49. echo " skip (pole instance): $type.$name\n";
  50. continue;
  51. }
  52. $form->setComponent($name, [
  53. 'type' => $widget,
  54. 'weight' => $w++,
  55. 'region' => 'content',
  56. 'settings' => [],
  57. 'third_party_settings' => [],
  58. ]);
  59. echo " kuvatud: $type.$name ($widget)\n";
  60. }
  61. $form->save();
  62. }
  63. echo "done\n";