Beispiel #1
0
 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]);
 }
Beispiel #2
0
 public function html(Request $request, Admin $app, $entityName)
 {
     $app->getEntity($entityName)->delete($request->getAttribute('id'));
     return new RedirectResponse($app->getRoute('search', ['entity' => $entityName]));
 }