add different table sort options, change default to last-updated

This commit is contained in:
2018-08-16 22:19:03 +02:00
parent 83392e07ac
commit a9426759d2
3 changed files with 69 additions and 10 deletions
+44 -7
View File
@@ -20,16 +20,53 @@ class DashController extends Controller
return back();
}
$users = User::orderBy('updated_at', 'desc')
$data['tableSort'] = $sort = \Input::get('tableSort', 'last-updated');
$data['sortOptions'] = [
'most-visited' => 'Most Visited',
'last-updated' => 'Last Updated',
'most-updated' => 'Most Updated',
// 'most-discussed' => 'Most Discussed',
// 'most-liked' => 'Most Liked',
'newest' => 'Newest',
'oldest' => 'Oldest',
];
$data['users'] = User::orderBy('updated_at', 'desc')
->withCount(['tables'])
->paginate(10, ['id', 'title', 'name', 'tables_count'], 'pageu');
->paginate(10, ['id', 'title', 'name', 'tables_count'], 'userPage')
->appends(\Input::except('userPage'));
$tables = Table::forList()
->orderBy('visits', 'desc')
->paginate(10, ['*'], 'paget');
$tableQuery = Table::forList();
switch ($sort) {
case 'most-visited':
$tableQuery = $tableQuery->orderBy('visits', 'desc');
break;
case 'last-updated':
$tableQuery = $tableQuery->orderBy('updated_at', 'desc');
break;
case 'most-updated':
$tableQuery = $tableQuery->orderBy('revisions_count', 'desc');
break;
case 'most-discussed':
$tableQuery = $tableQuery->orderBy('comments_count', 'desc');
break;
case 'most-liked':
$tableQuery = $tableQuery->orderBy('favourites_count', 'desc');
break;
case 'newest':
$tableQuery = $tableQuery->orderBy('created_at', 'desc');
break;
case 'oldest':
$tableQuery = $tableQuery->orderBy('created_at', 'asc');
break;
}
$showGreeter = !$dismiss && !$request->cookie('dismiss-greeter', false);
$data['tables'] = $tableQuery->paginate(10, ['*'], 'tablePage')
->appends(\Input::except('tablePage'));
return view('welcome', compact('users', 'tables', 'showGreeter'));
$data['showGreeter'] = !$dismiss && !$request->cookie('dismiss-greeter', false);
return view('welcome', $data);
}
}