89 lines
2.5 KiB
PHP
89 lines
2.5 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace App\Http\Controllers\admin\Catalog\Direction;
|
||
|
|
||
|
use App\Http\Controllers\Controller;
|
||
|
use App\Http\Requests\admin\Catalog\Direction\StoreCostRequest;
|
||
|
use App\Http\Requests\admin\Catalog\Direction\UpdateCostRequest;
|
||
|
use App\Models\Cost;
|
||
|
use App\Models\Direction;
|
||
|
use App\Models\EducationForm;
|
||
|
use Illuminate\Contracts\View\View;
|
||
|
use Illuminate\Http\RedirectResponse;
|
||
|
|
||
|
class CostController extends Controller
|
||
|
{
|
||
|
public function index(): View
|
||
|
{
|
||
|
$costs = Cost::all();
|
||
|
return view('admin.catalog.direction.cost.index', compact('costs'));
|
||
|
}
|
||
|
|
||
|
public function create(): View
|
||
|
{
|
||
|
$directions = Direction::pluck('name', 'id');
|
||
|
$educationForms = EducationForm::pluck('name', 'id');
|
||
|
return view(
|
||
|
'admin.catalog.direction.cost.create',
|
||
|
compact(
|
||
|
'directions',
|
||
|
'educationForms',
|
||
|
)
|
||
|
);
|
||
|
}
|
||
|
|
||
|
public function store(StoreCostRequest $request): RedirectResponse
|
||
|
{
|
||
|
$validated = $request->validated();
|
||
|
|
||
|
$cost = new Cost();
|
||
|
$cost->position = $validated['position'];
|
||
|
$cost->description = $validated['description'];
|
||
|
$cost->cost = $validated['cost'];
|
||
|
$cost->education_form_id = $validated['education_form_id'];
|
||
|
$cost->direction_id = $validated['direction_id'];
|
||
|
$cost->save();
|
||
|
|
||
|
return redirect()->route('costs.index');
|
||
|
}
|
||
|
|
||
|
public function show(Cost $cost): View
|
||
|
{
|
||
|
return view('admin.catalog.direction.cost.show', compact('cost'));
|
||
|
}
|
||
|
|
||
|
public function edit(Cost $cost): View
|
||
|
{
|
||
|
$directions = Direction::pluck('name', 'id');
|
||
|
$educationForms = EducationForm::pluck('name', 'id');
|
||
|
return view(
|
||
|
'admin.catalog.direction.cost.edit',
|
||
|
compact(
|
||
|
'cost',
|
||
|
'directions',
|
||
|
'educationForms',
|
||
|
)
|
||
|
);
|
||
|
}
|
||
|
|
||
|
public function update(UpdateCostRequest $request, Cost $cost): RedirectResponse
|
||
|
{
|
||
|
$validated = $request->validated();
|
||
|
|
||
|
$cost->position = $validated['position'];
|
||
|
$cost->description = $validated['description'];
|
||
|
$cost->cost = $validated['cost'];
|
||
|
$cost->education_form_id = $validated['education_form_id'];
|
||
|
$cost->direction_id = $validated['direction_id'];
|
||
|
$cost->save();
|
||
|
|
||
|
return redirect()->route('costs.index');
|
||
|
}
|
||
|
|
||
|
public function destroy(Cost $cost): RedirectResponse
|
||
|
{
|
||
|
$cost->delete();
|
||
|
return redirect()->route('costs.index');
|
||
|
}
|
||
|
}
|