Procházet zdrojové kódy

mustikas11: loo D7 analoogsed vaated (Views) + contact

- views.view.liikmed.yml (/liikmed, /liikmed/nimekiri) - emal_liige nimekiri
- views.view.projektid.yml (/projektid) - projektide nimekiri
- views.view.kanded.yml (/kanded/*) - kannete tabelid (liikmemaksud,
  projektid, tegevuskulud, saldod, koik-kanded) kande_tyyp filtritega
- dokumendid vaade (/docs) + synnipaevad vaade (/synnipaevad, /liikmed/synnipaevad)
- contact moodul + feedback vorm (/contact)
- anonymous access content luba

Import/eksport lingid (import/*, liikmed/eksport) jäävad 404 kuni
custom import moodulid D11-sse ehitatakse (admin-tööriistad).
ardo před 1 dnem
rodič
revize
2938afafe2

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

@@ -0,0 +1,66 @@
+<?php
+use Drupal\views\Entity\View;
+
+// "dokumendid" vaade: filedepot_folder node nimekiri, path /docs.
+$view = View::load('dokumendid');
+if (!$view) {
+  $base = [
+    'id' => 'dokumendid',
+    'label' => 'Dokumendid',
+    'module' => 'views',
+    'description' => 'Dokumentide kataloog',
+    'tag' => '',
+    'base_table' => 'node_field_data',
+    'base_field' => 'nid',
+    'status' => true,
+    'langcode' => 'en',
+  ];
+  $display = [
+    'default' => [
+      'id' => 'default', 'display_title' => 'Master', 'display_plugin' => 'default', 'position' => 0,
+      'display_options' => [
+        'title' => 'Dokumendid',
+        'fields' => [
+          'title' => [
+            'id' => 'title', 'table' => 'node_field_data', 'field' => 'title',
+            'entity_type' => 'node', 'entity_field' => 'title', 'plugin_id' => 'field',
+            'label' => 'Nimetus', 'exclude' => false,
+            'alter' => ['alter_text' => false, 'text' => '', 'make_link' => false, 'path' => '', 'absolute' => false, 'external' => false, 'replace_spaces' => false, 'path_case' => 'none', 'trim_whitespace' => false, 'alt' => '', 'rel' => '', 'link_class' => '', 'prefix' => '', 'suffix' => '', 'target' => '', 'nl2br' => false, 'max_length' => 0, 'word_boundary' => true, 'ellipsis' => true, 'more_link' => false, 'more_link_text' => '', 'more_link_path' => '', 'strip_tags' => false, 'trim' => false, 'preserve_tags' => '', 'html' => false],
+            'element_type' => '', 'element_class' => '', 'element_label_type' => '', 'element_label_class' => '', 'element_label_colon' => true,
+            'element_wrapper_type' => '', 'element_wrapper_class' => '', 'element_default_classes' => true,
+            'empty' => '', 'hide_empty' => false, 'empty_zero' => false, 'hide_alter_empty' => true,
+            'click_sort_column' => 'value', 'type' => 'string', 'settings' => ['link_to_entity' => true],
+            'group_column' => 'value', 'group_columns' => [], 'group_rows' => true, 'delta_limit' => 0, 'delta_offset' => 0, 'delta_reversed' => false, 'delta_first_last' => false, 'multi_type' => 'separator', 'separator' => ', ', 'field_api_classes' => false,
+          ],
+        ],
+        'pager' => ['type' => 'full', 'options' => ['offset' => 0, 'items_per_page' => 50]],
+        'exposed_form' => ['type' => 'basic', 'options' => ['submit_button' => 'Otsi', 'reset_button' => false, 'reset_button_label' => 'Reset', 'exposed_sorts_label' => 'Sort by', 'expose_sort_order' => false, 'sort_asc_label' => 'Asc', 'sort_desc_label' => 'Desc']],
+        'access' => ['type' => 'perm', 'options' => ['perm' => 'access content']],
+        'cache' => ['type' => 'tag', 'options' => []],
+        'empty' => [],
+        'sorts' => [
+          'title' => ['id' => 'title', 'table' => 'node_field_data', 'field' => 'title', 'entity_type' => 'node', 'entity_field' => 'title', 'plugin_id' => 'standard', 'order' => 'ASC', 'expose' => ['label' => '', 'field_identifier' => ''], 'exposed' => false],
+        ],
+        'arguments' => [],
+        'filters' => [
+          'status' => ['id' => 'status', 'table' => 'node_field_data', 'field' => 'status', 'entity_type' => 'node', 'entity_field' => 'status', 'plugin_id' => 'boolean', 'value' => '1', 'group' => 1, 'expose' => ['operator' => '']],
+          'type' => ['id' => 'type', 'table' => 'node_field_data', 'field' => 'type', 'entity_type' => 'node', 'entity_field' => 'type', 'plugin_id' => 'bundle', 'value' => ['filedepot_folder' => 'filedepot_folder'], 'expose' => ['operator_limit_selection' => false, 'operator_list' => []]],
+        ],
+        'style' => ['type' => 'table', 'options' => ['grouping' => [], 'row_class' => '', 'default_row_class' => true, 'columns' => ['title' => 'title'], 'default' => 'title', 'info' => ['title' => ['sortable' => true, 'default_sort_order' => 'asc', 'align' => '', 'separator' => '', 'empty_column' => false, 'responsive' => '']], 'override' => true, 'sticky' => true, 'summary' => '', 'empty_table' => true, 'caption' => '', 'description' => '']],
+        'row' => ['type' => 'fields', 'options' => []],
+        'query' => ['type' => 'views_query', 'options' => ['query_comment' => '', 'disable_sql_rewrite' => false, 'distinct' => false, 'replica' => false, 'query_tags' => []]],
+        'relationships' => [], 'header' => [], 'footer' => [], 'display_extenders' => [],
+      ],
+    ],
+    'page' => [
+      'id' => 'page', 'display_title' => 'Page', 'display_plugin' => 'page', 'position' => 1,
+      'display_options' => ['path' => 'docs'],
+    ],
+  ];
+  $view = View::create($base);
+  $view->set('display', $display);
+  $view->save();
+  echo "dokumendid view loodud\n";
+}
+
+echo "done\n";

+ 92 - 0
third/drupal/mustikas11/add_kanded_displays.php

@@ -0,0 +1,92 @@
+<?php
+// Loo täiendavad page display'd + menüülingid D7 struktuuri alusel.
+// Töötab otse config API-ga (Views display lisamine programmiliselt on keeruline,
+// seega kasutame lihtsamaid path-idega page display-sid YAML kaudu).
+
+use Drupal\Component\Serialization\Yaml;
+
+// 1. "kanded" vaatele lisa page display'd: liikmemaksud, projektid, tegevuskulud, saldod.
+$view = \Drupal::entityTypeManager()->getStorage('view')->load('kanded');
+if ($view) {
+  $displays = $view->get('display');
+
+  // kanded/liikmemaksud -> kande_tyyp=6 (liikmemaks)
+  $displays['page_liikmemaksud'] = [
+    'id' => 'page_liikmemaksud',
+    'display_title' => 'Liikmemaksude kanded',
+    'display_plugin' => 'page',
+    'position' => 2,
+    'display_options' => [
+      'path' => 'kanded/liikmemaksud',
+      'filters' => [
+        'status' => ['id' => 'status', 'table' => 'node_field_data', 'field' => 'status', 'entity_type' => 'node', 'entity_field' => 'status', 'plugin_id' => 'boolean', 'value' => '1', 'group' => 1, 'expose' => ['operator' => '']],
+        'type' => ['id' => 'type', 'table' => 'node_field_data', 'field' => 'type', 'entity_type' => 'node', 'entity_field' => 'type', 'plugin_id' => 'bundle', 'value' => ['kanne' => 'kanne'], 'expose' => ['operator_limit_selection' => false, 'operator_list' => []]],
+        'field_kande_tyyp_target_id' => ['id' => 'field_kande_tyyp_target_id', 'table' => 'node__field_kande_tyyp', 'field' => 'field_kande_tyyp_target_id', 'relationship' => 'none', 'group_type' => 'group', 'admin_label' => '', 'entity_type' => 'node', 'entity_field' => 'field_kande_tyyp', 'plugin_id' => 'taxonomy_index_tid', 'operator' => 'or', 'value' => [6 => 6], 'group' => 1, 'exposed' => false, 'expose' => ['operator_id' => '', 'label' => '', 'description' => '', 'use_operator' => false, 'operator' => '', 'operator_limit_selection' => false, 'operator_list' => [], 'identifier' => '', 'required' => false, 'remember' => false, 'multiple' => false, 'remember_roles' => ['authenticated' => 'authenticated', 'anonymous' => 0, 'administrator' => 0]], 'is_grouped' => false, 'group_info' => ['label' => '', 'description' => '', 'identifier' => '', 'optional' => true, 'widget' => 'select', 'multiple' => false, 'remember' => 0, 'default_group' => 'All', 'default_group_multiple' => [], 'group_items' => []], 'vid' => 'kanne', 'type' => 'select', 'limit' => true, 'error_message' => false],
+      ],
+      'defaults' => ['filters' => false],
+    ],
+  ];
+
+  $displays['page_projektid'] = [
+    'id' => 'page_projektid',
+    'display_title' => 'Projektide kanded',
+    'display_plugin' => 'page',
+    'position' => 3,
+    'display_options' => [
+      'path' => 'kanded/projektid',
+      'filters' => [
+        'status' => ['id' => 'status', 'table' => 'node_field_data', 'field' => 'status', 'entity_type' => 'node', 'entity_field' => 'status', 'plugin_id' => 'boolean', 'value' => '1', 'group' => 1, 'expose' => ['operator' => '']],
+        'type' => ['id' => 'type', 'table' => 'node_field_data', 'field' => 'type', 'entity_type' => 'node', 'entity_field' => 'type', 'plugin_id' => 'bundle', 'value' => ['kanne' => 'kanne'], 'expose' => ['operator_limit_selection' => false, 'operator_list' => []]],
+        'field_kande_tyyp_target_id' => ['id' => 'field_kande_tyyp_target_id', 'table' => 'node__field_kande_tyyp', 'field' => 'field_kande_tyyp_target_id', 'relationship' => 'none', 'group_type' => 'group', 'admin_label' => '', 'plugin_id' => 'taxonomy_index_tid', 'operator' => 'or', 'value' => [8 => 8], 'group' => 1, 'exposed' => false, 'expose' => ['operator_id' => '', 'label' => '', 'description' => '', 'use_operator' => false, 'operator' => '', 'operator_limit_selection' => false, 'operator_list' => [], 'identifier' => '', 'required' => false, 'remember' => false, 'multiple' => false, 'remember_roles' => ['authenticated' => 'authenticated', 'anonymous' => 0, 'administrator' => 0]], 'is_grouped' => false, 'group_info' => ['label' => '', 'description' => '', 'identifier' => '', 'optional' => true, 'widget' => 'select', 'multiple' => false, 'remember' => 0, 'default_group' => 'All', 'default_group_multiple' => [], 'group_items' => []], 'vid' => 'kanne', 'type' => 'select', 'limit' => true, 'error_message' => false],
+      ],
+      'defaults' => ['filters' => false],
+    ],
+  ];
+
+  $displays['page_tegevuskulud'] = [
+    'id' => 'page_tegevuskulud',
+    'display_title' => 'Tegevuskulude kanded',
+    'display_plugin' => 'page',
+    'position' => 4,
+    'display_options' => [
+      'path' => 'kanded/tegevuskulud',
+      'filters' => [
+        'status' => ['id' => 'status', 'table' => 'node_field_data', 'field' => 'status', 'entity_type' => 'node', 'entity_field' => 'status', 'plugin_id' => 'boolean', 'value' => '1', 'group' => 1, 'expose' => ['operator' => '']],
+        'type' => ['id' => 'type', 'table' => 'node_field_data', 'field' => 'type', 'entity_type' => 'node', 'entity_field' => 'type', 'plugin_id' => 'bundle', 'value' => ['kanne' => 'kanne'], 'expose' => ['operator_limit_selection' => false, 'operator_list' => []]],
+        'field_kande_tyyp_target_id' => ['id' => 'field_kande_tyyp_target_id', 'table' => 'node__field_kande_tyyp', 'field' => 'field_kande_tyyp_target_id', 'relationship' => 'none', 'group_type' => 'group', 'admin_label' => '', 'plugin_id' => 'taxonomy_index_tid', 'operator' => 'or', 'value' => [29 => 29], 'group' => 1, 'exposed' => false, 'expose' => ['operator_id' => '', 'label' => '', 'description' => '', 'use_operator' => false, 'operator' => '', 'operator_limit_selection' => false, 'operator_list' => [], 'identifier' => '', 'required' => false, 'remember' => false, 'multiple' => false, 'remember_roles' => ['authenticated' => 'authenticated', 'anonymous' => 0, 'administrator' => 0]], 'is_grouped' => false, 'group_info' => ['label' => '', 'description' => '', 'identifier' => '', 'optional' => true, 'widget' => 'select', 'multiple' => false, 'remember' => 0, 'default_group' => 'All', 'default_group_multiple' => [], 'group_items' => []], 'vid' => 'kanne', 'type' => 'select', 'limit' => true, 'error_message' => false],
+      ],
+      'defaults' => ['filters' => false],
+    ],
+  ];
+
+  // saldod -> sama mis liikmemaksud/projektid, aga ilma (lihtsustatud).
+  $displays['page_liikmemaksud_saldod'] = [
+    'id' => 'page_liikmemaksud_saldod',
+    'display_title' => 'Liikmemaksude saldod',
+    'display_plugin' => 'page',
+    'position' => 5,
+    'display_options' => [
+      'path' => 'kanded/liikmemaksud/saldod',
+      'filters' => $displays['page_liikmemaksud']['display_options']['filters'],
+      'defaults' => ['filters' => false],
+    ],
+  ];
+
+  $displays['page_projektid_saldod'] = [
+    'id' => 'page_projektid_saldod',
+    'display_title' => 'Projektide saldod',
+    'display_plugin' => 'page',
+    'position' => 6,
+    'display_options' => [
+      'path' => 'kanded/projektid/saldod',
+      'filters' => $displays['page_projektid']['display_options']['filters'],
+      'defaults' => ['filters' => false],
+    ],
+  ];
+
+  $view->set('display', $displays);
+  $view->save();
+  echo "kanded displays lisatud\n";
+}
+
+echo "done\n";

+ 102 - 0
third/drupal/mustikas11/add_more_views.php

@@ -0,0 +1,102 @@
+<?php
+// Loo puuduvad vaated/display'd: liikmed/nimekiri, synnipaevad, docs.
+use Drupal\views\Entity\View;
+
+// 1. liikmed vaatele lisa page "liikmed/nimekiri" (sama nagu /liikmed).
+$view = View::load('liikmed');
+if ($view) {
+  $displays = $view->get('display');
+  if (!isset($displays['page_nimekiri'])) {
+    $displays['page_nimekiri'] = [
+      'id' => 'page_nimekiri',
+      'display_title' => 'Nimekiri',
+      'display_plugin' => 'page',
+      'position' => 2,
+      'display_options' => ['path' => 'liikmed/nimekiri'],
+    ];
+    $view->set('display', $displays);
+    $view->save();
+    echo "liikmed page_nimekiri lisatud\n";
+  }
+}
+
+// 2. synnipaevad view (emal_liige, sort field_sunnipaev).
+$synnipaevad = View::load('synnipaevad');
+if (!$synnipaevad) {
+  $base = [
+    'id' => 'synnipaevad',
+    'label' => 'Sünnipäevad',
+    'module' => 'views',
+    'description' => 'Sünnipäevad nimekiri',
+    'tag' => '',
+    'base_table' => 'node_field_data',
+    'base_field' => 'nid',
+    'status' => true,
+    'langcode' => 'en',
+  ];
+  $display = [
+    'default' => [
+      'id' => 'default',
+      'display_title' => 'Master',
+      'display_plugin' => 'default',
+      'position' => 0,
+      'display_options' => [
+        'title' => 'Sünnipäevad',
+        'fields' => [
+          'title' => [
+            'id' => 'title', 'table' => 'node_field_data', 'field' => 'title',
+            'entity_type' => 'node', 'entity_field' => 'title', 'plugin_id' => 'field',
+            'label' => 'Nimi', 'exclude' => false,
+            'alter' => ['alter_text' => false, 'text' => '', 'make_link' => false, 'path' => '', 'absolute' => false, 'external' => false, 'replace_spaces' => false, 'path_case' => 'none', 'trim_whitespace' => false, 'alt' => '', 'rel' => '', 'link_class' => '', 'prefix' => '', 'suffix' => '', 'target' => '', 'nl2br' => false, 'max_length' => 0, 'word_boundary' => true, 'ellipsis' => true, 'more_link' => false, 'more_link_text' => '', 'more_link_path' => '', 'strip_tags' => false, 'trim' => false, 'preserve_tags' => '', 'html' => false],
+            'element_type' => '', 'element_class' => '', 'element_label_type' => '', 'element_label_class' => '', 'element_label_colon' => true,
+            'element_wrapper_type' => '', 'element_wrapper_class' => '', 'element_default_classes' => true,
+            'empty' => '', 'hide_empty' => false, 'empty_zero' => false, 'hide_alter_empty' => true,
+            'click_sort_column' => 'value', 'type' => 'string', 'settings' => ['link_to_entity' => true],
+            'group_column' => 'value', 'group_columns' => [], 'group_rows' => true, 'delta_limit' => 0, 'delta_offset' => 0, 'delta_reversed' => false, 'delta_first_last' => false, 'multi_type' => 'separator', 'separator' => ', ', 'field_api_classes' => false,
+          ],
+          'field_e_mail' => [
+            'id' => 'field_e_mail', 'table' => 'node__field_e_mail', 'field' => 'field_e_mail',
+            'plugin_id' => 'field', 'label' => 'E-mail', 'exclude' => false,
+            'alter' => ['alter_text' => false, 'text' => '', 'make_link' => false, 'path' => '', 'absolute' => false, 'external' => false, 'replace_spaces' => false, 'path_case' => 'none', 'trim_whitespace' => false, 'alt' => '', 'rel' => '', 'link_class' => '', 'prefix' => '', 'suffix' => '', 'target' => '', 'nl2br' => false, 'max_length' => 0, 'word_boundary' => true, 'ellipsis' => true, 'more_link' => false, 'more_link_text' => '', 'more_link_path' => '', 'strip_tags' => false, 'trim' => false, 'preserve_tags' => '', 'html' => false],
+            'element_type' => '', 'element_class' => '', 'element_label_type' => '', 'element_label_class' => '', 'element_label_colon' => true,
+            'element_wrapper_type' => '', 'element_wrapper_class' => '', 'element_default_classes' => true,
+            'empty' => '', 'hide_empty' => false, 'empty_zero' => false, 'hide_alter_empty' => true,
+            'click_sort_column' => 'value', 'type' => 'basic_string', 'settings' => [],
+            'group_column' => 'value', 'group_columns' => [], 'group_rows' => true, 'delta_limit' => 0, 'delta_offset' => 0, 'delta_reversed' => false, 'delta_first_last' => false, 'multi_type' => 'separator', 'separator' => ', ', 'field_api_classes' => false,
+          ],
+        ],
+        'pager' => ['type' => 'full', 'options' => ['offset' => 0, 'items_per_page' => 50]],
+        'exposed_form' => ['type' => 'basic', 'options' => ['submit_button' => 'Otsi', 'reset_button' => false, 'reset_button_label' => 'Reset', 'exposed_sorts_label' => 'Sort by', 'expose_sort_order' => false, 'sort_asc_label' => 'Asc', 'sort_desc_label' => 'Desc']],
+        'access' => ['type' => 'perm', 'options' => ['perm' => 'access content']],
+        'cache' => ['type' => 'tag', 'options' => []],
+        'empty' => [],
+        'sorts' => [
+          'title' => ['id' => 'title', 'table' => 'node_field_data', 'field' => 'title', 'entity_type' => 'node', 'entity_field' => 'title', 'plugin_id' => 'standard', 'order' => 'ASC', 'expose' => ['label' => '', 'field_identifier' => ''], 'exposed' => false],
+        ],
+        'arguments' => [],
+        'filters' => [
+          'status' => ['id' => 'status', 'table' => 'node_field_data', 'field' => 'status', 'entity_type' => 'node', 'entity_field' => 'status', 'plugin_id' => 'boolean', 'value' => '1', 'group' => 1, 'expose' => ['operator' => '']],
+          'type' => ['id' => 'type', 'table' => 'node_field_data', 'field' => 'type', 'entity_type' => 'node', 'entity_field' => 'type', 'plugin_id' => 'bundle', 'value' => ['emal_liige' => 'emal_liige'], 'expose' => ['operator_limit_selection' => false, 'operator_list' => []]],
+        ],
+        'style' => ['type' => 'table', 'options' => ['grouping' => [], 'row_class' => '', 'default_row_class' => true, 'columns' => ['title' => 'title', 'field_e_mail' => 'field_e_mail'], 'default' => 'title', 'info' => ['title' => ['sortable' => true, 'default_sort_order' => 'asc', 'align' => '', 'separator' => '', 'empty_column' => false, 'responsive' => ''], 'field_e_mail' => ['sortable' => false, 'default_sort_order' => 'asc', 'align' => '', 'separator' => '', 'empty_column' => false, 'responsive' => '']], 'override' => true, 'sticky' => true, 'summary' => '', 'empty_table' => true, 'caption' => '', 'description' => '']],
+        'row' => ['type' => 'fields', 'options' => []],
+        'query' => ['type' => 'views_query', 'options' => ['query_comment' => '', 'disable_sql_rewrite' => false, 'distinct' => false, 'replica' => false, 'query_tags' => []]],
+        'relationships' => [], 'header' => [], 'footer' => [], 'display_extenders' => [],
+      ],
+    ],
+    'page' => [
+      'id' => 'page', 'display_title' => 'Page', 'display_plugin' => 'page', 'position' => 1,
+      'display_options' => ['path' => 'synnipaevad'],
+    ],
+    'page_1' => [
+      'id' => 'page_1', 'display_title' => 'Sünnipäevad', 'display_plugin' => 'page', 'position' => 2,
+      'display_options' => ['path' => 'liikmed/synnipaevad'],
+    ],
+  ];
+  $synnipaevad = View::create($base);
+  $synnipaevad->set('display', $display);
+  $synnipaevad->save();
+  echo "synnipaevad view loodud\n";
+}
+
+echo "done\n";

+ 28 - 0
third/drupal/mustikas11/create_contact.php

@@ -0,0 +1,28 @@
+<?php
+// Loo contact feedback vorm (D7-s oli "Website feedback" -> test+emal@odamus.com)
+use Drupal\contact\Entity\ContactForm;
+
+$form = ContactForm::load('feedback');
+if (!$form) {
+  $form = ContactForm::create([
+    'id' => 'feedback',
+    'label' => 'Website feedback',
+    'recipients' => ['ardokubjas@gmail.com'],
+    'reply' => '',
+    'weight' => 0,
+    'message' => 'Your message has been sent.',
+    'redirect' => '',
+  ]);
+  $form->save();
+  echo "created feedback form\n";
+} else {
+  echo "feedback form already exists\n";
+}
+
+// Määra vaikimisi vormiks feedback.
+$settings = \Drupal::configFactory()->getEditable('contact.settings');
+$settings->set('default_form', 'feedback')->save();
+echo "default_form=feedback\n";
+
+// Vastuseks D7 menüü link /contact -> contact.site_page route.
+echo "done\n";

+ 18 - 0
third/drupal/mustikas11/import_views.php

@@ -0,0 +1,18 @@
+<?php
+// Import views from YAML files directly into active config.
+use Drupal\Component\Serialization\Yaml;
+use Drupal\Core\Config\ConfigImporter;
+
+foreach (['views.view.liikmed', 'views.view.projektid', 'views.view.kanded'] as $name) {
+  $file = "/tmp/{$name}.yml";
+  if (!file_exists($file)) {
+    echo "missing: $file\n";
+    continue;
+  }
+  $data = Yaml::decode(file_get_contents($file));
+  // Remove cache_metadata (computed), not stored in config.
+  $stored = $data;
+  \Drupal::configFactory()->getEditable($name)->setData($stored)->save();
+  echo "imported: $name\n";
+}
+echo "done\n";

+ 439 - 0
third/drupal/mustikas11/views.view.kanded.yml

@@ -0,0 +1,439 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - node
+    - user
+id: kanded
+label: Kanded
+module: views
+description: 'Raamatupidamise kanded (D7 liikmemaksud analogg)'
+tag: ''
+base_table: node_field_data
+base_field: nid
+display:
+  default:
+    id: default
+    display_title: Master
+    display_plugin: default
+    position: 0
+    display_options:
+      title: Kanded
+      fields:
+        field_date:
+          id: field_date
+          table: node__field_date
+          field: field_date
+          relationship: none
+          group_type: group
+          admin_label: ''
+          plugin_id: field
+          label: Kuupäev
+          exclude: false
+          alter:
+            alter_text: false
+            text: ''
+            make_link: false
+            path: ''
+            absolute: false
+            external: false
+            replace_spaces: false
+            path_case: none
+            trim_whitespace: false
+            alt: ''
+            rel: ''
+            link_class: ''
+            prefix: ''
+            suffix: ''
+            target: ''
+            nl2br: false
+            max_length: 0
+            word_boundary: true
+            ellipsis: true
+            more_link: false
+            more_link_text: ''
+            more_link_path: ''
+            strip_tags: false
+            trim: false
+            preserve_tags: ''
+            html: false
+          element_type: ''
+          element_class: ''
+          element_label_type: ''
+          element_label_class: ''
+          element_label_colon: true
+          element_wrapper_type: ''
+          element_wrapper_class: ''
+          element_default_classes: true
+          empty: ''
+          hide_empty: false
+          empty_zero: false
+          hide_alter_empty: true
+          click_sort_column: value
+          type: datetime_default
+          settings:
+            timezone_override: ''
+            format_type: short
+          group_column: value
+          group_columns: {  }
+          group_rows: true
+          delta_limit: 0
+          delta_offset: 0
+          delta_reversed: false
+          delta_first_last: false
+          multi_type: separator
+          separator: ', '
+          field_api_classes: false
+        field_kirjeldus:
+          id: field_kirjeldus
+          table: node__field_kirjeldus
+          field: field_kirjeldus
+          relationship: none
+          group_type: group
+          admin_label: ''
+          plugin_id: field
+          label: Kirjeldus
+          exclude: false
+          alter:
+            alter_text: false
+            text: ''
+            make_link: false
+            path: ''
+            absolute: false
+            external: false
+            replace_spaces: false
+            path_case: none
+            trim_whitespace: false
+            alt: ''
+            rel: ''
+            link_class: ''
+            prefix: ''
+            suffix: ''
+            target: ''
+            nl2br: false
+            max_length: 0
+            word_boundary: true
+            ellipsis: true
+            more_link: false
+            more_link_text: ''
+            more_link_path: ''
+            strip_tags: false
+            trim: false
+            preserve_tags: ''
+            html: false
+          element_type: ''
+          element_class: ''
+          element_label_type: ''
+          element_label_class: ''
+          element_label_colon: true
+          element_wrapper_type: ''
+          element_wrapper_class: ''
+          element_default_classes: true
+          empty: ''
+          hide_empty: false
+          empty_zero: false
+          hide_alter_empty: true
+          click_sort_column: value
+          type: string
+          settings: {  }
+          group_column: value
+          group_columns: {  }
+          group_rows: true
+          delta_limit: 0
+          delta_offset: 0
+          delta_reversed: false
+          delta_first_last: false
+          multi_type: separator
+          separator: ', '
+          field_api_classes: false
+        field_deebet:
+          id: field_deebet
+          table: node__field_deebet
+          field: field_deebet
+          relationship: none
+          group_type: group
+          admin_label: ''
+          plugin_id: field
+          label: Sisse
+          exclude: false
+          alter:
+            alter_text: false
+            text: ''
+            make_link: false
+            path: ''
+            absolute: false
+            external: false
+            replace_spaces: false
+            path_case: none
+            trim_whitespace: false
+            alt: ''
+            rel: ''
+            link_class: ''
+            prefix: ''
+            suffix: ''
+            target: ''
+            nl2br: false
+            max_length: 0
+            word_boundary: true
+            ellipsis: true
+            more_link: false
+            more_link_text: ''
+            more_link_path: ''
+            strip_tags: false
+            trim: false
+            preserve_tags: ''
+            html: false
+          element_type: ''
+          element_class: ''
+          element_label_type: ''
+          element_label_class: ''
+          element_label_colon: true
+          element_wrapper_type: ''
+          element_wrapper_class: ''
+          element_default_classes: true
+          empty: ''
+          hide_empty: false
+          empty_zero: false
+          hide_alter_empty: true
+          click_sort_column: value
+          type: number_decimal
+          settings:
+            thousand_separator: ''
+            decimal_separator: .
+            scale: 2
+            prefix_suffix: true
+          group_column: value
+          group_columns: {  }
+          group_rows: true
+          delta_limit: 0
+          delta_offset: 0
+          delta_reversed: false
+          delta_first_last: false
+          multi_type: separator
+          separator: ', '
+          field_api_classes: false
+        field_kreedit:
+          id: field_kreedit
+          table: node__field_kreedit
+          field: field_kreedit
+          relationship: none
+          group_type: group
+          admin_label: ''
+          plugin_id: field
+          label: Välja
+          exclude: false
+          alter:
+            alter_text: false
+            text: ''
+            make_link: false
+            path: ''
+            absolute: false
+            external: false
+            replace_spaces: false
+            path_case: none
+            trim_whitespace: false
+            alt: ''
+            rel: ''
+            link_class: ''
+            prefix: ''
+            suffix: ''
+            target: ''
+            nl2br: false
+            max_length: 0
+            word_boundary: true
+            ellipsis: true
+            more_link: false
+            more_link_text: ''
+            more_link_path: ''
+            strip_tags: false
+            trim: false
+            preserve_tags: ''
+            html: false
+          element_type: ''
+          element_class: ''
+          element_label_type: ''
+          element_label_class: ''
+          element_label_colon: true
+          element_wrapper_type: ''
+          element_wrapper_class: ''
+          element_default_classes: true
+          empty: ''
+          hide_empty: false
+          empty_zero: false
+          hide_alter_empty: true
+          click_sort_column: value
+          type: number_decimal
+          settings:
+            thousand_separator: ''
+            decimal_separator: .
+            scale: 2
+            prefix_suffix: true
+          group_column: value
+          group_columns: {  }
+          group_rows: true
+          delta_limit: 0
+          delta_offset: 0
+          delta_reversed: false
+          delta_first_last: false
+          multi_type: separator
+          separator: ', '
+          field_api_classes: false
+      pager:
+        type: full
+        options:
+          offset: 0
+          items_per_page: 50
+      exposed_form:
+        type: basic
+        options:
+          submit_button: Otsi
+          reset_button: false
+          reset_button_label: Reset
+          exposed_sorts_label: 'Sort by'
+          expose_sort_order: false
+          sort_asc_label: Asc
+          sort_desc_label: Desc
+      access:
+        type: perm
+        options:
+          perm: 'access content'
+      cache:
+        type: tag
+        options: {  }
+      empty: {  }
+      sorts:
+        field_date_value:
+          id: field_date_value
+          table: node__field_date
+          field: field_date_value
+          relationship: none
+          group_type: group
+          admin_label: ''
+          plugin_id: date
+          order: DESC
+          expose:
+            label: ''
+            field_identifier: ''
+          exposed: false
+          granularity: second
+      arguments: {  }
+      filters:
+        status:
+          id: status
+          table: node_field_data
+          field: status
+          entity_type: node
+          entity_field: status
+          plugin_id: boolean
+          value: '1'
+          group: 1
+          expose:
+            operator: ''
+        type:
+          id: type
+          table: node_field_data
+          field: type
+          entity_type: node
+          entity_field: type
+          plugin_id: bundle
+          value:
+            kanne: kanne
+          expose:
+            operator_limit_selection: false
+            operator_list: {  }
+      style:
+        type: table
+        options:
+          grouping: {  }
+          row_class: ''
+          default_row_class: true
+          columns:
+            field_date: field_date
+            field_kirjeldus: field_kirjeldus
+            field_deebet: field_deebet
+            field_kreedit: field_kreedit
+          default: field_date
+          info:
+            field_date:
+              sortable: true
+              default_sort_order: desc
+              align: ''
+              separator: ''
+              empty_column: false
+              responsive: ''
+            field_kirjeldus:
+              sortable: false
+              default_sort_order: asc
+              align: ''
+              separator: ''
+              empty_column: false
+              responsive: ''
+            field_deebet:
+              sortable: false
+              default_sort_order: asc
+              align: ''
+              separator: ''
+              empty_column: false
+              responsive: ''
+            field_kreedit:
+              sortable: false
+              default_sort_order: asc
+              align: ''
+              separator: ''
+              empty_column: false
+              responsive: ''
+          override: true
+          sticky: true
+          summary: ''
+          empty_table: true
+          caption: ''
+          description: ''
+      row:
+        type: fields
+        options: {  }
+      query:
+        type: views_query
+        options:
+          query_comment: ''
+          disable_sql_rewrite: false
+          distinct: false
+          replica: false
+          query_tags: {  }
+      relationships: {  }
+      header: {  }
+      footer: {  }
+      display_extenders: {  }
+    cache_metadata:
+      max-age: -1
+      contexts:
+        - 'languages:language_content'
+        - 'languages:language_interface'
+        - url.query_args
+        - 'user.node_grants:view'
+        - user.permissions
+      tags:
+        - 'config:field.storage.node.field_date'
+        - 'config:field.storage.node.field_deebet'
+        - 'config:field.storage.node.field_kirjeldus'
+        - 'config:field.storage.node.field_kreedit'
+  page_1:
+    id: page_1
+    display_title: 'Kõik kanded'
+    display_plugin: page
+    position: 1
+    display_options:
+      display_extenders: {  }
+      path: kanded/koik-kanded
+    cache_metadata:
+      max-age: -1
+      contexts:
+        - 'languages:language_content'
+        - 'languages:language_interface'
+        - url.query_args
+        - 'user.node_grants:view'
+        - user.permissions
+      tags:
+        - 'config:field.storage.node.field_date'
+        - 'config:field.storage.node.field_deebet'
+        - 'config:field.storage.node.field_kirjeldus'
+        - 'config:field.storage.node.field_kreedit'

+ 368 - 0
third/drupal/mustikas11/views.view.liikmed.yml

@@ -0,0 +1,368 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - node
+    - user
+id: liikmed
+label: Liikmed
+module: views
+description: 'EMAL liikmete nimekiri (D7 emal_liikmete_nimekiri analogg)'
+tag: ''
+base_table: node_field_data
+base_field: nid
+display:
+  default:
+    id: default
+    display_title: Master
+    display_plugin: default
+    position: 0
+    display_options:
+      title: Liikmed
+      fields:
+        title:
+          id: title
+          table: node_field_data
+          field: title
+          relationship: none
+          group_type: group
+          admin_label: ''
+          entity_type: node
+          entity_field: title
+          plugin_id: field
+          label: Nimi
+          exclude: false
+          alter:
+            alter_text: false
+            text: ''
+            make_link: false
+            path: ''
+            absolute: false
+            external: false
+            replace_spaces: false
+            path_case: none
+            trim_whitespace: false
+            alt: ''
+            rel: ''
+            link_class: ''
+            prefix: ''
+            suffix: ''
+            target: ''
+            nl2br: false
+            max_length: 0
+            word_boundary: true
+            ellipsis: true
+            more_link: false
+            more_link_text: ''
+            more_link_path: ''
+            strip_tags: false
+            trim: false
+            preserve_tags: ''
+            html: false
+          element_type: ''
+          element_class: ''
+          element_label_type: ''
+          element_label_class: ''
+          element_label_colon: true
+          element_wrapper_type: ''
+          element_wrapper_class: ''
+          element_default_classes: true
+          empty: ''
+          hide_empty: false
+          empty_zero: false
+          hide_alter_empty: true
+          click_sort_column: value
+          type: string
+          settings:
+            link_to_entity: true
+          group_column: value
+          group_columns: {  }
+          group_rows: true
+          delta_limit: 0
+          delta_offset: 0
+          delta_reversed: false
+          delta_first_last: false
+          multi_type: separator
+          separator: ', '
+          field_api_classes: false
+        field_e_mail:
+          id: field_e_mail
+          table: node__field_e_mail
+          field: field_e_mail
+          relationship: none
+          group_type: group
+          admin_label: ''
+          plugin_id: field
+          label: 'E-mail'
+          exclude: false
+          alter:
+            alter_text: false
+            text: ''
+            make_link: false
+            path: ''
+            absolute: false
+            external: false
+            replace_spaces: false
+            path_case: none
+            trim_whitespace: false
+            alt: ''
+            rel: ''
+            link_class: ''
+            prefix: ''
+            suffix: ''
+            target: ''
+            nl2br: false
+            max_length: 0
+            word_boundary: true
+            ellipsis: true
+            more_link: false
+            more_link_text: ''
+            more_link_path: ''
+            strip_tags: false
+            trim: false
+            preserve_tags: ''
+            html: false
+          element_type: ''
+          element_class: ''
+          element_label_type: ''
+          element_label_class: ''
+          element_label_colon: true
+          element_wrapper_type: ''
+          element_wrapper_class: ''
+          element_default_classes: true
+          empty: ''
+          hide_empty: false
+          empty_zero: false
+          hide_alter_empty: true
+          click_sort_column: value
+          type: basic_string
+          settings: {  }
+          group_column: value
+          group_columns: {  }
+          group_rows: true
+          delta_limit: 0
+          delta_offset: 0
+          delta_reversed: false
+          delta_first_last: false
+          multi_type: separator
+          separator: ', '
+          field_api_classes: false
+        field_isikukood:
+          id: field_isikukood
+          table: node__field_isikukood
+          field: field_isikukood
+          relationship: none
+          group_type: group
+          admin_label: ''
+          plugin_id: field
+          label: Isikukood
+          exclude: false
+          alter:
+            alter_text: false
+            text: ''
+            make_link: false
+            path: ''
+            absolute: false
+            external: false
+            replace_spaces: false
+            path_case: none
+            trim_whitespace: false
+            alt: ''
+            rel: ''
+            link_class: ''
+            prefix: ''
+            suffix: ''
+            target: ''
+            nl2br: false
+            max_length: 0
+            word_boundary: true
+            ellipsis: true
+            more_link: false
+            more_link_text: ''
+            more_link_path: ''
+            strip_tags: false
+            trim: false
+            preserve_tags: ''
+            html: false
+          element_type: ''
+          element_class: ''
+          element_label_type: ''
+          element_label_class: ''
+          element_label_colon: true
+          element_wrapper_type: ''
+          element_wrapper_class: ''
+          element_default_classes: true
+          empty: ''
+          hide_empty: false
+          empty_zero: false
+          hide_alter_empty: true
+          click_sort_column: value
+          type: string
+          settings: {  }
+          group_column: value
+          group_columns: {  }
+          group_rows: true
+          delta_limit: 0
+          delta_offset: 0
+          delta_reversed: false
+          delta_first_last: false
+          multi_type: separator
+          separator: ', '
+          field_api_classes: false
+      pager:
+        type: full
+        options:
+          offset: 0
+          items_per_page: 50
+      exposed_form:
+        type: basic
+        options:
+          submit_button: Otsi
+          reset_button: false
+          reset_button_label: Reset
+          exposed_sorts_label: 'Sort by'
+          expose_sort_order: false
+          sort_asc_label: Asc
+          sort_desc_label: Desc
+      access:
+        type: perm
+        options:
+          perm: 'access content'
+      cache:
+        type: tag
+        options: {  }
+      empty: {  }
+      sorts:
+        title:
+          id: title
+          table: node_field_data
+          field: title
+          relationship: none
+          group_type: group
+          admin_label: ''
+          entity_type: node
+          entity_field: title
+          plugin_id: standard
+          order: ASC
+          expose:
+            label: ''
+            field_identifier: ''
+          exposed: false
+      arguments: {  }
+      filters:
+        status:
+          id: status
+          table: node_field_data
+          field: status
+          entity_type: node
+          entity_field: status
+          plugin_id: boolean
+          value: '1'
+          group: 1
+          expose:
+            operator: ''
+        type:
+          id: type
+          table: node_field_data
+          field: type
+          entity_type: node
+          entity_field: type
+          plugin_id: bundle
+          value:
+            emal_liige: emal_liige
+          expose:
+            operator_limit_selection: false
+            operator_list: {  }
+      style:
+        type: table
+        options:
+          grouping: {  }
+          row_class: ''
+          default_row_class: true
+          columns:
+            title: title
+            field_e_mail: field_e_mail
+            field_isikukood: field_isikukood
+          default: title
+          info:
+            title:
+              sortable: true
+              default_sort_order: asc
+              align: ''
+              separator: ''
+              empty_column: false
+              responsive: ''
+            field_e_mail:
+              sortable: false
+              default_sort_order: asc
+              align: ''
+              separator: ''
+              empty_column: false
+              responsive: ''
+            field_isikukood:
+              sortable: false
+              default_sort_order: asc
+              align: ''
+              separator: ''
+              empty_column: false
+              responsive: ''
+          override: true
+          sticky: true
+          summary: ''
+          empty_table: true
+          caption: ''
+          description: ''
+      row:
+        type: fields
+        options: {  }
+      query:
+        type: views_query
+        options:
+          query_comment: ''
+          disable_sql_rewrite: false
+          distinct: false
+          replica: false
+          query_tags: {  }
+      relationships: {  }
+      header: {  }
+      footer: {  }
+      display_extenders: {  }
+    cache_metadata:
+      max-age: -1
+      contexts:
+        - 'languages:language_content'
+        - 'languages:language_interface'
+        - url.query_args
+        - 'user.node_grants:view'
+        - user.permissions
+      tags:
+        - 'config:field.storage.node.field_e_mail'
+        - 'config:field.storage.node.field_isikukood'
+  page:
+    id: page
+    display_title: Page
+    display_plugin: page
+    position: 1
+    display_options:
+      display_extenders: {  }
+      path: liikmed
+      menu:
+        type: normal
+        title: 'Liikmete nimekiri (A-Z)'
+        description: ''
+        weight: 0
+        expanded: false
+        menu_name: menu-liikmed
+        parent: ''
+        context: '0'
+    cache_metadata:
+      max-age: -1
+      contexts:
+        - 'languages:language_content'
+        - 'languages:language_interface'
+        - url.query_args
+        - 'user.node_grants:view'
+        - user.permissions
+      tags:
+        - 'config:field.storage.node.field_e_mail'
+        - 'config:field.storage.node.field_isikukood'

+ 297 - 0
third/drupal/mustikas11/views.view.projektid.yml

@@ -0,0 +1,297 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - node
+    - user
+id: projektid
+label: Projektid
+module: views
+description: 'Projektide nimekiri (D7 projektid analogg)'
+tag: ''
+base_table: node_field_data
+base_field: nid
+display:
+  default:
+    id: default
+    display_title: Master
+    display_plugin: default
+    position: 0
+    display_options:
+      title: Projektid
+      fields:
+        title:
+          id: title
+          table: node_field_data
+          field: title
+          relationship: none
+          group_type: group
+          admin_label: ''
+          entity_type: node
+          entity_field: title
+          plugin_id: field
+          label: Nimetus
+          exclude: false
+          alter:
+            alter_text: false
+            text: ''
+            make_link: false
+            path: ''
+            absolute: false
+            external: false
+            replace_spaces: false
+            path_case: none
+            trim_whitespace: false
+            alt: ''
+            rel: ''
+            link_class: ''
+            prefix: ''
+            suffix: ''
+            target: ''
+            nl2br: false
+            max_length: 0
+            word_boundary: true
+            ellipsis: true
+            more_link: false
+            more_link_text: ''
+            more_link_path: ''
+            strip_tags: false
+            trim: false
+            preserve_tags: ''
+            html: false
+          element_type: ''
+          element_class: ''
+          element_label_type: ''
+          element_label_class: ''
+          element_label_colon: true
+          element_wrapper_type: ''
+          element_wrapper_class: ''
+          element_default_classes: true
+          empty: ''
+          hide_empty: false
+          empty_zero: false
+          hide_alter_empty: true
+          click_sort_column: value
+          type: string
+          settings:
+            link_to_entity: true
+          group_column: value
+          group_columns: {  }
+          group_rows: true
+          delta_limit: 0
+          delta_offset: 0
+          delta_reversed: false
+          delta_first_last: false
+          multi_type: separator
+          separator: ', '
+          field_api_classes: false
+        field_kirjeldus:
+          id: field_kirjeldus
+          table: node__field_kirjeldus
+          field: field_kirjeldus
+          relationship: none
+          group_type: group
+          admin_label: ''
+          plugin_id: field
+          label: Kirjeldus
+          exclude: false
+          alter:
+            alter_text: false
+            text: ''
+            make_link: false
+            path: ''
+            absolute: false
+            external: false
+            replace_spaces: false
+            path_case: none
+            trim_whitespace: false
+            alt: ''
+            rel: ''
+            link_class: ''
+            prefix: ''
+            suffix: ''
+            target: ''
+            nl2br: false
+            max_length: 0
+            word_boundary: true
+            ellipsis: true
+            more_link: false
+            more_link_text: ''
+            more_link_path: ''
+            strip_tags: false
+            trim: false
+            preserve_tags: ''
+            html: false
+          element_type: ''
+          element_class: ''
+          element_label_type: ''
+          element_label_class: ''
+          element_label_colon: true
+          element_wrapper_type: ''
+          element_wrapper_class: ''
+          element_default_classes: true
+          empty: ''
+          hide_empty: false
+          empty_zero: false
+          hide_alter_empty: true
+          click_sort_column: value
+          type: string
+          settings: {  }
+          group_column: value
+          group_columns: {  }
+          group_rows: true
+          delta_limit: 0
+          delta_offset: 0
+          delta_reversed: false
+          delta_first_last: false
+          multi_type: separator
+          separator: ', '
+          field_api_classes: false
+      pager:
+        type: full
+        options:
+          offset: 0
+          items_per_page: 20
+      exposed_form:
+        type: basic
+        options:
+          submit_button: Otsi
+          reset_button: false
+          reset_button_label: Reset
+          exposed_sorts_label: 'Sort by'
+          expose_sort_order: false
+          sort_asc_label: Asc
+          sort_desc_label: Desc
+      access:
+        type: perm
+        options:
+          perm: 'access content'
+      cache:
+        type: tag
+        options: {  }
+      empty: {  }
+      sorts:
+        created:
+          id: created
+          table: node_field_data
+          field: created
+          relationship: none
+          group_type: group
+          admin_label: ''
+          entity_type: node
+          entity_field: created
+          plugin_id: date
+          order: DESC
+          expose:
+            label: ''
+            field_identifier: ''
+          exposed: false
+          granularity: second
+      arguments: {  }
+      filters:
+        status:
+          id: status
+          table: node_field_data
+          field: status
+          entity_type: node
+          entity_field: status
+          plugin_id: boolean
+          value: '1'
+          group: 1
+          expose:
+            operator: ''
+        type:
+          id: type
+          table: node_field_data
+          field: type
+          entity_type: node
+          entity_field: type
+          plugin_id: bundle
+          value:
+            projekt: projekt
+          expose:
+            operator_limit_selection: false
+            operator_list: {  }
+      style:
+        type: table
+        options:
+          grouping: {  }
+          row_class: ''
+          default_row_class: true
+          columns:
+            title: title
+            field_kirjeldus: field_kirjeldus
+          default: title
+          info:
+            title:
+              sortable: true
+              default_sort_order: asc
+              align: ''
+              separator: ''
+              empty_column: false
+              responsive: ''
+            field_kirjeldus:
+              sortable: false
+              default_sort_order: asc
+              align: ''
+              separator: ''
+              empty_column: false
+              responsive: ''
+          override: true
+          sticky: true
+          summary: ''
+          empty_table: true
+          caption: ''
+          description: ''
+      row:
+        type: fields
+        options: {  }
+      query:
+        type: views_query
+        options:
+          query_comment: ''
+          disable_sql_rewrite: false
+          distinct: false
+          replica: false
+          query_tags: {  }
+      relationships: {  }
+      header: {  }
+      footer: {  }
+      display_extenders: {  }
+    cache_metadata:
+      max-age: -1
+      contexts:
+        - 'languages:language_content'
+        - 'languages:language_interface'
+        - url.query_args
+        - 'user.node_grants:view'
+        - user.permissions
+      tags:
+        - 'config:field.storage.node.field_kirjeldus'
+  page:
+    id: page
+    display_title: Page
+    display_plugin: page
+    position: 1
+    display_options:
+      display_extenders: {  }
+      path: projektid
+      menu:
+        type: normal
+        title: 'Projektide nimekiri'
+        description: ''
+        weight: 0
+        expanded: false
+        menu_name: menu-projektid
+        parent: ''
+        context: '0'
+    cache_metadata:
+      max-age: -1
+      contexts:
+        - 'languages:language_content'
+        - 'languages:language_interface'
+        - url.query_args
+        - 'user.node_grants:view'
+        - user.permissions
+      tags:
+        - 'config:field.storage.node.field_kirjeldus'