MiknasTrading/app/Http/Controllers/Settings/UrgencyLevelController.php

73 lines
2.7 KiB
PHP

<?php
namespace App\Http\Controllers\Settings;
use App\Http\Controllers\Controller;
use App\Models\Settings\UrgencyLevel;
use Illuminate\Http\Request;
class UrgencyLevelController extends Controller
{
public function index()
{
$urgencyLevels = UrgencyLevel::orderBy('sort_order')->get();
return view('settings.urgency-levels.index', compact('urgencyLevels'));
}
public function store(Request $request)
{
$request->validate([
'label' => 'required|string|max:100|unique:settings_urgency_levels,label',
'emoji' => 'required|string|max:10',
'color_bg' => 'required|string|max:20',
'color_text' => 'required|string|max:20',
'subtitle' => 'nullable|string|max:100',
'sort_order' => 'required|integer|min:0',
]);
UrgencyLevel::create([
'label' => $request->label,
'emoji' => $request->emoji,
'color_bg' => $request->color_bg,
'color_text' => $request->color_text,
'subtitle' => $request->subtitle,
'sort_order' => $request->sort_order,
'show_date_picker' => $request->boolean('show_date_picker'),
'is_active' => true,
]);
return redirect()->route('settings.urgency-levels.index')->with('success', 'Urgency level added.');
}
public function update(Request $request, UrgencyLevel $urgencyLevel)
{
$request->validate([
'label' => 'required|string|max:100|unique:settings_urgency_levels,label,' . $urgencyLevel->id,
'emoji' => 'required|string|max:10',
'color_bg' => 'required|string|max:20',
'color_text' => 'required|string|max:20',
'subtitle' => 'nullable|string|max:100',
'sort_order' => 'required|integer|min:0',
]);
$urgencyLevel->update([
'label' => $request->label,
'emoji' => $request->emoji,
'color_bg' => $request->color_bg,
'color_text' => $request->color_text,
'subtitle' => $request->subtitle,
'sort_order' => $request->sort_order,
'show_date_picker' => $request->boolean('show_date_picker'),
'is_active' => $request->boolean('is_active', true),
]);
return redirect()->route('settings.urgency-levels.index')->with('success', 'Urgency level updated.');
}
public function destroy(UrgencyLevel $urgencyLevel)
{
$urgencyLevel->delete();
return redirect()->route('settings.urgency-levels.index')->with('success', 'Urgency level deleted.');
}
}