252 lines
11 KiB
PHP
252 lines
11 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Validator;
|
|
use Illuminate\Support\Facades\DB;
|
|
use Illuminate\Support\Facades\Auth;
|
|
use Illuminate\Support\Facades\Hash;
|
|
use App\Models\ProfileSekolah as Profile;
|
|
use App\Models\Kuesioner;
|
|
|
|
class KuesionerController extends Controller
|
|
{
|
|
protected $template = 'modules.kuesioner';
|
|
protected $route = 'modules.kuesioner';
|
|
|
|
public function index()
|
|
{
|
|
permission('is_read', $this->route, 'module',true);
|
|
|
|
$data['title'] = 'Kuesioner Leveling';
|
|
$data['route'] = $this->route;
|
|
$kuesioner = Kuesioner::where('user_id',auth()->user()->id)->where('tahun',date('Y'))->first();
|
|
if(@$kuesioner){
|
|
$data['kuesioner'] = $kuesioner;
|
|
}else{
|
|
$kuesioner = Kuesioner::where('user_id',auth()->user()->id)->where('tahun',(date('Y')-1))->first();
|
|
$data['kuesioner'] = $kuesioner;
|
|
}
|
|
|
|
$media = json_decode(@$kuesioner->media);
|
|
$data['selectedMediaValues'] = collect($media)->pluck('value')->toArray(); // Ambil value yang dipilih
|
|
$data['selectedMediaTexts'] = collect($media)->keyBy('name');
|
|
|
|
$materi = json_decode(@$kuesioner->materi);
|
|
$data['selectedMateriValues'] = collect($materi)->pluck('value')->toArray(); // Ambil value yang dipilih
|
|
$data['selectedMateriTexts'] = collect($materi)->keyBy('name');
|
|
|
|
$komitmen = json_decode(@$kuesioner->komitmen);
|
|
$data['selectedKomitmenValues'] = collect($komitmen)->pluck('value')->toArray(); // Ambil value yang dipilih
|
|
$data['selectedKomitmenTexts'] = collect($komitmen)->keyBy('name');
|
|
|
|
$kegiatan_lingkungan = json_decode(@$kuesioner->kegiatan_lingkungan);
|
|
$data['selectedKegiatanLingkunganValues'] = collect($kegiatan_lingkungan)->pluck('value')->toArray(); // Ambil value yang dipilih
|
|
$data['selectedKegiatanLingkunganTexts'] = collect($kegiatan_lingkungan)->keyBy('name');
|
|
|
|
$pihak_kegiatan_lingkungan = json_decode(@$kuesioner->pihak_kegiatan_lingkungan);
|
|
$data['selectedPihakKegiatanLingkunganValues'] = collect($pihak_kegiatan_lingkungan)->pluck('value')->toArray(); // Ambil value yang dipilih
|
|
$data['selectedPihakKegiatanLingkunganTexts'] = collect($pihak_kegiatan_lingkungan)->keyBy('name');
|
|
|
|
return view($this->template.'.form',$data);
|
|
}
|
|
|
|
public function store(Request $request)
|
|
{
|
|
// dd(request()->all());
|
|
try {
|
|
|
|
$media = request()->input('media', []); // Ambil array media
|
|
$mediaText = request()->input('media_text', []); // Ambil array media_text
|
|
$materi = request()->input('materi', []); // Ambil array materi
|
|
$materiText = request()->input('materi_text', []); // Ambil array materi_text
|
|
$komitmen = array(request()->input('komitmen')); // Ambil array komitmen
|
|
$komitmenText = request()->input('komitmen_text', []); // Ambil array komitmen_text
|
|
$kegiatan_lingkungan = request()->input('kegiatan_lingkungan', []); // Ambil array kegiatan_lingkungan
|
|
$kegiatan_lingkunganText = request()->input('kegiatan_lingkungan_text', []); // Ambil array kegiatan_lingkungan_text
|
|
$pihak_kegiatan_lingkungan = request()->input('pihak_kegiatan_lingkungan', []); // Ambil array pihak_kegiatan_lingkungan
|
|
$pihak_kegiatan_lingkunganText = request()->input('pihak_kegiatan_lingkungan_text', []); // Ambil array pihak_kegiatan_lingkungan_text
|
|
|
|
// Buat array mapping berdasarkan media yang dipilih
|
|
$mediaFormatted = [];
|
|
$materiFormatted = [];
|
|
$komitmenFormatted = [];
|
|
$kegiatanFormatted = [];
|
|
$pihakKegiatanFormatted = [];
|
|
|
|
//ISIAN MEDIA
|
|
foreach ($media as $value) {
|
|
if ($value == 1) {
|
|
$mediaFormatted[] = [
|
|
'value' => $value,
|
|
'name' => 'sosialisasi',
|
|
'text' => $mediaText['sosialisasi'] ?? null
|
|
];
|
|
} elseif ($value == 2) {
|
|
$mediaFormatted[] = [
|
|
'value' => $value,
|
|
'name' => 'bimtek',
|
|
'text' => $mediaText['bimtek'] ?? null
|
|
];
|
|
}elseif ($value == 3) {
|
|
$mediaFormatted[] = [
|
|
'value' => $value,
|
|
'name' => 'webinar',
|
|
'text' => $mediaText['webinar'] ?? null
|
|
];
|
|
}elseif ($value == 4) {
|
|
$mediaFormatted[] = [
|
|
'value' => $value,
|
|
'name' => 'youtube',
|
|
'text' => $mediaText['youtube'] ?? null
|
|
];
|
|
}elseif ($value == 5) {
|
|
$mediaFormatted[] = [
|
|
'value' => $value,
|
|
'name' => 'lainlain',
|
|
'text' => $mediaText['lainlain'] ?? null
|
|
];
|
|
}
|
|
}
|
|
|
|
|
|
//ISIAN MATERI
|
|
foreach ($materi as $value) {
|
|
if ($value == 1) {
|
|
$materiFormatted[] = [
|
|
'value' => $value,
|
|
'name' => 'kebijakan',
|
|
'text' => $materiText['kebijakan'] ?? null
|
|
];
|
|
} elseif ($value == 2) {
|
|
$materiFormatted[] = [
|
|
'value' => $value,
|
|
'name' => 'perencanaan',
|
|
'text' => $materiText['perencanaan'] ?? null
|
|
];
|
|
}elseif ($value == 3) {
|
|
$materiFormatted[] = [
|
|
'value' => $value,
|
|
'name' => 'pelaksanaan',
|
|
'text' => $materiText['pelaksanaan'] ?? null
|
|
];
|
|
}elseif ($value == 4) {
|
|
$materiFormatted[] = [
|
|
'value' => $value,
|
|
'name' => 'pemantauan',
|
|
'text' => $materiText['pemantauan'] ?? null
|
|
];
|
|
}elseif ($value == 5) {
|
|
$materiFormatted[] = [
|
|
'value' => $value,
|
|
'name' => 'lainlain',
|
|
'text' => $materiText['lainlain'] ?? null
|
|
];
|
|
}
|
|
}
|
|
|
|
//ISIAN KOMITMEN
|
|
foreach ($komitmen as $value) {
|
|
if ($value == 1) {
|
|
$komitmenFormatted[] = [
|
|
'value' => $value,
|
|
'name' => 'bersedia',
|
|
'text' => $komitmenText['bersedia'] ?? null
|
|
];
|
|
} elseif ($value == 2) {
|
|
$komitmenFormatted[] = [
|
|
'value' => $value,
|
|
'name' => 'tidak_bersedia',
|
|
'text' => $komitmenText['tidak_bersedia'] ?? null
|
|
];
|
|
}
|
|
}
|
|
|
|
//ISIAN KEGIATAN
|
|
foreach ($kegiatan_lingkungan as $value) {
|
|
if ($value == 1) {
|
|
$kegiatanFormatted[] = [
|
|
'value' => $value,
|
|
'name' => 'pemilahan_sampah',
|
|
'text' => $kegiatanText['pemilahan_sampah'] ?? null
|
|
];
|
|
} elseif ($value == 2) {
|
|
$kegiatanFormatted[] = [
|
|
'value' => $value,
|
|
'name' => 'penanaman_pohon',
|
|
'text' => $kegiatanText['penanaman_pohon'] ?? null
|
|
];
|
|
}elseif ($value == 3) {
|
|
$kegiatanFormatted[] = [
|
|
'value' => $value,
|
|
'name' => 'kegiatan_1',
|
|
'text' => $kegiatanText['kegiatan_1'] ?? null
|
|
];
|
|
}elseif ($value == 4) {
|
|
$kegiatanFormatted[] = [
|
|
'value' => $value,
|
|
'name' => 'kegiatan_2',
|
|
'text' => $kegiatanText['kegiatan_2'] ?? null
|
|
];
|
|
}elseif ($value == 5) {
|
|
$kegiatanFormatted[] = [
|
|
'value' => $value,
|
|
'name' => 'kegiatan_3',
|
|
'text' => $kegiatanText['kegiatan_3'] ?? null
|
|
];
|
|
}
|
|
}
|
|
|
|
//ISIAN PIHAK KEGIATAN
|
|
foreach ($pihak_kegiatan_lingkungan as $value) {
|
|
if ($value == 1) {
|
|
$pihakKegiatanFormatted[] = [
|
|
'value' => $value,
|
|
'name' => 'internal',
|
|
'text' => $pihakKegiatanText['internal'] ?? null
|
|
];
|
|
} elseif ($value == 2) {
|
|
$pihakKegiatanFormatted[] = [
|
|
'value' => $value,
|
|
'name' => 'eksternal',
|
|
'text' => $pihakKegiatanText['eksternal'] ?? null
|
|
];
|
|
}
|
|
}
|
|
|
|
$insert = new Kuesioner;
|
|
$insert->user_id = auth()->user()->id;
|
|
$insert->npsn = session('npsn');
|
|
$insert->level = @$request->level;
|
|
$insert->tim_adiwiyata = @$request->tim_adiwiyata;
|
|
$insert->info_pblhs = @$request->info_pblhs;
|
|
$insert->media = json_encode(@$mediaFormatted);
|
|
$insert->materi = json_encode(@$materiFormatted);
|
|
$insert->komitmen = json_encode($komitmenFormatted);
|
|
$insert->kegiatan_lingkungan = json_encode(@$kegiatanFormatted);
|
|
$insert->pihak_kegiatan_lingkungan = json_encode(@$pihakKegiatanFormatted);
|
|
$insert->tahun = date('Y');
|
|
$insert->link_sk_adiwiyata = @$request->link_sk_adiwiyata;
|
|
$insert->tim_adiwiyata_nomor_sk = @$request->tim_adiwiyata_nomor_sk;
|
|
$insert->tim_adiwiyata_link = @$request->tim_adiwiyata_link;
|
|
$insert->save();
|
|
|
|
logActivity($request, __('Create',['val' => strtolower(__('Title',['val' => 'Kuesioner Leveling User ID : '.auth()->user()->id]))]));
|
|
|
|
return redirect()->back()->with([
|
|
'message' => 'Berhasil update data',
|
|
'type' => 'success',
|
|
]);
|
|
|
|
|
|
|
|
} catch (Exception $e) {
|
|
return redirect()->back()->with([
|
|
'message' => $e->getMessage(),
|
|
'type' => "error"
|
|
]);
|
|
}
|
|
}
|
|
}
|