Skip to content

Commit

Permalink
EZP-29290: Author Field Type prefilled by empty value by default (ezs…
Browse files Browse the repository at this point in the history
  • Loading branch information
konradoboza authored and Łukasz Serwatka committed Aug 29, 2018
1 parent 81bfd98 commit 4c13d6c
Show file tree
Hide file tree
Showing 9 changed files with 22 additions and 23 deletions.
2 changes: 1 addition & 1 deletion data/mysql/cleandata.sql
Expand Up @@ -49,7 +49,7 @@ INSERT INTO `ezcontentclass_attribute` (`can_translate`, `category`, `contentcla
INSERT INTO `ezcontentclass_attribute` (`can_translate`, `category`, `contentclass_id`, `data_float1`, `data_float2`, `data_float3`, `data_float4`, `data_int1`, `data_int2`, `data_int3`, `data_int4`, `data_text1`, `data_text2`, `data_text3`, `data_text4`, `data_text5`, `data_type_string`, `id`, `identifier`, `is_information_collector`, `is_required`, `is_searchable`, `placement`, `serialized_data_text`, `serialized_description_list`, `serialized_name_list`, `version`) VALUES (1,'',12,0,0,0,0,10,0,0,0,'','','','',NULL,'ezrichtext',147,'description',0,0,1,2,NULL,NULL,'a:2:{s:6:\"eng-GB\";s:11:\"Description\";s:16:\"always-available\";s:6:\"eng-GB\";}',0);
INSERT INTO `ezcontentclass_attribute` (`can_translate`, `category`, `contentclass_id`, `data_float1`, `data_float2`, `data_float3`, `data_float4`, `data_int1`, `data_int2`, `data_int3`, `data_int4`, `data_text1`, `data_text2`, `data_text3`, `data_text4`, `data_text5`, `data_type_string`, `id`, `identifier`, `is_information_collector`, `is_required`, `is_searchable`, `placement`, `serialized_data_text`, `serialized_description_list`, `serialized_name_list`, `version`) VALUES (1,'',12,0,0,0,0,0,0,0,0,'','','','',NULL,'ezbinaryfile',148,'file',0,1,0,3,NULL,NULL,'a:2:{s:6:\"eng-GB\";s:4:\"File\";s:16:\"always-available\";s:6:\"eng-GB\";}',0);
INSERT INTO `ezcontentclass_attribute` (`can_translate`, `category`, `contentclass_id`, `data_float1`, `data_float2`, `data_float3`, `data_float4`, `data_int1`, `data_int2`, `data_int3`, `data_int4`, `data_text1`, `data_text2`, `data_text3`, `data_text4`, `data_text5`, `data_type_string`, `id`, `identifier`, `is_information_collector`, `is_required`, `is_searchable`, `placement`, `serialized_data_text`, `serialized_description_list`, `serialized_name_list`, `version`) VALUES (1,'',2,0,0,0,0,255,0,0,0,'','','','','','ezstring',152,'short_title',0,0,1,2,NULL,NULL,'a:2:{s:6:\"eng-GB\";s:11:\"Short title\";s:16:\"always-available\";s:6:\"eng-GB\";}',0);
INSERT INTO `ezcontentclass_attribute` (`can_translate`, `category`, `contentclass_id`, `data_float1`, `data_float2`, `data_float3`, `data_float4`, `data_int1`, `data_int2`, `data_int3`, `data_int4`, `data_text1`, `data_text2`, `data_text3`, `data_text4`, `data_text5`, `data_type_string`, `id`, `identifier`, `is_information_collector`, `is_required`, `is_searchable`, `placement`, `serialized_data_text`, `serialized_description_list`, `serialized_name_list`, `version`) VALUES (1,'',2,0,0,0,0,0,0,0,0,'','','','','','ezauthor',153,'author',0,0,0,3,NULL,NULL,'a:2:{s:6:\"eng-GB\";s:6:\"Author\";s:16:\"always-available\";s:6:\"eng-GB\";}',0);
INSERT INTO `ezcontentclass_attribute` (`can_translate`, `category`, `contentclass_id`, `data_float1`, `data_float2`, `data_float3`, `data_float4`, `data_int1`, `data_int2`, `data_int3`, `data_int4`, `data_text1`, `data_text2`, `data_text3`, `data_text4`, `data_text5`, `data_type_string`, `id`, `identifier`, `is_information_collector`, `is_required`, `is_searchable`, `placement`, `serialized_data_text`, `serialized_description_list`, `serialized_name_list`, `version`) VALUES (1,'',2,0,0,0,0,1,0,0,0,'','','','','','ezauthor',153,'author',0,0,0,3,NULL,NULL,'a:2:{s:6:\"eng-GB\";s:6:\"Author\";s:16:\"always-available\";s:6:\"eng-GB\";}',0);
INSERT INTO `ezcontentclass_attribute` (`can_translate`, `category`, `contentclass_id`, `data_float1`, `data_float2`, `data_float3`, `data_float4`, `data_int1`, `data_int2`, `data_int3`, `data_int4`, `data_text1`, `data_text2`, `data_text3`, `data_text4`, `data_text5`, `data_type_string`, `id`, `identifier`, `is_information_collector`, `is_required`, `is_searchable`, `placement`, `serialized_data_text`, `serialized_description_list`, `serialized_name_list`, `version`) VALUES (1,'',2,0,0,0,0,0,0,0,0,'','','','','','ezobjectrelation',154,'image',0,0,1,7,NULL,NULL,'a:2:{s:6:\"eng-GB\";s:5:\"Image\";s:16:\"always-available\";s:6:\"eng-GB\";}',0);
INSERT INTO `ezcontentclass_attribute` (`can_translate`, `category`, `contentclass_id`, `data_float1`, `data_float2`, `data_float3`, `data_float4`, `data_int1`, `data_int2`, `data_int3`, `data_int4`, `data_text1`, `data_text2`, `data_text3`, `data_text4`, `data_text5`, `data_type_string`, `id`, `identifier`, `is_information_collector`, `is_required`, `is_searchable`, `placement`, `serialized_data_text`, `serialized_description_list`, `serialized_name_list`, `version`) VALUES (1,'',1,NULL,NULL,NULL,NULL,100,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'ezstring',155,'short_name',0,0,1,2,'N;','a:0:{}','a:1:{s:6:\"eng-GB\";s:10:\"Short name\";}',0);
INSERT INTO `ezcontentclass_attribute` (`can_translate`, `category`, `contentclass_id`, `data_float1`, `data_float2`, `data_float3`, `data_float4`, `data_int1`, `data_int2`, `data_int3`, `data_int4`, `data_text1`, `data_text2`, `data_text3`, `data_text4`, `data_text5`, `data_type_string`, `id`, `identifier`, `is_information_collector`, `is_required`, `is_searchable`, `placement`, `serialized_data_text`, `serialized_description_list`, `serialized_name_list`, `version`) VALUES (1,'',1,NULL,NULL,NULL,NULL,20,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'ezrichtext',156,'description',0,0,1,4,'N;','a:0:{}','a:1:{s:6:\"eng-GB\";s:11:\"Description\";}',0);
Expand Down
Expand Up @@ -42,7 +42,7 @@ public function getSettingsSchema()
return array(
'defaultAuthor' => array(
'type' => 'choice',
'default' => Type::DEFAULT_CURRENT_USER,
'default' => Type::DEFAULT_VALUE_EMPTY,
),
);
}
Expand All @@ -55,7 +55,7 @@ public function getSettingsSchema()
public function getValidFieldSettings()
{
return array(
'defaultAuthor' => Type::DEFAULT_CURRENT_USER,
'defaultAuthor' => Type::DEFAULT_VALUE_EMPTY,
);
}

Expand Down
12 changes: 6 additions & 6 deletions eZ/Publish/Core/FieldType/Author/Type.php
Expand Up @@ -23,21 +23,21 @@
class Type extends FieldType
{
/**
* Flag which stands for prefilling Author FieldType with current user by default.
* Flag which stands for setting Author FieldType empty by default.
* It is used in a Content Type edit view.
*/
const DEFAULT_CURRENT_USER = 1;
const DEFAULT_VALUE_EMPTY = 0;

/**
* Flag which stands for setting Author FieldType empty by default.
* Flag which stands for prefilling Author FieldType with current user by default.
* It is used in a Content Type edit view.
*/
const DEFAULT_EMPTY = -1;
const DEFAULT_CURRENT_USER = 1;

protected $settingsSchema = [
'defaultAuthor' => [
'type' => 'choice',
'default' => self::DEFAULT_CURRENT_USER,
'default' => self::DEFAULT_VALUE_EMPTY,
],
];

Expand Down Expand Up @@ -234,8 +234,8 @@ private function validateSettingName($name)
private function validateDefaultAuthorSetting($name, $value)
{
$definedValues = [
self::DEFAULT_VALUE_EMPTY,
self::DEFAULT_CURRENT_USER,
self::DEFAULT_EMPTY,
];

if (!in_array($value, $definedValues, true)) {
Expand Down
4 changes: 2 additions & 2 deletions eZ/Publish/Core/FieldType/Tests/AuthorTest.php
Expand Up @@ -75,7 +75,7 @@ protected function getSettingsSchemaExpectation()
return array(
'defaultAuthor' => array(
'type' => 'choice',
'default' => AuthorType::DEFAULT_CURRENT_USER,
'default' => AuthorType::DEFAULT_VALUE_EMPTY,
),
);
}
Expand Down Expand Up @@ -356,7 +356,7 @@ public function provideValidFieldSettings()
),
array(
array(
'defaultAuthor' => AuthorType::DEFAULT_EMPTY,
'defaultAuthor' => AuthorType::DEFAULT_VALUE_EMPTY,
),
),
array(
Expand Down
Expand Up @@ -8,7 +8,6 @@
*/
namespace eZ\Publish\Core\Persistence\Legacy\Content\FieldValue\Converter;

use eZ\Publish\Core\FieldType\Author\Type as AuthorType;
use eZ\Publish\Core\Persistence\Legacy\Content\FieldValue\Converter;
use eZ\Publish\Core\Persistence\Legacy\Content\StorageFieldValue;
use eZ\Publish\Core\FieldType\FieldSettings;
Expand Down Expand Up @@ -76,7 +75,7 @@ public function toFieldDefinition(StorageFieldDefinition $storageDef, FieldDefin
{
$fieldDef->fieldTypeConstraints->fieldSettings = new FieldSettings(
[
'defaultAuthor' => $storageDef->dataInt1 ? $storageDef->dataInt1 : AuthorType::DEFAULT_CURRENT_USER,
'defaultAuthor' => $storageDef->dataInt1,
]
);

Expand Down
Expand Up @@ -162,7 +162,7 @@ public function testToStorageFieldDefinitionDefaultEmpty()
$fieldTypeConstraints = new FieldTypeConstraints();
$fieldTypeConstraints->fieldSettings = new FieldSettings(
array(
'defaultAuthor' => AuthorType::DEFAULT_EMPTY,
'defaultAuthor' => AuthorType::DEFAULT_VALUE_EMPTY,
)
);
$fieldDef = new SPIFieldDefinition(
Expand All @@ -173,7 +173,7 @@ public function testToStorageFieldDefinitionDefaultEmpty()

$this->converter->toStorageFieldDefinition($fieldDef, $storageFieldDef);
self::assertSame(
AuthorType::DEFAULT_EMPTY,
AuthorType::DEFAULT_VALUE_EMPTY,
$storageFieldDef->dataInt1
);
}
Expand Down
Expand Up @@ -20,11 +20,11 @@ public function preProcessFieldSettingsHash($incomingSettingsHash)
{
if (isset($incomingSettingsHash['defaultAuthor'])) {
switch ($incomingSettingsHash['defaultAuthor']) {
case 'DEFAULT_EMPTY':
$incomingSettingsHash['defaultAuthor'] = Type::DEFAULT_EMPTY;
case 'DEFAULT_CURRENT_USER':
$incomingSettingsHash['defaultAuthor'] = Type::DEFAULT_CURRENT_USER;
break;
default:
$incomingSettingsHash['defaultAuthor'] = Type::DEFAULT_CURRENT_USER;
$incomingSettingsHash['defaultAuthor'] = Type::DEFAULT_VALUE_EMPTY;
}
}

Expand All @@ -38,11 +38,11 @@ public function postProcessFieldSettingsHash($outgoingSettingsHash)
{
if (isset($outgoingSettingsHash['defaultAuthor'])) {
switch ($outgoingSettingsHash['defaultAuthor']) {
case Type::DEFAULT_EMPTY:
$outgoingSettingsHash['defaultAuthor'] = 'DEFAULT_EMPTY';
case Type::DEFAULT_CURRENT_USER:
$outgoingSettingsHash['defaultAuthor'] = 'DEFAULT_CURRENT_USER';
break;
default:
$outgoingSettingsHash['defaultAuthor'] = 'DEFAULT_CURRENT_USER';
$outgoingSettingsHash['defaultAuthor'] = 'DEFAULT_VALUE_EMPTY';
}
}

Expand Down
Expand Up @@ -14,8 +14,8 @@
class AuthorProcessorTest extends TestCase
{
protected $constants = [
'DEFAULT_VALUE_EMPTY',
'DEFAULT_CURRENT_USER',
'DEFAULT_EMPTY',
];

public function fieldSettingsHashes()
Expand Down
2 changes: 1 addition & 1 deletion eZ/Publish/SPI/Tests/FieldType/AuthorIntegrationTest.php
Expand Up @@ -92,7 +92,7 @@ public function getFieldDefinitionData()
array(
'fieldSettings' => new FieldType\FieldSettings(
array(
'defaultAuthor' => 1,
'defaultAuthor' => 0,
)
),
)
Expand Down

0 comments on commit 4c13d6c

Please sign in to comment.