Files
expense/app/Http/Controllers/Master/RayonController.php
T

77 lines
1.8 KiB
PHP
Raw Normal View History

<?php
namespace App\Http\Controllers\Master;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Models\Rayon;
class RayonController extends Controller
{
public function index()
{
2024-12-13 19:34:33 +07:00
$this->checkAuthorization(auth()->user(), ['rayon.view']);
2024-12-26 18:37:34 +07:00
session()->put('redirect_url', route('admin.rayon.index'));
return view('backend.pages.master.rayon.index', [
'rayons' => Rayon::all()
]);
}
public function create()
{
2024-12-13 19:34:33 +07:00
$this->checkAuthorization(auth()->user(), ['rayon.create']);
return view('backend.pages.master.rayon.create');
}
public function store(Request $request)
{
2024-12-13 19:34:33 +07:00
$this->checkAuthorization(auth()->user(), ['rayon.create']);
$request->validate([
'code' => 'required|unique:rayon,code',
'name' => 'required|unique:rayon,name'
]);
Rayon::create([
'code' => $request->code,
'name' => $request->name
]);
session()->flash('success', 'Rayon has been created.');
2024-12-26 18:37:34 +07:00
return redirect()->back();
}
public function edit($id)
{
2024-12-13 19:34:33 +07:00
$this->checkAuthorization(auth()->user(), ['rayon.edit']);
return view('backend.pages.master.rayon.edit', [
'rayon' => Rayon::findOrfail($id)
]);
}
public function update(Request $request, $id)
{
2024-12-13 19:34:33 +07:00
$this->checkAuthorization(auth()->user(), ['rayon.edit']);
$request->validate([
'code' => 'required|unique:rayon,code,' . $id . ',id',
'name' => 'required|unique:rayon,name,' . $id . ',id'
]);
Rayon::findOrfail($id)->update([
'code' => $request->code,
'name' => $request->name
]);
session()->flash('success', 'Rayon has been updated.');
2024-12-26 18:37:34 +07:00
return redirect()->back();
}
public function destroy($id)
{
2024-12-13 19:34:33 +07:00
$this->checkAuthorization(auth()->user(), ['rayon.delete']);
Rayon::findOrfail($id)->delete();
session()->flash('success', 'Rayon has been deleted.');
2024-12-26 18:37:34 +07:00
return redirect()->back();
}
}