HEX
Server: LiteSpeed
System: Linux s3.sitechai.com 4.18.0-553.51.1.lve.1.el8.x86_64 #1 SMP Wed May 14 14:34:57 UTC 2025 x86_64
User: workzeni (2217)
PHP: 8.1.32
Disabled: mail, show_source, system, shell_exec, passthru, exec, eval, shell
Upload Files
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());
        }
    }
}