diff --git a/app/Http/Controllers/Reports/GenerateImpactReportController.php b/app/Http/Controllers/Reports/GenerateImpactReportController.php new file mode 100644 index 000000000..db0847bfe --- /dev/null +++ b/app/Http/Controllers/Reports/GenerateImpactReportController.php @@ -0,0 +1,62 @@ +startOfWeek(); + $end = now()->endOfWeek(); + + // Mon 1st Sept 2024 - Sun 7th Sept 2024 + $startDate = Carbon::parse($start)->format('D jS M Y'); + $endDate = Carbon::parse($end)->format('D jS M Y'); + + $newUsers = User::whereDate('created_at', '>=', $start) + ->whereDate('created_at', '<=', $end) + ->count(); + $totalUsers = User::count(); + + $newPhotos = Photo::whereDate('created_at', '>=', $start) + ->whereDate('created_at', '<=', $end) + ->count(); + $totalPhotos = Photo::count(); + + $newTags = Photo::whereDate('created_at', '>=', $start) + ->whereDate('created_at', '<=', $end) + ->sum('total_litter'); + + $totalTags = 0; + + $countries = Country::where('manual_verify', true) + ->orderBy('country', 'asc') + ->get(); + + foreach ($countries as $country) + { + $totalTags += $country->total_litter_redis; + } + + return view('reports.impact', [ + 'startDate' => $startDate, + 'endDate' => $endDate, + 'newUsers' => $newUsers, + 'totalUsers' => $totalUsers, + 'newPhotos' => $newPhotos, + 'totalPhotos' => $totalPhotos, + 'newTags' => $newTags, + 'totalTags' => $totalTags, + ]); + } +} diff --git a/resources/views/reports/impact.blade.php b/resources/views/reports/impact.blade.php index 33047d202..e65e6fce7 100644 --- a/resources/views/reports/impact.blade.php +++ b/resources/views/reports/impact.blade.php @@ -13,8 +13,7 @@ padding: 0; } .container { - width: 100%; - max-width: 1200px; + width: 1080px; margin: 0 auto; padding: 20px; } diff --git a/routes/web.php b/routes/web.php index c65b5bc89..98b1a4061 100644 --- a/routes/web.php +++ b/routes/web.php @@ -2,34 +2,7 @@ use Illuminate\Support\Facades\Route; -Route::get('test', function () { - - // Mon 1st Sept 2024 - $startDate = \Carbon\Carbon::parse('2024-09-01')->format('D jS M Y'); - - // Sun 7th Sept 2024 - $endDate = \Carbon\Carbon::parse('2024-09-07')->format('D jS M Y'); - - $newUsers = 10; - $totalUsers = 8000; - - $newPhotos = 20; - $totalPhotos = 50000; - - $newTags = 100; - $totalTags = 200000; - - return view('reports.impact', [ - 'startDate' => $startDate, - 'endDate' => $endDate, - 'newUsers' => $newUsers, - 'totalUsers' => $totalUsers, - 'newPhotos' => $newPhotos, - 'totalPhotos' => $totalPhotos, - 'newTags' => $newTags, - 'totalTags' => $totalTags, - ]); -}); +Route::get('impact', 'Reports\GenerateImpactReportController'); Route::get('/', 'HomeController@index'); Route::get('/about', 'HomeController@index');