65 lines
1.7 KiB
PHP
65 lines
1.7 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Admin\Master;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Http\Requests\Admin\Master\CategoryRequest;
|
|
use App\Models\Category;
|
|
use Illuminate\Http\RedirectResponse;
|
|
use Illuminate\Http\Request;
|
|
use Inertia\Inertia;
|
|
use Inertia\Response;
|
|
|
|
class CategoryController extends Controller
|
|
{
|
|
public function index(): Response
|
|
{
|
|
return Inertia::render('admin/master/category/index', [
|
|
'categories' => Category::latest()->get(),
|
|
]);
|
|
}
|
|
|
|
public function store(CategoryRequest $request): RedirectResponse
|
|
{
|
|
$validated = $request->validated();
|
|
|
|
Category::create($validated);
|
|
|
|
return redirect()->back()->with('success', 'Data berhasil disimpan');
|
|
}
|
|
|
|
public function update(CategoryRequest $request, Category $category): RedirectResponse
|
|
{
|
|
$validated = $request->validated();
|
|
|
|
$category->update($validated);
|
|
|
|
return redirect()->back()->with('success', 'Data berhasil diperbarui');
|
|
}
|
|
|
|
public function destroy(Category $category): RedirectResponse
|
|
{
|
|
$category->delete();
|
|
|
|
return redirect()->back()->with('success', 'Data berhasil dihapus');
|
|
}
|
|
|
|
public function bulkDestroy(Request $request): RedirectResponse
|
|
{
|
|
$ids = $request->input('ids');
|
|
|
|
Category::whereIn('id', $ids)->delete();
|
|
|
|
return redirect()->back()->with('success', 'Data terpilih berhasil dihapus');
|
|
}
|
|
|
|
public function toggleStatus(Category $category): RedirectResponse
|
|
{
|
|
$category->update([
|
|
'is_active' => ! $category->is_active,
|
|
]);
|
|
|
|
return redirect()->back()->with('success', 'Status berhasil diperbarui');
|
|
}
|
|
}
|