/** * Overwrites setting with given name. * * @param string $name * @param string|array $value * @param string $profile * * @throws \LogicException */ public function set($name, $value, $profile = 'default') { switch (gettype($value)) { case 'boolean': $type = Setting::TYPE_BOOLEAN; break; case 'array': $type = Setting::TYPE_ARRAY; break; case 'object': $type = Setting::TYPE_OBJECT; break; default: $type = Setting::TYPE_STRING; break; } $setting = new Setting(); $setting->setId($profile . '_' . $name); $setting->setName($name); $setting->setDescription('ongr_settings.' . $this->translator->trans($name)); $setting->setData((object) ['value' => $value]); $setting->setType($type); $setting->setProfile($profile); $this->manager->persist($setting); $this->manager->commit(); $this->manager->flush(); $this->eventDispatcher->dispatch('ongr_settings.setting_change', new SettingChangeEvent('save')); }
/** * {@inheritdoc} */ protected function setUp() { parent::setUp(); static::bootKernel(['environment' => 'test_container_creation']); /** @var Client $client */ $this->client = static::$kernel->getContainer()->get('test.client'); /** @var Manager $manager */ $manager = static::$kernel->getContainer()->get('es.manager'); // There is something wrong with ElasticsearchTestCase method getDataArray, // if we don't create in here all test data, it's not existing when test is run. $content = new Setting(); $content->setId('foo_default'); $content->setName('test'); $content->setProfile('default'); $content->setDescription('Description'); $content->setType(Setting::TYPE_ARRAY); $content->setData((object) ['value' => 'testData']); $manager->persist($content); $content = new Setting(); $content->setId('foo'); $content->setName('test2'); $content->setProfile('profile_foo.com'); $content->setDescription('Description'); $content->setType(Setting::TYPE_ARRAY); $content->setData((object) ['value' => 'testData']); $manager->persist($content); $content = new Setting(); $content->setId('bar'); $content->setName('test2'); $content->setProfile('profile_foo.com'); $content->setDescription('Description'); $content->setType(Setting::TYPE_ARRAY); $content->setData((object) ['value' => 'testData']); $manager->persist($content); $manager->commit(); }
/** * Creates setting model. * * @param string $name * @param string $type * @param mixed $value * @param string $profile * * @return Setting */ private function getSetting($name, $type, $value, $profile = 'default') { $setting = new Setting(); $setting->setId($profile . '_' . $name); $setting->setName($name); $setting->setDescription('ongr_settings.' . $name); $setting->setProfile($profile); $setting->setType($type); $setting->setData(['value' => $value]); $setting->setScore(1.0); return $setting; }