ultimatepos/Modules/Maintenance/Http/Controllers/CalendarController.php

42 lines
1.2 KiB
PHP

<?php
namespace Modules\Maintenance\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use Modules\Maintenance\Http\Controllers\Concerns\AuthorizesMaintenance;
use Modules\Maintenance\Services\MaintenanceDashboardService;
use Modules\Maintenance\Utils\MaintenanceUtil;
class CalendarController extends Controller
{
use AuthorizesMaintenance;
public function __construct(
protected MaintenanceDashboardService $dashboardService,
protected MaintenanceUtil $maintenanceUtil
) {}
public function index(Request $request)
{
$this->authorizeMaintenanceAccess('maintenance.calendar.view');
$business = $this->maintenanceUtil->getBusiness();
if (! $business) {
abort(404);
}
if ($request->ajax()) {
$start = $request->get('start', now()->startOfMonth()->toDateString());
$end = $request->get('end', now()->endOfMonth()->toDateString());
return response()->json([
'success' => true,
'events' => $this->dashboardService->getCalendarEvents($business, $start, $end),
]);
}
return view('maintenance::calendar.index');
}
}