Files
expense/app/Http/Controllers/Master/RayonController.php
T
2025-01-01 17:14:46 +07:00

82 lines
2.1 KiB
PHP

<?php
namespace App\Http\Controllers\Master;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Models\Rayon;
use App\Helpers\AuditTrailHelper;
class RayonController extends Controller
{
public function index()
{
$this->checkAuthorization(auth()->user(), ['rayon.view']);
session()->put('redirect_url', route('admin.rayon.index'));
return view('backend.pages.master.rayon.index', [
'rayons' => Rayon::all()
]);
}
public function create()
{
$this->checkAuthorization(auth()->user(), ['rayon.create']);
return view('backend.pages.master.rayon.create');
}
public function store(Request $request)
{
$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
]);
AuditTrailHelper::AddAuditTrail('Insert', 'Insert New Record at Rayon Table (' . $request->name . ')');
session()->flash('success', 'Rayon has been created.');
return redirect()->back();
}
public function edit($id)
{
$this->checkAuthorization(auth()->user(), ['rayon.edit']);
return view('backend.pages.master.rayon.edit', [
'rayon' => Rayon::findOrfail($id)
]);
}
public function update(Request $request, $id)
{
$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
]);
AuditTrailHelper::AddAuditTrail('Update', 'Update New Record at Rayon Table (' . $request->name . ')');
session()->flash('success', 'Rayon has been updated.');
return redirect()->back();
}
public function destroy($id)
{
$this->checkAuthorization(auth()->user(), ['rayon.delete']);
$rayon = Rayon::findOrfail($id);
AuditTrailHelper::AddAuditTrail('Delete', 'Delete Record at Rayon Table (' . $rayon->name . ')');
$rayon->delete();
session()->flash('success', 'Rayon has been deleted.');
return redirect()->back();
}
}