<?php
namespace App\Providers;
use App\Models\Jadwal;
use App\Models\Notifikasi;
use App\Models\Rank;
use Carbon\Carbon;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\View;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
/**
* Register any application services.
*/
public function register(): void
{
//
}
/**
* Bootstrap any application services.
*/
public function boot(): void
{
//
View::composer(['layouts.app'], function($view){
if (Auth::user()->hasRole('Admin'))
{
$data['jadwal_global'] = '';
$data['notifikasi'] = Notifikasi::where('user_id',Auth::user()->id)->orderBy('created_at','DESC')->paginate(15);
} else {
$searchDate = Carbon::parse(date('Y-m-d'));
$data['jadwal_global'] = Jadwal::where('user_id', Auth::user()->id)->whereDate('start', '<=', $searchDate)
->whereDate('ends', '>=', $searchDate)
->get();
$data['notifikasi'] = Notifikasi::where('user_id',Auth::user()->id)->orderBy('created_at','DESC')->paginate(15);
$target_capaian = Jadwal::withCount(['target_capaian' => function($query) {
$query->where('capaian', 1);
}])->where('user_id', Auth::user()->id)->get();
$total_target_capaian = $target_capaian->sum('target_capaian_count');
$RankSiswa = Rank::where('maximal_target', '>', $total_target_capaian)->orderBy('maximal_target', 'ASC')->first();
$data['total_target_capaian'] = $total_target_capaian ?? 0;
$data['rank_siswa'] = $RankSiswa;
}
$view->with($data);
});
}
}
Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]