getStorage('view'); $module_handler = \Drupal::moduleHandler(); foreach ($modules as $module) { $config_dir = drupal_get_path('module', $module) . '/test_views'; if (!is_dir($config_dir) || !$module_handler->moduleExists($module)) { continue; } $file_storage = new FileStorage($config_dir); $available_views = $file_storage->listAll('views.view.'); foreach ($views as $id) { $config_name = 'views.view.' . $id; if (in_array($config_name, $available_views)) { $storage ->create($file_storage->read($config_name)) ->save(); } } } } // Rebuild the router once. \Drupal::service('router.builder')->rebuild(); } /** * Returns the schema definition. */ public static function schemaDefinition() { $schema['views_test_data'] = [ 'description' => 'Basic test table for Views tests.', 'fields' => [ 'id' => [ 'type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE, ], 'name' => [ 'description' => "A person's name", 'type' => 'varchar_ascii', 'length' => 255, 'not null' => TRUE, 'default' => '', ], 'age' => [ 'description' => "The person's age", 'type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0], 'job' => [ 'description' => "The person's job", 'type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => 'Undefined', ], 'created' => [ 'description' => "The creation date of this record", 'type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, ], 'status' => [ 'description' => "The status of this record", 'type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, ], ], 'primary key' => ['id'], 'unique keys' => [ 'name' => ['name'] ], 'indexes' => [ 'ages' => ['age'], ], ]; return $schema; } /** * Returns the views data definition. */ public static function viewsData() { // Declaration of the base table. $data['views_test_data']['table'] = [ 'group' => 'Views test', 'base' => [ 'field' => 'id', 'title' => 'Views test data', 'help' => 'Users who have created accounts on your site.', ], ]; // Declaration of fields. $data['views_test_data']['id'] = [ 'title' => 'ID', 'help' => 'The test data ID', 'field' => [ 'id' => 'numeric', ], 'argument' => [ 'id' => 'numeric', ], 'filter' => [ 'id' => 'numeric', ], 'sort' => [ 'id' => 'standard', ], ]; $data['views_test_data']['name'] = [ 'title' => 'Name', 'help' => 'The name of the person', 'field' => [ 'id' => 'standard', ], 'argument' => [ 'id' => 'string', ], 'filter' => [ 'id' => 'string', ], 'sort' => [ 'id' => 'standard', ], ]; $data['views_test_data']['age'] = [ 'title' => 'Age', 'help' => 'The age of the person', 'field' => [ 'id' => 'numeric', ], 'argument' => [ 'id' => 'numeric', ], 'filter' => [ 'id' => 'numeric', ], 'sort' => [ 'id' => 'standard', ], ]; $data['views_test_data']['job'] = [ 'title' => 'Job', 'help' => 'The job of the person', 'field' => [ 'id' => 'standard', ], 'argument' => [ 'id' => 'string', ], 'filter' => [ 'id' => 'string', ], 'sort' => [ 'id' => 'standard', ], ]; $data['views_test_data']['created'] = [ 'title' => 'Created', 'help' => 'The creation date of this record', 'field' => [ 'id' => 'date', ], 'argument' => [ 'id' => 'date', ], 'filter' => [ 'id' => 'date', ], 'sort' => [ 'id' => 'date', ], ]; $data['views_test_data']['status'] = [ 'title' => 'Status', 'help' => 'The status of this record', 'field' => [ 'id' => 'boolean', ], 'filter' => [ 'id' => 'boolean', ], 'sort' => [ 'id' => 'standard', ], ]; return $data; } /** * Returns a very simple test dataset. */ public static function dataSet() { return [ [ 'name' => 'John', 'age' => 25, 'job' => 'Singer', 'created' => gmmktime(0, 0, 0, 1, 1, 2000), 'status' => 1, ], [ 'name' => 'George', 'age' => 27, 'job' => 'Singer', 'created' => gmmktime(0, 0, 0, 1, 2, 2000), 'status' => 0, ], [ 'name' => 'Ringo', 'age' => 28, 'job' => 'Drummer', 'created' => gmmktime(6, 30, 30, 1, 1, 2000), 'status' => 1, ], [ 'name' => 'Paul', 'age' => 26, 'job' => 'Songwriter', 'created' => gmmktime(6, 0, 0, 1, 1, 2000), 'status' => 0, ], [ 'name' => 'Meredith', 'age' => 30, 'job' => 'Speaker', 'created' => gmmktime(6, 30, 10, 1, 1, 2000), 'status' => 1, ], ]; } }