diff --git a/config/optional/views.view.group_members.yml b/config/optional/views.view.group_members.yml index 2781737..9c4b6a6 100644 --- a/config/optional/views.view.group_members.yml +++ b/config/optional/views.view.group_members.yml @@ -634,7 +634,7 @@ display: group_type: group admin_label: '' operator: '=' - value: false + value: '0' group: 1 exposed: false expose: diff --git a/config/optional/views.view.group_pending_members.yml b/config/optional/views.view.group_pending_members.yml index 3157e6e..14d7f66 100644 --- a/config/optional/views.view.group_pending_members.yml +++ b/config/optional/views.view.group_pending_members.yml @@ -409,7 +409,7 @@ display: group_type: group admin_label: '' operator: '=' - value: true + value: '1' group: 1 exposed: false expose: diff --git a/group.install b/group.install index 5ae3a67..b7961af 100644 --- a/group.install +++ b/group.install @@ -5,6 +5,7 @@ * Install, update and uninstall functions for the group module. */ +use Drupal\Core\Config\FileStorage; use Drupal\group\Entity\GroupContent; use Drupal\Core\Config\ExtensionInstallStorage; use Drupal\Core\Config\InstallStorage; @@ -14,6 +15,7 @@ use Drupal\Core\Entity\Entity\EntityViewDisplay; use Drupal\Core\Entity\Sql\SqlContentEntityStorage; use Drupal\field\Entity\FieldConfig; use Drupal\field\Entity\FieldStorageConfig; +use Drupal\views\Entity\View; /** * Resave all GroupContent labels and remove orphaned entities. @@ -373,6 +375,13 @@ function group_update_8010() { function group_update_8011() { $config_factory = \Drupal::configFactory(); + FieldStorageConfig::create([ + 'entity_type' => 'group_content', + 'type' => 'boolean', + 'field_name' => 'group_requires_approval', + 'settings' => [], + ])->save(); + foreach ($config_factory->listAll('group.content_type.') as $group_content_type_config_name) { $group_content_type = $config_factory->getEditable($group_content_type_config_name); $plugin_id = $group_content_type->get('content_plugin'); @@ -428,4 +437,18 @@ function group_update_8011() { ])->save(); } } + + // Create the new view if Views is installed. + $module_handler = \Drupal::moduleHandler(); + if ($module_handler->moduleExists('views') && !View::load('group_pending_members')) { + $optional_install_path = $module_handler->getModule('group') + ->getPath() . '/' . InstallStorage::CONFIG_OPTIONAL_DIRECTORY; + $storage = new FileStorage($optional_install_path); + + \Drupal::entityTypeManager() + ->getStorage('view') + ->create($storage->read('views.view.group_pending_members')) + ->save(); + } + } diff --git a/tests/modules/group_test_config/config/install/group.type.default.yml b/tests/modules/group_test_config/config/install/group.type.default.yml index 64376fe..0ba12c0 100644 --- a/tests/modules/group_test_config/config/install/group.type.default.yml +++ b/tests/modules/group_test_config/config/install/group.type.default.yml @@ -4,3 +4,4 @@ dependencies: { } id: default label: 'Default label' description: 'Default description.' +creator_roles: { }