diff --git a/app/Http/Controllers/Web/Produktivitas/AksesPasarController.php b/app/Http/Controllers/Web/Produktivitas/AksesPasarController.php index f22faa6..d731273 100644 --- a/app/Http/Controllers/Web/Produktivitas/AksesPasarController.php +++ b/app/Http/Controllers/Web/Produktivitas/AksesPasarController.php @@ -118,7 +118,8 @@ class AksesPasarController extends Controller 'skorPengalamanBerhentiValues' => [ SkorPengalaman::PERNAH_BERHENTI_TIDAK_ADA_AKSES->value, SkorPengalaman::PERNAH_BERHENTI_MUNGKIN_KEMBALI->value - ] + ], + 'sumberInfoLainnyaValue' => 'Lainnya', ]; } @@ -154,6 +155,14 @@ class AksesPasarController extends Controller Rule::requiredIf(fn () => in_array(SaluranTerdahulu::LAINNYA->value, $request->input('saluran_terdahulu', []), true)), 'nullable', 'string', 'max:255' ], + + 'tahu_harga_sebelumnya' => ['nullable', 'string', 'max:255'], + 'sumber_info_harga' => ['nullable', 'array'], + 'sumber_info_harga.*' => ['string'], + 'sumber_info_harga_lainnya' => [ + Rule::requiredIf(fn () => in_array('Lainnya', $request->input('sumber_info_harga', []), true)), + 'nullable', 'string', 'max:255' + ], 'praktik_fermentasi' => ['nullable', 'string', Rule::in(PraktikFermentasi::values())], 'proses_fermentasi' => [ @@ -231,6 +240,10 @@ class AksesPasarController extends Controller $payload['saluran_terdahulu_lainnya'] = null; } + if (!in_array('Lainnya', $payload['sumber_info_harga'] ?? [], true)) { + $payload['sumber_info_harga_lainnya'] = null; + } + if (($payload['praktik_fermentasi'] ?? null) === PraktikFermentasi::BELUM_PERNAH->value) { $payload['proses_fermentasi'] = null; $payload['model_fermentasi_memungkinkan'] = null; diff --git a/app/Models/Pertanian/AksesPasar.php b/app/Models/Pertanian/AksesPasar.php index 2e91b36..9d89603 100644 --- a/app/Models/Pertanian/AksesPasar.php +++ b/app/Models/Pertanian/AksesPasar.php @@ -31,6 +31,9 @@ class AksesPasar extends Model 'saluran_terdahulu', 'saluran_terdahulu_lainnya', 'alasan_berhenti', + 'tahu_harga_sebelumnya', + 'sumber_info_harga', + 'sumber_info_harga_lainnya', 'praktik_fermentasi', 'proses_fermentasi', 'model_fermentasi_memungkinkan', @@ -51,6 +54,7 @@ class AksesPasar extends Model protected $casts = [ 'tujuan_penjualan' => 'array', 'saluran_terdahulu' => 'array', + 'sumber_info_harga' => 'array', ]; protected static function booted(): void diff --git a/database/migrations/2026_06_30_135321_create_akses_pasar_table.php b/database/migrations/2026_06_30_135321_create_akses_pasar_table.php index 3cb6e3e..f624fed 100644 --- a/database/migrations/2026_06_30_135321_create_akses_pasar_table.php +++ b/database/migrations/2026_06_30_135321_create_akses_pasar_table.php @@ -61,7 +61,7 @@ return new class extends Migration $table->integer('harga_tahun_lalu')->nullable(); $table->integer('harga_dua_tahun_lalu')->nullable(); - $table ->foreignId('created_by')->nullable()->constrained('users')->onDelete('set null'); + $table ->foreignId('created_by')->nullable()->constrained('users')->onDelete('set null'); $table ->foreignId('updated_by')->nullable()->constrained('users')->onDelete('set null'); $table ->foreignId('deleted_by')->nullable()->constrained('users')->onDelete('set null'); diff --git a/database/migrations/2026_10_16_152312_add_sumber_informasi_harga_fields_to_akses_pasar_table.php b/database/migrations/2026_10_16_152312_add_sumber_informasi_harga_fields_to_akses_pasar_table.php new file mode 100644 index 0000000..0cfb451 --- /dev/null +++ b/database/migrations/2026_10_16_152312_add_sumber_informasi_harga_fields_to_akses_pasar_table.php @@ -0,0 +1,28 @@ +string('tahu_harga_sebelumnya')->nullable(); + $table->text('sumber_info_harga')->nullable(); + $table->string('sumber_info_harga_lainnya')->nullable(); + }); + } + + public function down(): void + { + Schema::table('akses_pasar', function (Blueprint $table) { + $table->dropColumn([ + 'tahu_harga_sebelumnya', + 'sumber_info_harga', + 'sumber_info_harga_lainnya', + ]); + }); + } +}; \ No newline at end of file diff --git a/resources/views/produktivitas/petani/akses-pasar/index.blade.php b/resources/views/produktivitas/petani/akses-pasar/index.blade.php index adb7f7b..aee1fe1 100644 --- a/resources/views/produktivitas/petani/akses-pasar/index.blade.php +++ b/resources/views/produktivitas/petani/akses-pasar/index.blade.php @@ -130,78 +130,78 @@