/** * @param \DataObject $object * @param Field $field * @throws \ValidationException * @throws null */ public function write(\DataObject $object, Field $field) { if ($object->has_extension('Versioned')) { $object->writeToStage('Stage'); $args = $field->options; $publish = isset($args['publish']) ? $args['publish'] : true; if ($publish) { $object->publish('Stage', 'Live'); } } else { $object->write(); } if (!$object->isSeeded()) { $seed = new \SeedRecord(); $seed->SeedClassName = $object->ClassName; $seed->SeedID = $object->ID; $seed->Key = $field->key; $seed->Root = $field->fieldType === Field::FT_ROOT; $seed->write(); $object->setIsSeeded(); } }