diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
index 330a3966..58006a1f 100644
--- a/.idea/inspectionProfiles/Project_Default.xml
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -24,7 +24,46 @@
+
+
+
+
+
diff --git a/app/Http/Controllers/Controller.php b/app/Http/Controllers/Controller.php
index 1a048fcb..05d6c56e 100755
--- a/app/Http/Controllers/Controller.php
+++ b/app/Http/Controllers/Controller.php
@@ -11,9 +11,15 @@ class Controller extends BaseController
{
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
- public function view($template, $vars=[])
+ /**
+ * Display a view but pull it from the active skin
+ * @param string $template
+ * @param array $vars
+ * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
+ */
+ public function view(string $template, array $vars=[])
{
- $tpl = 'layouts/'.config('phpvms.skin').'/'.$template;
+ $tpl = 'layouts/' . config('phpvms.skin') . '/' . $template;
return view($tpl, $vars);
}
}
diff --git a/app/Http/Controllers/Frontend/DashboardController.php b/app/Http/Controllers/Frontend/DashboardController.php
index a44865c4..963bb387 100644
--- a/app/Http/Controllers/Frontend/DashboardController.php
+++ b/app/Http/Controllers/Frontend/DashboardController.php
@@ -2,24 +2,31 @@
namespace App\Http\Controllers\Frontend;
+use App\Repositories\PirepRepository;
+use App\Repositories\UserRepository;
use Illuminate\Support\Facades\Auth;
use App\Http\Controllers\AppBaseController;
-use App\Models\Pirep;
-use App\Models\User;
-
class DashboardController extends AppBaseController
{
+ private $pirepRepo, $userRepo;
+
+ public function __construct(
+ PirepRepository $pirepRepo,
+ UserRepository $userRepo
+ ) {
+ $this->pirepRepo = $pirepRepo;
+ $this->userRepo = $userRepo;
+ }
+
/**
* Show the application dashboard.
- *
- * @return \Illuminate\Http\Response
*/
public function index()
{
- $pireps = Pirep::orderBy('created_at', 'desc')->take(5)->get();
- $users = User::orderBy('created_at', 'desc')->take(5)->get();
+ $pireps = $this->pirepRepo->recent();
+ $users = $this->userRepo->recent();
return $this->view('dashboard.index', [
'user' => Auth::user(),
diff --git a/app/Repositories/BaseRepository.php b/app/Repositories/BaseRepository.php
index 9febf83c..4833f5af 100644
--- a/app/Repositories/BaseRepository.php
+++ b/app/Repositories/BaseRepository.php
@@ -38,4 +38,15 @@ abstract class BaseRepository extends \Prettus\Repository\Eloquent\BaseRepositor
return true;
}
+
+ /**
+ * Return N most recent items, sorted by created_at
+ * @param int $count
+ * @param string $sort_by created_at (default) or updated_at
+ * @return mixed
+ */
+ public function recent($count = 5, $sort_by = 'created_at')
+ {
+ return $this->orderBy($sort_by, 'desc')->paginate($count);
+ }
}