This commit is contained in:
2026-05-11 17:09:34 +07:00
7 changed files with 9431 additions and 17 deletions
@@ -35,7 +35,9 @@ class DistributionController extends Controller
public function store(Request $request): JsonResponse
{
Gate::authorize('petani');
if (!Gate::any(['super_admin', 'petani','fasilitator', 'offtaker'])) {
abort(403);
}
$validated = $request->validate([
'offtaker_id' => 'required|numeric',
@@ -58,8 +60,9 @@ class DistributionController extends Controller
public function update(Request $request, string $id): JsonResponse
{
// Biasanya Admin atau Offtaker yang melakukan update grade/price
Gate::authorize('super_admin');
if (!Gate::any(['super_admin', 'petani','fasilitator', 'offtaker'])) {
abort(403);
}
$distribution = Distribution::findOrFail($id);
@@ -83,7 +86,9 @@ class DistributionController extends Controller
public function batchUpsert(Request $request): JsonResponse
{
Gate::authorize('any', ['super_admin', 'petani']);
if (!Gate::any(['super_admin', 'petani','fasilitator', 'offtaker'])) {
abort(403);
}
$validated = $request->validate([
'distributions' => ['required', 'array'],
+4 -4
View File
@@ -77,7 +77,7 @@ class LahanController extends Controller
*/
public function store(Request $request): JsonResponse
{
if (!Gate::any(['petani', 'fasilitator'])) {
if (!Gate::any(['petani', 'fasilitator','super_admin'])) {
abort(403);
}
@@ -151,7 +151,7 @@ class LahanController extends Controller
*/
public function update(Request $request, string $id): JsonResponse
{
if (!Gate::any(['petani', 'fasilitator'])) {
if (!Gate::any(['petani', 'fasilitator','super_admin'])) {
abort(403);
}
@@ -181,7 +181,7 @@ class LahanController extends Controller
*/
public function destroy(string $id): JsonResponse
{
if (!Gate::any(['petani', 'fasilitator'])) {
if (!Gate::any(['petani', 'fasilitator','super_admin'])) {
abort(403);
}
@@ -199,7 +199,7 @@ class LahanController extends Controller
public function batchUpsert(Request $request): JsonResponse
{
if (!Gate::any(['petani', 'fasilitator'])) {
if (!Gate::any(['petani', 'fasilitator','super_admin'])) {
abort(403);
}
+3 -3
View File
@@ -29,7 +29,7 @@ class PanenController extends Controller
public function store(Request $request): JsonResponse
{
if (!Gate::any(['petani', 'fasilitator'])) {
if (!Gate::any(['petani', 'fasilitator','super_admin'])) {
abort(403);
}
@@ -67,7 +67,7 @@ class PanenController extends Controller
public function update(Request $request, string $id): JsonResponse
{
if (!Gate::any(['petani', 'fasilitator'])) {
if (!Gate::any(['petani', 'fasilitator','super_admin'])) {
abort(403);
}
$panen = Panen::findOrFail($id);
@@ -95,7 +95,7 @@ class PanenController extends Controller
*/
public function batchUpsert(Request $request): JsonResponse
{
if (Gate::authorize(['petani', 'fasilitator'])) {
if (Gate::authorize(['petani', 'fasilitator','super_admin'])) {
abort(403);
}
$profileId = Auth::user()->profile->id;
@@ -95,7 +95,9 @@ class ProfileController extends Controller
*/
public function store(Request $request)
{
Gate::authorize('fasilitator');
if(!Gate::any(['fasilitator','super_admin'])){
abort(403);
}
$validated = $request->validate([
'nama' => ['required', 'string', 'max:255'],
@@ -237,7 +239,7 @@ class ProfileController extends Controller
public function downloadFile(string $id, string $type): JsonResponse | BinaryFileResponse
{
if (!Gate::any(['petani', 'fasilitator'])) {
if (!Gate::any(['petani', 'fasilitator', 'super_admin'])) {
abort(403);
}
@@ -91,7 +91,7 @@ class TanamanController extends Controller
*/
public function store(Request $request): JsonResponse
{
if (!Gate::any(['petani', 'fasilitator'])) {
if (!Gate::any(['petani', 'fasilitator','super_admin'])) {
abort(403);
}
$profile = Auth::user()->profile;
@@ -151,7 +151,7 @@ class TanamanController extends Controller
*/
public function update(Request $request, string $id): JsonResponse
{
if (!Gate::any(['petani', 'fasilitator'])) {
if (!Gate::any(['petani', 'fasilitator','super_admin'])) {
abort(403);
}
$tanaman = Tanaman::findOrFail($id);
@@ -186,7 +186,7 @@ class TanamanController extends Controller
*/
public function destroy(string $id): JsonResponse
{
if (!Gate::any(['petani', 'fasilitator'])) {
if (!Gate::any(['petani', 'fasilitator','super_admin'])) {
abort(403);
}
$tanaman = Tanaman::findOrFail($id);
Executable
+9385
View File
File diff suppressed because it is too large Load Diff
+22
View File
@@ -23,5 +23,27 @@ class AdminUserSeeder extends Seeder
'created_at' => now(),
'updated_at' => now(),
]);
Db::table('profiles')->insert([
'user_id' => 1,
'role' => 'super_admin',
'nama' => 'Admin',
'email' => 'admin@example.com',
'telepon' => '081234567890',
'alamat' => 'Jl. Contoh Alamat No. 123, Kota Contoh',
'kk' => '1234567890123456',
'ktp' => '1234567890123456',
'desa_kelurahan_id' => null,
'path_kk' => null,
'path_ktp' => null,
'file_kk' => null,
'file_ktp' => null,
'keluarga_id' => null,
'created_by' => 1,
'updated_by' => 1,
'created_at' => now(),
'updated_at' => now(),
'adat_id' => null,
]);
}
}