partial update create crud pbg

This commit is contained in:
arifal
2025-02-05 02:40:14 +07:00
parent 7d06e12de8
commit ff324014f6
17 changed files with 681 additions and 15 deletions

View File

@@ -0,0 +1,90 @@
<?php
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use App\Http\Requests\PbgTaskMultiStepRequest;
use App\Models\PbgTask;
use Illuminate\Http\Request;
class PbgTaskController extends Controller
{
/**
* Display a listing of the resource.
*/
public function index()
{
//
}
/**
* Store a newly created resource in storage.
*/
public function store(PbgTaskMultiStepRequest $request)
{
try {
$data = PbgTask::create([
"uuid" => $request->input("step1Form.uuid"),
"name" => $request->input("step1Form.name"),
"owner_name" => $request->input("step1Form.owner_name"),
"application_type" => $request->input("step1Form.application_type"),
"application_type_name" => $request->input("step1Form.application_type_name"),
"condition" => $request->input("step1Form.condition"),
"registration_number" => $request->input("step1Form.registration_number"),
"document_number" => $request->input("step1Form.document_number"),
"address" => $request->input("step1Form.address"),
"status" => $request->input("step1Form.status"),
"status_name" => $request->input("step1Form.status_name"),
"slf_status" => $request->input("step1Form.slf_status"),
"slf_status_name" => $request->input("step1Form.slf_status_name"),
"function_type" => $request->input("step1Form.function_type"),
"consultation_type" => $request->input("step1Form.consultation_type"),
"due_date" => $request->input("step1Form.due_date"),
"land_certificate_phase" => $request->input("step1Form.land_certificate_phase"),
"task_created_at" => $request->input("step1Form.task_created_at"),
]);
return response()->json([
"success" => true,
"message" => "Step 1 berhasil disimpan!",
"data" => $data
], 201);
} catch (\Exception $e) {
return response()->json([
"success" => false,
"message" => "Gagal menyimpan data",
"error" => $e->getMessage()
], 500);
}
}
/**
* Display the specified resource.
*/
public function show(string $id)
{
//
}
/**
* Update the specified resource in storage.
*/
public function update(Request $request, string $id)
{
//
}
/**
* Remove the specified resource from storage.
*/
public function destroy(string $id)
{
//
}
protected function validatePbgTask(Request $request){
return $request->validate([
"uuid" => $request->input("step1Form.uuid"),
]);
}
}

View File

@@ -14,7 +14,7 @@ class RequestAssignmentController extends Controller
*/
public function index(Request $request)
{
$query = PbgTask::query();
$query = PbgTask::query()->orderBy('id', 'desc');
if($request->has('search') && !empty($request->get("search"))){
$query->where('name', 'LIKE', '%'.$request->get('search').'%');
}

View File

@@ -12,7 +12,7 @@ class PbgTaskController extends Controller
*/
public function index()
{
return view('request-assignment.index');
return view('pbg_task.index');
}
/**
@@ -20,7 +20,7 @@ class PbgTaskController extends Controller
*/
public function create()
{
//
return view("pbg_task.create");
}
/**
@@ -28,7 +28,7 @@ class PbgTaskController extends Controller
*/
public function store(Request $request)
{
//
}
/**
@@ -36,7 +36,7 @@ class PbgTaskController extends Controller
*/
public function show(string $id)
{
//
return view("pbg_task.show");
}
/**
@@ -44,7 +44,7 @@ class PbgTaskController extends Controller
*/
public function edit(string $id)
{
//
return view("pbg_task.edit");
}
/**

View File

@@ -0,0 +1,62 @@
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class PbgTaskMultiStepRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
*/
public function rules()
{
return [
// rules step 1
"step1Form.uuid" => "required",
"step1Form.name" => "nullable|string|max:255",
"step1Form.owner_name" => "nullable|string|max:255",
"step1Form.application_type" => "nullable|string|max:255",
"step1Form.application_type_name" => "nullable|string|max:255",
"step1Form.condition" => "nullable|string|max:255",
"step1Form.registration_number" => "nullable|string|max:255",
"step1Form.document_number" => "nullable|string|max:255",
"step1Form.address" => "nullable|string|max:255",
"step1Form.status" => "nullable|integer",
"step1Form.status_name" => "nullable|string|max:255",
"step1Form.slf_status" => "nullable|string|max:255",
"step1Form.slf_status_name" => "nullable|string|max:255",
"step1Form.function_type" => "nullable|string|max:255",
"step1Form.consultation_type" => "nullable|string|max:255",
"step1Form.due_date" => "nullable|date",
"step1Form.land_certificate_phase" => "nullable|boolean",
"step1Form.task_created_at" => "nullable|date",
];
}
public function messages()
{
return [
// message step 1
"step1Form.uuid.required" => "UUID wajib diisi.",
"step1Form.uuid.uuid" => "Format UUID tidak valid.",
"step1Form.name.max" => "Nama tidak boleh lebih dari 255 karakter.",
"step1Form.owner_name.max" => "Nama pemilik tidak boleh lebih dari 255 karakter.",
"step1Form.registration_number.max" => "Nomor registrasi tidak boleh lebih dari 255 karakter.",
"step1Form.document_number.max" => "Nomor dokumen tidak boleh lebih dari 255 karakter.",
"step1Form.status.integer" => "Status harus berupa angka.",
"step1Form.due_date.date" => "Tanggal jatuh tempo tidak valid.",
"step1Form.land_certificate_phase.boolean" => "Fase sertifikat tanah harus berupa true/false.",
];
}
}