feat(location): perbaiki middleware auth dan optimalkan metode controllers
- **Middleware Auth**:
- Mengganti penanganan middleware auth menggunakan `this->middleware('auth')` pada semua controller.
- Menambahkan middleware closure untuk menginisialisasi properti user dengan `Auth::user()` setelah auth diverifikasi.
- **Controller Updates**:
- **CitiesController**:
- Menambahkan variabel `$provinces` untuk mendapatkan semua data provinsi.
- Menambahkan data `$provinces` ke dalam view `location::cities.index`.
- **DistrictsController**:
- Menambahkan variabel `$provinces` untuk mendukung akses data provinsi dalam view.
- Menyertakan data provinsi ke dalam view `location::districts.index`.
- **ProvincesController** dan **VillagesController**:
- Penyesuaian middleware auth sama seperti controller lainnya. Tidak ada perubahan pada struktur utama lainnya.
- **Seeder Optimization**:
- Menghapus metode `crudActions` dalam `PermissionSeeder` yang sebelumnya menghasilkan daftar tindakan CRUD.
- Mengurangi redundansi kode seeding dengan langsung membuat grup permission tanpa tindakan tambahan.
- Membersihkan logika tambahan terkait CRUD actions yang tidak dipakai.
This commit is contained in:
@@ -18,7 +18,14 @@ class CitiesController extends Controller
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->user = Auth::guard('web')->user();
|
||||
// Mengatur middleware auth
|
||||
$this->middleware('auth');
|
||||
|
||||
// Mengatur user setelah middleware auth dijalankan
|
||||
$this->middleware(function ($request, $next) {
|
||||
$this->user = Auth::user();
|
||||
return $next($request);
|
||||
});
|
||||
}
|
||||
|
||||
public function index(){
|
||||
@@ -26,7 +33,9 @@ class CitiesController extends Controller
|
||||
abort(403, 'Sorry! You are not allowed to view cities.');
|
||||
}
|
||||
|
||||
return view('location::cities.index');
|
||||
$provinces = Province::all();
|
||||
|
||||
return view('location::cities.index', compact('provinces'));
|
||||
}
|
||||
|
||||
public function create(){
|
||||
|
||||
@@ -19,15 +19,22 @@ class DistrictsController extends Controller
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->user = Auth::guard('web')->user();
|
||||
// Mengatur middleware auth
|
||||
$this->middleware('auth');
|
||||
|
||||
// Mengatur user setelah middleware auth dijalankan
|
||||
$this->middleware(function ($request, $next) {
|
||||
$this->user = Auth::user();
|
||||
return $next($request);
|
||||
});
|
||||
}
|
||||
|
||||
public function index(){
|
||||
if (is_null($this->user) || !$this->user->can('location.read')) {
|
||||
abort(403, 'Sorry! You are not allowed to view districts.');
|
||||
}
|
||||
|
||||
return view('location::districts.index');
|
||||
$provinces = Province::all();
|
||||
return view('location::districts.index', compact('provinces'));
|
||||
}
|
||||
|
||||
public function create(){
|
||||
|
||||
@@ -16,7 +16,14 @@ class ProvincesController extends Controller
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->user = Auth::guard('web')->user();
|
||||
// Mengatur middleware auth
|
||||
$this->middleware('auth');
|
||||
|
||||
// Mengatur user setelah middleware auth dijalankan
|
||||
$this->middleware(function ($request, $next) {
|
||||
$this->user = Auth::user();
|
||||
return $next($request);
|
||||
});
|
||||
}
|
||||
|
||||
public function index(){
|
||||
|
||||
@@ -20,7 +20,14 @@
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->user = Auth::guard('web')->user();
|
||||
// Mengatur middleware auth
|
||||
$this->middleware('auth');
|
||||
|
||||
// Mengatur user setelah middleware auth dijalankan
|
||||
$this->middleware(function ($request, $next) {
|
||||
$this->user = Auth::user();
|
||||
return $next($request);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -16,14 +16,10 @@
|
||||
$data = $this->data();
|
||||
|
||||
foreach ($data as $value) {
|
||||
$group = PermissionGroup::updateOrCreate([
|
||||
PermissionGroup::updateOrCreate([
|
||||
'name' => $value['name'],
|
||||
'slug' => Str::slug($value['name'])
|
||||
]);
|
||||
|
||||
foreach ($this->crudActions($group->name) as $action) {
|
||||
$data[] = ['name' => $action, 'group' => $group->id];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,18 +29,4 @@
|
||||
['name' => 'location']
|
||||
];
|
||||
}
|
||||
|
||||
public function crudActions($name)
|
||||
{
|
||||
$actions = [];
|
||||
// list of permission actions
|
||||
$crud = ['create', 'read', 'update', 'delete','export', 'authorize', 'report','restore'];
|
||||
|
||||
|
||||
foreach ($crud as $value) {
|
||||
$actions[] = $name . '.' . $value;
|
||||
}
|
||||
|
||||
return $actions;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user