public function html(Request $request, Admin $app, $entityName) { $entity = $app->getEntity($entityName); $search = new SearchQuery($request->getQueryParams()); $items = $this->search($entity, $search); //Redirect to edit element if it's only one result if (count($items) === 1 && !empty($search->getQuery())) { return new RedirectResponse($app->getRoute('read', ['entity' => $entityName, 'id' => key($items)])); } //Load the values $row = $entity->getScheme($app['builder']); //Remove non-listable elements $removedKeys = []; foreach ($row as $key => $value) { if ($value->get('list') === false) { $removedKeys[] = $key; } } foreach ($removedKeys as $key) { unset($row[$key]); } //populate the data $rows = []; foreach ($items as $id => &$item) { $rows[$id] = clone $row; $rows[$id]->val($item); } //List all results return $app['templates']->render('pages/search', ['rows' => $rows, 'entityName' => $entityName, 'search' => $search]); }
public function html(Request $request, Admin $app, $entityName) { $app->getEntity($entityName)->delete($request->getAttribute('id')); return new RedirectResponse($app->getRoute('search', ['entity' => $entityName])); }