Generate the CRUD controller.
public generate ( Symfony\Component\HttpKernel\Bundle\BundleInterface $bundle, string $entity, Doctrine\ORM\Mapping\ClassMetadataInfo $metadata, string $format, string $routePrefix, array $needWriteActions ) | ||
$bundle | Symfony\Component\HttpKernel\Bundle\BundleInterface | A bundle object |
$entity | string | The entity relative class name |
$metadata | Doctrine\ORM\Mapping\ClassMetadataInfo | The entity class metadata |
$format | string | The configuration format (xml, yaml, annotation) |
$routePrefix | string | The route name prefix |
$needWriteActions | array | Wether or not to generate write actions |
public function generate(BundleInterface $bundle, $entity, ClassMetadataInfo $metadata, $format, $routePrefix, $needWriteActions, $forceOverwrite) { parent::generate($bundle, $entity, $metadata, $format, $routePrefix, $needWriteActions, $forceOverwrite); try { $this->generateFormFilter($bundle, $entity, $metadata); } catch (\RuntimeException $e) { // form already exists } $dirFileConf = sprintf('%s/Resources/config/', $this->bundle->getPath()); $this->generateConfAdminCrud($dirFileConf); }
/** * @Route("/crud", name="_generator_crud") * @Template() */ public function generateAction() { $request = $this->get('request'); $crudEntity = new Crud(); $form = $this->get('form.factory')->create(new GenerateCrudType(), $crudEntity); if ('POST' == $request->getMethod()) { $form->bindRequest($request); if ($form->isValid()) { $bundle = $this->get('kernel')->getBundle($crudEntity->bundle_name); $entityClass = $this->get('doctrine')->getEntityNamespace($crudEntity->bundle_name) . '\\' . $crudEntity->entity_name; $metadata = $this->getEntityMetadata($entityClass); $route_prefix = $this->getEntityMetadata($entityClass); $generator = new DoctrineCrudGenerator($this->get('filesystem'), $this->get('kernel')->locateResource('@SensioGeneratorBundle/Resources/skeleton/crud')); $generator->generate($bundle, $crudEntity->entity_name, $metadata[0], $crudEntity->format, $crudEntity->route_prefix, $crudEntity->with_write_action); $request->getSession()->setFlash('notice', sprintf("CRUD based on entity '%s' has been generated.", $crudEntity->entity_name)); return new RedirectResponse($this->generateUrl('_generator')); } } return array('form' => $form->createView()); }
public function generate(BundleInterface $bundle, $entity, ClassMetadataInfo $metadata, $format, $routePrefix, $needWriteActions, $forceOverwrite) { parent::generate($bundle, $entity, $metadata, $format, $routePrefix, $needWriteActions, $forceOverwrite); $this->generateFormFilter($bundle, $entity, $metadata, $forceOverwrite); }