/home2/mshostin/carnival.ms-hostingladz.com/app/Http/Controllers/PackageController.php
<?php
namespace App\Http\Controllers;
use App\Models\Package;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class PackageController extends Controller
{
public function index()
{
$packages = Package::all();
return view('dashboard.admin.packages.index', compact('packages'));
}
public function create()
{
return view('dashboard.admin.packages.create');
}
// public function store(Request $request)
// {
// $request->validate([
// ]);
// $data = $request->all();
// $data['user_id'] = Auth::id();
// Package::create($data);
// return redirect()->route('packages.index');
// }
public function store(Request $request)
{
$request->validate([
'title' => 'required|string|max:255',
'slug' => 'required|string|max:255|unique:packages,slug',
// 'icon' => 'nullable|image|mimes:jpg,jpeg,png,svg|max:2048',
'description' => 'nullable|string',
'ecommerce' => 'required|integer',
'events' => 'required|integer',
'music' => 'required|integer',
'appointment' => 'required|integer',
'ad_space' => 'required|integer',
'blogging' => 'required|integer',
'product' => 'required|integer',
'costume' => 'required|integer',
'status' => 'required|integer',
]);
$data = $request->all();
$data['user_id'] = Auth::id();
if ($request->hasFile('icon')) {
$iconPath = 'package_icon/' . time() . '.' . $request->icon->extension();
$request->icon->move(public_path('package_icon'), $iconPath);
$data['icon'] = $iconPath;
}
Package::create($data);
return redirect()->route('packages.index');
}
public function show($id)
{
$package = Package::findOrFail($id);
return view('dashboard.admin.packages.show', compact('package'));
}
public function edit($id)
{
$package = Package::findOrFail($id);
return view('dashboard.admin.packages.edit', compact('package'));
}
// public function update(Request $request, $id)
// {
// $package = Package::findOrFail($id);
// $package->update($request->all());
// return redirect()->route('packages.index');
// }
public function update(Request $request, $id)
{
$package = Package::findOrFail($id);
$validatedData = $request->validate([
'title' => 'required|string|max:255',
'slug' => 'required|string|max:255|unique:packages,slug,' . $id,
'description' => 'nullable|string',
'ecommerce' => 'required|integer',
'events' => 'required|integer',
'music' => 'required|integer',
'appointment' => 'required|integer',
'ad_space' => 'required|integer',
'blogging' => 'required|integer',
'product' => 'required|integer',
'costume' => 'required|integer',
'status' => 'required|integer',
// 'icon' => 'nullable|image|mimes:jpeg,png,jpg,gif|max:2048',
]);
if ($request->hasFile('icon')) {
$iconPath = 'package_icon/' . time() . '.' . $request->icon->extension();
$request->icon->move(public_path('package_icon'), $iconPath);
$validatedData['icon'] = $iconPath;
}
// dd($validatedData, $request->toArray());
$package->update($validatedData);
return redirect()->route('packages.index');
}
public function destroy($id)
{
$package = Package::findOrFail($id);
$package->delete();
return redirect()->route('packages.index');
}
}