/** * @param string $type * @param string $index * * @return string */ public function retrieveRepositoryFormFragmentAction($type, $index) { $form = $this->getFormFactory()->createNamed('config'); $form->add($this->getFormFactory()->createNamed('repositories')); $form['repositories']->add($this->getFormFactory()->createNamed($index, new RepositoryType())); $form['repositories'][$index]->setData(Repository::create($type)); return $this->app->render('default/retrieveRepositoryFormFragment.html.twig', ['form' => $form['repositories'][$index]->createView()]); }
/** * @param FormInterface $form * @param Repository $repository */ protected function loadDataType(FormInterface $form, Repository $repository) { $formClass = 'SatisAdmin\\Form\\' . ucfirst($repository->getType()) . 'RepositoryType'; $form->remove('data'); $form->add('data', new $formClass(), ['virtual' => true, 'data_class' => get_class($repository)]); }
/** * @param array $data * * @return Config */ public function fromArray(array $data) { $this->name = isset($data['name']) ? $data['name'] : ''; $this->homepage = isset($data['homepage']) ? $data['homepage'] : ''; $this->requireAll = isset($data['require-all']) ? $data['require-all'] : false; if (!isset($data['repositories'])) { return $this; } foreach ($data['repositories'] as $repository) { $this->addRepository(Repository::create($repository['type'])->fromArray($repository)); } return $this; }