File: /home/workzeni/agency-erp-05.workzenix.com/app/Http/Controllers/SeasonController.php
<?php
namespace App\Http\Controllers;
use App\Models\Season;
use Illuminate\Http\Request;
class SeasonController extends Controller
{
// List all seasons
public function list()
{
$seasons = Season::all();
return view('admin.season.list', compact('seasons'));
}
// Store a new season
public function store(Request $request)
{
$request->validate([
'name' => 'required|string|max:255',
'start_date' => 'required|date',
'end_date' => 'required|date|after_or_equal:start_date',
]);
try {
Season::create($request->only('name', 'start_date', 'end_date'));
return redirect()->route('season.list')
->with('success', 'Season created successfully!');
} catch (\Exception $e) {
return redirect()->route('season.list')
->with('error', 'Failed to create season. '.$e->getMessage());
}
}
// Update season
public function update(Request $request, Season $season)
{
$request->validate([
'name' => 'required|string|max:255',
'start_date' => 'required|date',
'end_date' => 'required|date|after_or_equal:start_date',
]);
try {
$season->update($request->only('name', 'start_date', 'end_date'));
return redirect()->route('season.list')
->with('success', 'Season updated successfully!');
} catch (\Exception $e) {
return redirect()->route('season.list')
->with('error', 'Failed to update season. '.$e->getMessage());
}
}
// Delete season
public function destroy(Season $season)
{
try {
$season->delete();
return redirect()->route('season.list')
->with('success', 'Season deleted successfully.');
} catch (\Exception $e) {
return redirect()->route('season.list')
->with('error', 'Failed to delete season. '.$e->getMessage());
}
}
}