first commit
This commit is contained in:
34
app/Http/Controllers/DashboardController.php
Normal file
34
app/Http/Controllers/DashboardController.php
Normal file
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Models\Jabatan;
|
||||
use App\Models\Permohonan;
|
||||
use App\Models\Vot;
|
||||
use Spatie\Activitylog\Models\Activity;
|
||||
|
||||
class DashboardController extends Controller
|
||||
{
|
||||
public function __invoke()
|
||||
{
|
||||
$user = auth()->user();
|
||||
$base = Permohonan::query();
|
||||
|
||||
if ($user->hasRole('Pemohon')) {
|
||||
$base->where('user_id', $user->id);
|
||||
} elseif ($user->hasRole('Pelaksana')) {
|
||||
$base->where('jabatan_id', $user->jabatan_id);
|
||||
}
|
||||
|
||||
return view('dashboard.index', [
|
||||
'total' => (clone $base)->count(),
|
||||
'approved' => (clone $base)->where('status', 'Approved')->sum('jumlah_keseluruhan'),
|
||||
'rejected' => (clone $base)->where('status', 'Rejected')->count(),
|
||||
'pending' => (clone $base)->whereIn('status', ['Submitted', 'Under Review'])->count(),
|
||||
'byJabatan' => Jabatan::withCount('users')->limit(8)->get(),
|
||||
'byVot' => Vot::with('jabatan')->limit(8)->get(),
|
||||
'recent' => (clone $base)->latest()->with(['user', 'jabatan', 'vot'])->limit(6)->get(),
|
||||
'activities' => Activity::latest()->limit(8)->get(),
|
||||
]);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user