diff --git a/src/applications/project/lipsum/PhabricatorProjectTestDataGenerator.php b/src/applications/project/lipsum/PhabricatorProjectTestDataGenerator.php index e29ee13f2d..f5b9c8ec73 100644 --- a/src/applications/project/lipsum/PhabricatorProjectTestDataGenerator.php +++ b/src/applications/project/lipsum/PhabricatorProjectTestDataGenerator.php @@ -10,6 +10,8 @@ final class PhabricatorProjectTestDataGenerator } public function generateObject() { + PhabricatorStandardCustomField::setLipsumGeneration(true); + $author = $this->loadRandomUser(); $project = PhabricatorProject::initializeNewProject($author); @@ -50,6 +52,8 @@ final class PhabricatorProjectTestDataGenerator ->setContinueOnNoEffect(true) ->applyTransactions($project, $xactions); + PhabricatorStandardCustomField::setLipsumGeneration(false); + return $project; } diff --git a/src/infrastructure/customfield/standard/PhabricatorStandardCustomField.php b/src/infrastructure/customfield/standard/PhabricatorStandardCustomField.php index 8389086f79..eadd9accd7 100644 --- a/src/infrastructure/customfield/standard/PhabricatorStandardCustomField.php +++ b/src/infrastructure/customfield/standard/PhabricatorStandardCustomField.php @@ -24,6 +24,11 @@ abstract class PhabricatorStandardCustomField abstract public function getFieldType(); + private static $isLipsumGeneration = false; + public static function setLipsumGeneration($isGenerating) { + self::$isLipsumGeneration = $isGenerating; + } + public static function buildStandardFields( PhabricatorCustomField $template, array $config, @@ -125,7 +130,7 @@ abstract class PhabricatorStandardCustomField // WMF T344610: setRequired only for project descriptions. // Without checking the $value here, any custom fields (e.g. Due // Date in the task creation form) would get automatically enabled. - if ($value === "Short project description.") { + if ($value === "Short project description." && !self::$isLipsumGeneration) { $this->setRequired($value); } break; @@ -389,7 +394,7 @@ abstract class PhabricatorStandardCustomField break; } } - if ($this->isValueEmpty($value)) { + if ($this->isValueEmpty($value) && !self::$isLipsumGeneration) { // WMF T344610: setRequired only for project descriptions and error // on empty project descriptions. if ($this->getFieldName() === "Description") {