* * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ namespace Chill\PersonBundle\DataFixtures\ORM; use Doctrine\Common\DataFixtures\AbstractFixture; use Doctrine\Common\DataFixtures\OrderedFixtureInterface; use Doctrine\Common\Persistence\ObjectManager; use Chill\CustomFieldsBundle\Entity\CustomField; /** * Load CustomField for Report into database */ class LoadCustomField extends AbstractFixture implements OrderedFixtureInterface { public function getOrder() { return 15001; } public function load(ObjectManager $manager) { echo "loading CustomField...\n"; $cFTypes = [ array('type' => 'text', 'options' => array('maxLength' => '255')), array('type' => 'text', 'options' => array('maxLength' => '1000')), array('type' => 'text', 'options' => array('maxLength' => '2000')), array('type' => 'title', 'options' => array('type' => 'title')), array('type' => 'title', 'options' => array('type' => 'subtitle')), array('type' => 'choice', 'options' => array( 'multiple' => false, 'expanded'=> false, 'other' => false, 'choices'=> [ array( 'name' => array( 'fr' => 'Options 1 FR', 'nl' => 'Options 1 NL', 'en' => 'Options 1 EN'), 'active' => true, 'slug' => 'el-1-fr'), array( 'name' => array( 'fr' => 'Options 2 FR', 'nl' => 'Options 2 NL', 'en' => 'Options 2 EN'), 'active' => true, 'slug' => 'el-2-fr'), array( 'name' => array( 'fr' => 'Options 2 FR', 'nl' => 'Options 2 NL', 'en' => 'Options 2 EN'), 'active' => true, 'slug' => 'el-3-fr') ] ) ) ]; for($i=0; $i <= 25; $i++) { echo "CustomField {$i}\n"; $cFType = $cFTypes[rand(0,sizeof($cFTypes) - 1)]; $customField = (new CustomField()) ->setSlug("cf_report_{$i}") ->setType($cFType['type']) ->setOptions($cFType['options']) ->setName(array("fr" => "CustomField {$i}")) ->setOrdering(rand(0,1000) / 1000) ->setCustomFieldsGroup($this->getReference('cf_group_report_'.(rand(0,3)))) ; $manager->persist($customField); } $manager->flush(); } }