summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNathaniel Catchpole2018-04-11 14:09:21 (GMT)
committerNathaniel Catchpole2018-04-11 14:09:21 (GMT)
commit749b7d7d11205f00ea5db376ee386fbd5a9a1f95 (patch)
tree1e4f71fd224542a04726dbea5ab46b59eb09c5fc
parent2597462d8d66ecd3543173a50b3cb638a7088eae (diff)
Issue #2916898 by dagmar, jhodgdon, chmez, dpagini, nicolas.rafaelli, alexpott, tstoeckler: Do not use basic_html text format for 'No log messages available.' message
-rw-r--r--core/modules/dblog/config/optional/views.view.watchdog.yml12
-rw-r--r--core/modules/dblog/dblog.install39
-rw-r--r--core/modules/dblog/tests/src/Functional/DbLogViewsTest.php31
-rw-r--r--core/modules/dblog/tests/src/Functional/Update/DblogNoLogsAvailableUpgradeTest.php42
4 files changed, 96 insertions, 28 deletions
diff --git a/core/modules/dblog/config/optional/views.view.watchdog.yml b/core/modules/dblog/config/optional/views.view.watchdog.yml
index a805ca5..f375180 100644
--- a/core/modules/dblog/config/optional/views.view.watchdog.yml
+++ b/core/modules/dblog/config/optional/views.view.watchdog.yml
@@ -652,18 +652,16 @@ display:
footer: { }
empty:
area:
- id: area
+ id: area_text_custom
table: views
- field: area
+ field: area_text_custom
relationship: none
group_type: group
- admin_label: ''
+ admin_label: 'No log messages available.'
empty: true
tokenize: false
- content:
- value: 'No log messages available.'
- format: basic_html
- plugin_id: text
+ content: 'No log messages available.'
+ plugin_id: text_custom
relationships:
uid:
id: uid
diff --git a/core/modules/dblog/dblog.install b/core/modules/dblog/dblog.install
index 8da830b..f180e1e 100644
--- a/core/modules/dblog/dblog.install
+++ b/core/modules/dblog/dblog.install
@@ -156,3 +156,42 @@ function dblog_update_8400() {
}
}
}
+
+/**
+ * Change 'No logs message available.' area plugin type.
+ */
+function dblog_update_8600() {
+ $config_factory = \Drupal::configFactory();
+
+ $view = \Drupal::configFactory()->getEditable('views.view.watchdog');
+ if (empty($view)) {
+ return;
+ }
+
+ $empty_text = $view->get('display.default.display_options.empty');
+ if (!isset($empty_text['area']['content']['value'])) {
+ return;
+ }
+
+ // Only update the empty text if is untouched from the original version.
+ if ($empty_text['area']['id'] == 'area' &&
+ $empty_text['area']['plugin_id'] == 'text' &&
+ $empty_text['area']['field'] == 'area' &&
+ $empty_text['area']['content']['value'] == 'No log messages available.') {
+
+ $new_config = [
+ 'id' => 'area_text_custom',
+ 'table' => 'views',
+ 'field' => 'area_text_custom',
+ 'relationship' => 'none',
+ 'group_type' => 'group',
+ 'admin_label' => 'No log messages available.',
+ 'empty' => TRUE,
+ 'tokenize' => FALSE,
+ 'content' => 'No log messages available.',
+ 'plugin_id' => 'text_custom',
+ ];
+ $view->set('display.default.display_options.empty.area', $new_config);
+ $view->save();
+ }
+}
diff --git a/core/modules/dblog/tests/src/Functional/DbLogViewsTest.php b/core/modules/dblog/tests/src/Functional/DbLogViewsTest.php
index d04d9ba..6e525cd 100644
--- a/core/modules/dblog/tests/src/Functional/DbLogViewsTest.php
+++ b/core/modules/dblog/tests/src/Functional/DbLogViewsTest.php
@@ -2,7 +2,7 @@
namespace Drupal\Tests\dblog\Functional;
-use Drupal\filter\Entity\FilterFormat;
+use Drupal\views\Views;
/**
* Generate events and verify dblog entries; verify user access to log reports
@@ -44,27 +44,16 @@ class DbLogViewsTest extends DbLogTest {
}
/**
- * {@inheritdoc}
+ * Tests the empty text for the watchdog view is not using an input format.
*/
- public function testDBLogAddAndClear() {
- // Is necesary to create the basic_html format because if absent after
- // delete the logs, a new log entry is created indicating that basic_html
- // format do not exists.
- $basic_html_format = FilterFormat::create([
- 'format' => 'basic_html',
- 'name' => 'Basic HTML',
- 'filters' => [
- 'filter_html' => [
- 'status' => 1,
- 'settings' => [
- 'allowed_html' => '<p> <br> <strong> <a> <em>',
- ],
- ],
- ],
- ]);
- $basic_html_format->save();
-
- parent::testDBLogAddAndClear();
+ public function testEmptyText() {
+ $view = Views::getView('watchdog');
+ $data = $view->storage->toArray();
+ $area = $data['display']['default']['display_options']['empty']['area'];
+
+ $this->assertEqual('text_custom', $area['plugin_id']);
+ $this->assertEqual('area_text_custom', $area['field']);
+ $this->assertEqual('No log messages available.', $area['content']);
}
}
diff --git a/core/modules/dblog/tests/src/Functional/Update/DblogNoLogsAvailableUpgradeTest.php b/core/modules/dblog/tests/src/Functional/Update/DblogNoLogsAvailableUpgradeTest.php
new file mode 100644
index 0000000..b4bfc28
--- /dev/null
+++ b/core/modules/dblog/tests/src/Functional/Update/DblogNoLogsAvailableUpgradeTest.php
@@ -0,0 +1,42 @@
+<?php
+
+namespace Drupal\Tests\dblog\Functional\Update;
+
+use Drupal\FunctionalTests\Update\UpdatePathTestBase;
+use Drupal\views\Views;
+
+/**
+ * Test the upgrade path of changing the emtpy text area for watchdog view.
+ *
+ * @see dblog_update_8600()
+ *
+ * @group Update
+ */
+class DblogNoLogsAvailableUpgradeTest extends UpdatePathTestBase {
+
+ /**
+ * {@inheritdoc}
+ */
+ protected function setDatabaseDumpFiles() {
+ $this->databaseDumpFiles = [
+ __DIR__ . '/../../../../../system/tests/fixtures/update/drupal-8.4.0.bare.standard.php.gz',
+ ];
+ }
+
+ /**
+ * Tests that no logs available text is now using a custom area.
+ */
+ public function testDblogUpgradePath() {
+
+ $this->runUpdates();
+
+ $view = Views::getView('watchdog');
+ $data = $view->storage->toArray();
+ $area = $data['display']['default']['display_options']['empty']['area'];
+
+ $this->assertEqual('text_custom', $area['plugin_id']);
+ $this->assertEqual('area_text_custom', $area['field']);
+ $this->assertEqual('No log messages available.', $area['content']);
+ }
+
+}