diff --git a/core/lib/Drupal/Core/Entity/ContentEntityBase.php b/core/lib/Drupal/Core/Entity/ContentEntityBase.php
index 06b0f2c..8e4c78f 100644
--- a/core/lib/Drupal/Core/Entity/ContentEntityBase.php
+++ b/core/lib/Drupal/Core/Entity/ContentEntityBase.php
@@ -333,14 +333,12 @@ public function getRevisionId() {
}
public function isArchived() {
- $field_name = 'archived';
- return ($this->hasField($field_name)) ? $this->get($field_name)->value : FALSE;
+ return ($this->hasField('archived')) ? $this->get('archived')->value : FALSE;
}
public function setArchived($archived) {
- $field_name = 'archived';
- if ($this->hasField($field_name)) {
- $this->set($field_name, $archived);
+ if ($this->hasField('archived')) {
+ $this->set('archived', $archived);
}
return $this;
}
@@ -1149,8 +1147,8 @@ public static function baseFieldDefinitions(EntityTypeInterface $entity_type) {
$fields['archived'] = BaseFieldDefinition::create('boolean')
->setLabel(new TranslatableMarkup('Archive flag'))
->setRevisionable(TRUE)
- ->setTranslatable(TRUE)
- ->setDefaultValue(FALSE);
+ ->setRequired(TRUE)
+ ->setDefaultValue([0 => ['value' => FALSE]]);
}
if ($entity_type->hasKey('langcode')) {
$fields[$entity_type->getKey('langcode')] = BaseFieldDefinition::create('language')
diff --git a/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php b/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php
index 57eaf0b..6ab4d32 100644
--- a/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php
+++ b/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php
@@ -674,7 +674,10 @@ protected function buildQuery($ids, $revision_id = FALSE, $include_archived = FA
$query->addExpression('CASE base.' . $this->revisionKey . ' WHEN revision.' . $this->revisionKey . ' THEN 1 ELSE 0 END', 'isDefaultRevision');
if (!$include_archived && isset($entity_revision_fields['archived'])) {
- $query->condition('revision.archived', FALSE);
+ $group = $query->orConditionGroup()
+ ->condition('revision.archived', 0)
+ ->condition('revision.archived', NULL, 'IS');
+ $query->condition($group);
}
}
diff --git a/core/modules/block_content/block_content.install b/core/modules/block_content/block_content.install
index bd708ab..681017c 100644
--- a/core/modules/block_content/block_content.install
+++ b/core/modules/block_content/block_content.install
@@ -69,8 +69,8 @@ function block_content_update_8004() {
$archived = BaseFieldDefinition::create('boolean')
->setLabel(t('Archive flag'))
->setRevisionable(TRUE)
- ->setTranslatable(TRUE)
- ->setDefaultValue(FALSE);
+ ->setRequired(TRUE)
+ ->setDefaultValue([0 => ['value' => FALSE]]);
\Drupal::entityDefinitionUpdateManager()
->installFieldStorageDefinition('archived', 'block_content', 'block_content', $archived);
}
diff --git a/core/modules/block_content/tests/src/Kernel/BlockContentArchiveTest.php b/core/modules/block_content/tests/src/Kernel/BlockContentArchiveTest.php
index 64b68a9..484092e 100644
--- a/core/modules/block_content/tests/src/Kernel/BlockContentArchiveTest.php
+++ b/core/modules/block_content/tests/src/Kernel/BlockContentArchiveTest.php
@@ -48,4 +48,4 @@ public function testArchiveField() {
$loaded_archive_block_content = BlockContent::load($block_content->id());
$this->assertNull($loaded_archive_block_content);
}
-}
\ No newline at end of file
+}
diff --git a/core/modules/node/node.install b/core/modules/node/node.install
index fc397fa..5fb8cd6 100644
--- a/core/modules/node/node.install
+++ b/core/modules/node/node.install
@@ -226,8 +226,8 @@ function node_update_8004() {
$archived = BaseFieldDefinition::create('boolean')
->setLabel(t('Archive flag'))
->setRevisionable(TRUE)
- ->setTranslatable(TRUE)
- ->setDefaultValue(FALSE);
+ ->setRequired(TRUE)
+ ->setDefaultValue([0 => ['value' => FALSE]]);
\Drupal::entityDefinitionUpdateManager()
->installFieldStorageDefinition('archived', 'node', 'node', $archived);
}
\ No newline at end of file
diff --git a/core/modules/node/tests/src/Kernel/NodeArchiveTest.php b/core/modules/node/tests/src/Kernel/NodeArchiveTest.php
index 464c384..ff78ba2 100644
--- a/core/modules/node/tests/src/Kernel/NodeArchiveTest.php
+++ b/core/modules/node/tests/src/Kernel/NodeArchiveTest.php
@@ -48,4 +48,4 @@ public function testArchiveField() {
$loaded_archive_node = Node::load($node->id());
$this->assertNull($loaded_archive_node);
}
-}
\ No newline at end of file
+}
diff --git a/core/modules/serialization/src/Tests/EntitySerializationTest.php b/core/modules/serialization/src/Tests/EntitySerializationTest.php
index 85aa801..aa463ef 100644
--- a/core/modules/serialization/src/Tests/EntitySerializationTest.php
+++ b/core/modules/serialization/src/Tests/EntitySerializationTest.php
@@ -119,7 +119,9 @@ public function testNormalize() {
'revision_id' => array(
array('value' => 1),
),
- 'archived' => array(),
+ 'archived' => array(
+ array('value' => FALSE)
+ ),
'default_langcode' => array(
array('value' => TRUE),
),
@@ -191,7 +193,7 @@ public function testSerialize() {
'created' => '' . $this->entity->created->value . '',
'user_id' => '' . $this->user->id() . '' . $this->user->getEntityTypeId() . '' . $this->user->uuid() . '' . $this->user->url() . '',
'revision_id' => '' . $this->entity->getRevisionId() . '',
- 'archived' => '',
+ 'archived' => '0',
'default_langcode' => '1',
'non_rev_field' => '',
'field_test_text' => '' . $this->values['field_test_text']['value'] . '' . $this->values['field_test_text']['format'] . '',
diff --git a/core/tests/Drupal/KernelTests/Core/Entity/EntityDefinitionUpdateTest.php b/core/tests/Drupal/KernelTests/Core/Entity/EntityDefinitionUpdateTest.php
index 4929670..c92093c 100644
--- a/core/tests/Drupal/KernelTests/Core/Entity/EntityDefinitionUpdateTest.php
+++ b/core/tests/Drupal/KernelTests/Core/Entity/EntityDefinitionUpdateTest.php
@@ -102,7 +102,7 @@ public function testEntityTypeUpdateWithoutData() {
$expected = array(
'entity_test_update' => array(
t('The %entity_type entity type needs to be updated.', ['%entity_type' => $this->entityManager->getDefinition('entity_test_update')->getLabel()]),
- t('The %field_name field needs to be installed.', ['%field_name' => $this->entityManager->getFieldDefinitions('entity_test_update', null)['archived']->getLabel()]),
+ t('The %field_name field needs to be installed.', ['%field_name' => $this->entityManager->getFieldDefinitions('entity_test_update', NULL)['archived']->getLabel()]),
),
);
$this->assertEqual($this->entityDefinitionUpdateManager->getChangeSummary(), $expected); //, 'EntityDefinitionUpdateManager reports the expected change summary.');