Skip to content

Commit

Permalink
Updated default listing order to ID DESC
Browse files Browse the repository at this point in the history
  • Loading branch information
eusonlito committed Sep 28, 2017
1 parent 79b780c commit b37baa2
Showing 1 changed file with 26 additions and 21 deletions.
47 changes: 26 additions & 21 deletions src/Http/Controllers/ModelController.php
Expand Up @@ -40,15 +40,21 @@ private function authorizeMethod(Model $modelAbstractor, $methodName)
*/
private function customController(Model $modelAbstractor)
{
if (!$this instanceof CustomController) { //Avoid infinite recursion
if (array_key_exists('controller', $config = $modelAbstractor->getConfig()) && (!empty($config['controller']))) {
/** @var CustomController $controller */
$controller = App::make($config['controller']);
$controller->setAbstractor($modelAbstractor);
if ($this instanceof CustomController) { //Avoid infinite recursion
return;
}

return $controller;
}
$config = $modelAbstractor->getConfig();

if (!array_key_exists('controller', $config) || empty($config['controller'])) {
return;
}

/** @var CustomController $controller */
$controller = App::make($config['controller']);
$controller->setAbstractor($modelAbstractor);

return $controller;
}

/**
Expand All @@ -65,31 +71,30 @@ public function index(Request $request, $model)

$this->authorizeMethod($modelAbstractor, 'adminIndex');

if (!empty($customController = $this->customController($modelAbstractor))) {
if ($customController = $this->customController($modelAbstractor)) {
return $customController->index($request, $model);
}

$repository = $this->modelManager->getRepository($modelAbstractor->getModel());

if ($request->has('search')) {
if ($search = $request->input('search')) {
$searchByColumns = [];

foreach ($modelAbstractor->getListFields()['main'] as $field) {
$searchByColumns[] = $field->getName();
}

$repository->pushCriteria(new SearchCriteria($searchByColumns, $request->get('search')));
$repository->pushCriteria(new SearchCriteria($searchByColumns, $search));
}

if ($request->has('sort')) {
$repository->pushCriteria(new OrderByCriteria($request->get('sort'), $request->get('direction') === 'desc' ? true : false));
}
$sort = $request->input('sort') ?: 'id';
$direction = $request->input('direction') ?: 'desc';

$items = $repository->paginate(config('anavel-crud.list_max_results'));
$repository->pushCriteria(new OrderByCriteria($sort, ($direction === 'desc') ? true : false));

return view('anavel-crud::pages.index', [
'abstractor' => $modelAbstractor,
'items' => $items,
'items' => $repository->paginate(config('anavel-crud.list_max_results')),
]);
}

Expand All @@ -106,7 +111,7 @@ public function create($model)

$this->authorizeMethod($modelAbstractor, 'adminCreate');

if (!empty($customController = $this->customController($modelAbstractor))) {
if ($customController = $this->customController($modelAbstractor)) {
return $customController->create($model);
}

Expand All @@ -133,7 +138,7 @@ public function store(Request $request, $model)

$this->authorizeMethod($modelAbstractor, 'adminCreate');

if (!empty($customController = $this->customController($modelAbstractor))) {
if ($customController = $this->customController($modelAbstractor)) {
return $customController->store($request, $model);
}

Expand Down Expand Up @@ -168,7 +173,7 @@ public function show($model, $id)

$this->authorizeMethod($modelAbstractor, 'adminShow');

if (!empty($customController = $this->customController($modelAbstractor))) {
if ($customController = $this->customController($modelAbstractor)) {
return $customController->show($model, $id);
}

Expand Down Expand Up @@ -196,7 +201,7 @@ public function edit($model, $id)

$this->authorizeMethod($modelAbstractor, 'adminUpdate');

if (!empty($customController = $this->customController($modelAbstractor))) {
if ($customController = $this->customController($modelAbstractor)) {
return $customController->edit($model, $id);
}

Expand Down Expand Up @@ -227,7 +232,7 @@ public function update(Request $request, $model, $id)

$this->authorizeMethod($modelAbstractor, 'adminUpdate');

if (!empty($customController = $this->customController($modelAbstractor))) {
if ($customController = $this->customController($modelAbstractor)) {
return $customController->update($request, $model, $id);
}

Expand Down Expand Up @@ -263,7 +268,7 @@ public function destroy(Request $request, $model, $id)

$this->authorizeMethod($modelAbstractor, 'adminDestroy');

if (!empty($customController = $this->customController($modelAbstractor))) {
if ($customController = $this->customController($modelAbstractor)) {
return $customController->destroy($request, $model, $id);
}

Expand Down

0 comments on commit b37baa2

Please sign in to comment.