public dash and view counting

This commit is contained in:
2018-07-29 11:52:29 +02:00
parent f77b1789fa
commit a79b5ae7d8
37 changed files with 415 additions and 663 deletions
@@ -27,7 +27,7 @@ class LoginController extends Controller
*
* @var string
*/
protected $redirectTo = '/';
protected $redirectTo = '/home';
/**
* Create a new controller instance.
@@ -29,7 +29,7 @@ class RegisterController extends Controller
*
* @var string
*/
protected $redirectTo = '/';
protected $redirectTo = '/home';
/**
* Create a new controller instance.
+24
View File
@@ -0,0 +1,24 @@
<?php
namespace App\Http\Controllers;
use App\Models\Table;
use App\Models\User;
class DashController extends Controller
{
public function view()
{
$users = User::orderBy('updated_at', 'desc')
->paginate(15, ['id', 'title', 'name'], 'pageu');
// TODO visit counting
$tables = Table::forList()
->orderBy('visits', 'desc')
->paginate(10, ['*'], 'paget');
return view('welcome', compact('users', 'tables'));
}
}
+1 -4
View File
@@ -18,10 +18,7 @@ class ProfileController extends Controller
*/
public function view(User $user)
{
$tables = $user->tables()
->with('revision:id,row_count')
->orderByDesc('updated_at')
->paginate(10);
$tables = $user->tables()->forList()->orderByDesc('updated_at')->paginate(10);
return view('profile.view')->with(compact('tables', 'user'));
}
+12 -1
View File
@@ -20,7 +20,10 @@ class TableController extends Controller
]);
/** @var Table $tableModel */
$tableModel = $user->tables()->where('name', $table)->first();
$tableModel = $user->tables()->withCount(['favourites', 'forks', 'revisions', 'comments'])
->where('name', $table)->first();
if ($tableModel === null) abort(404, "No such table.");
// make it possible to show other revisions
if ($input->has('rev')) {
@@ -31,6 +34,14 @@ class TableController extends Controller
$revision = $tableModel->revision;
}
$cookieName = "view!$user->name!$table";
if (!$request->cookie($cookieName, false)) {
$tableModel->countVisit();
\Cookie::queue($cookieName, true, 86400);
}
return view('table.view', [
'table' => $tableModel,
'revision' => $revision,