ソースを参照

mustikas11: paranda admin lehe vead + too peidetud väljad vormidele

- cleanup_seven_blocks.php: kustuta D7 seven admin teema blokid, mis
  migreerusid valesti claro teema content regioni ja tekitasid SQL vea
  (Who s new / who_s_online / comments_recent / search / system_main / login)
- fix_all_forms.php: too custom väljad hidden -> content form display-le
  (emal_liige, projekt, kanne), sest migratsioon jättis need peidetuks
  kuigi field config oli olemas
ardo 1 日 前
コミット
444ce127b8

+ 24 - 0
third/drupal/mustikas11/cleanup_seven_blocks.php

@@ -0,0 +1,24 @@
+<?php
+// Kustuta D7 "seven" admin teema blokid, mis migreerusid valesti
+// claro (admin) teema content regioni ja põhjustavad SQL vigu.
+use Drupal\block\Entity\Block;
+
+$ids = [
+  'seven_user_new',
+  'seven_user_online',
+  'seven_comment_recent',
+  'seven_search_form',
+  'seven_system_main',
+  'seven_user_login',
+];
+
+foreach ($ids as $id) {
+  $block = Block::load($id);
+  if ($block) {
+    $block->delete();
+    echo "kustutatud: $id\n";
+  } else {
+    echo "skip (puudub): $id\n";
+  }
+}
+echo "done\n";

+ 66 - 0
third/drupal/mustikas11/fix_all_forms.php

@@ -0,0 +1,66 @@
+<?php
+// Too kõik content type'ide custom väljad "hidden" -> "content"
+// (migratsioon jättis need peidetuks, kuigi välja config on olemas).
+use Drupal\Core\Entity\Entity\EntityFormDisplay;
+use Drupal\Core\Entity\Entity\EntityViewDisplay;
+
+$types = [
+  'emal_liige' => [
+    'field_e_mail' => 'email_default',
+    'field_isikukood' => 'string_textfield',
+    'field_nimi' => 'string_textfield',
+    'field_sunnipaev' => 'datetime_default',
+    'field_liikmeks_astumise_aasta' => 'daterange_default',
+    'field_emal_liikme_tyyp' => 'entity_reference_autocomplete',
+    'field_emal_kasutaja_oigused' => 'string_textfield',
+    'field_muu_01' => 'string_textfield',
+  ],
+  'projekt' => [
+    'field_kirjeldus' => 'string_textarea',
+    'field_kpv_projekt' => 'daterange_default',
+    'field_projekt_lopetatud' => 'boolean_checkbox',
+    'field_dokumendid' => 'file_generic',
+    'field_projekt_juurdepaas' => 'entity_reference_autocomplete',
+    'body' => 'text_textarea_with_summary',
+  ],
+  'kanne' => [
+    'field_date' => 'datetime_default',
+    'field_deebet' => 'number',
+    'field_kreedit' => 'number',
+    'field_kirjeldus' => 'string_textarea',
+    'field_maksja_saaja' => 'string_textfield',
+    'field_kande_tyyp' => 'entity_reference_autocomplete',
+    'field_kasutaja' => 'entity_reference_autocomplete',
+    'field_projekt' => 'entity_reference_autocomplete',
+    'field_eelarve_rida' => 'entity_reference_autocomplete',
+  ],
+];
+
+foreach ($types as $type => $fields) {
+  $form = EntityFormDisplay::load("node.$type.default");
+  if (!$form) {
+    echo "form puudub: $type\n";
+    continue;
+  }
+  $w = 1;
+  foreach ($fields as $name => $widget) {
+    // Kontrolli, et field instance ikka eksisteerib.
+    $config = \Drupal::entityTypeManager()->getStorage('field_config')
+      ->load("node.$type.$name");
+    if (!$config) {
+      echo "  skip (pole instance): $type.$name\n";
+      continue;
+    }
+    $form->setComponent($name, [
+      'type' => $widget,
+      'weight' => $w++,
+      'region' => 'content',
+      'settings' => [],
+      'third_party_settings' => [],
+    ]);
+    echo "  kuvatud: $type.$name ($widget)\n";
+  }
+  $form->save();
+}
+
+echo "done\n";