<?php namespace App\Http\Controllers; use App\Models\Keaktifan; use Illuminate\Http\Request; use App\Imports\KeaktifanImport; use App\Models\Praktikum; use Illuminate\Support\Facades\DB; use Maatwebsite\Excel\Facades\Excel; use PhpParser\Node\Stmt\TryCatch; use Maatwebsite\Excel\Exceptions\NoTypeDetectedException; class KeaktifanController extends Controller { /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { $keaktifans=Keaktifan::all(); $praktikums=Praktikum::all(); return view ('dashboards.keaktifan.index', [ 'keaktifans'=>$keaktifans, 'praktikums'=>$praktikums, ]); } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() { $praktikums=Praktikum::all(); return view('dashboards.keaktifan.create', [ 'praktikums'=>$praktikums, ]); } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $request->validate([ 'nim'=> 'required', 'nama'=> 'required', 'kodeprak'=> 'required', 'satu'=> 'required', 'dua'=> 'required', 'tiga'=> 'required', 'empat'=> 'required', 'lima'=> 'required', 'enam'=> 'required', 'tujuh'=> 'required', 'delapan'=> 'required', 'sembilan'=> 'required', 'sepuluh'=> 'required', 'jumlah'=> 'required', 'kesimpulan'=> 'required', ]); Keaktifan::create($request->all()); return redirect()->route('adminIndexKeaktifan') ->with('success','Data Telah Ditambahkan.'); } /** * Display the specified resource. * * @param \App\Models\Praktikum $praktikum * @return \Illuminate\Http\Response */ public function show(Keaktifan $keaktifan) { // } /** * Show the form for editing the specified resource. * * @param \App\Models\Praktikum $praktikum * @return \Illuminate\Http\Response */ public function edit(Keaktifan $datakeaktifan) { $praktikums=Praktikum::all(); return view ('dashboards.keaktifan.edit', [ 'datakeaktifan'=>$datakeaktifan, 'praktikums'=>$praktikums, ]); } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param \App\Models\Praktikum $praktikum * @return \Illuminate\Http\Response */ public function update(Request $request, keaktifan $datakeaktifan) { $request->validate([ 'nim'=> 'required', 'nama'=> 'required', 'kodeprak'=> 'required', 'satu'=> 'required', 'dua'=> 'required', 'tiga'=> 'required', 'empat'=> 'required', 'lima'=> 'required', 'enam'=> 'required', 'tujuh'=> 'required', 'delapan'=> 'required', 'sembilan'=> 'required', 'sepuluh'=> 'required', 'jumlah'=> 'required', 'kesimpulan'=> 'required', ]); $datakeaktifan->update($request->all()); return redirect()->route('adminIndexKeaktifan') ->with('success','Data Telah Diperbaharui.'); } /** * Remove the specified resource from storage. * * @param \App\Models\Praktikum $praktikum * @return \Illuminate\Http\Response */ public function destroy(Keaktifan $datakeaktifan) { $datakeaktifan->delete(); return redirect()->route('adminIndexKeaktifan') ->with('success','Data Telah Dihapus.'); } public function deleteAll(Request $request) { $ids = $request->ids; Keaktifan::whereIn('idkeaktifan',explode(",",$ids))->delete(); return response()->json(['success'=>"Data Terpilih Telah Dihapus."]); } // public function destroymany(array $kodeprak) // { // Kehadiran::destroy($kodeprak); // return redirect()->route('adminIndexKehadiran') // ->with('success','Data Telah Dihapus.'); // } public function import(Request $request){ try { Excel::import(new KeaktifanImport, $request->file('file')); return redirect()->back()->with('success','Data Telah Diunggah.'); } catch(\Illuminate\Database\QueryException $ex){ return redirect()->back()->with('gagal','Data pada file anda mungkin bermasalah silahkan perbarui file anda atau silahkan tambahkan data praktikum terkait terlebih dahulu karena halaman ini memiliki relasi dengan kode praktikum.'); } catch (NoTypeDetectedException $e) { return redirect()->back()->with('gagal','Data haruslah file excel.'); } catch(\PhpOffice\PhpSpreadsheet\Reader\Exception $e) { return redirect()->back()->with('gagal','Data haruslah file excel.'); } } }