예제 #1
0
 public function save(Request $request)
 {
     $this->validate($request, ['semester' => 'required', 'tahun_ajaran' => 'required', 'password' => 'required']);
     if (!\Hash::check($request->input('password'), \Auth::user()->password)) {
         return redirect()->route('semester')->with('message', "Password tidak tepat.");
     }
     $check = Semester::where('semester', $request->input('semester'))->where('tahun_ajaran', $request->input('tahun_ajaran'))->first();
     if ($check) {
         return redirect()->route('semester')->with('message', "Semester sudah ada.");
     }
     $old = Semester::get_active_semester();
     Semester::where('aktif', 1)->update(['aktif' => 0]);
     try {
         $new = new Semester();
         $new->semester = $request->input('semester');
         $new->tahun_ajaran = $request->input('tahun_ajaran');
         $new->aktif = 1;
         $new->save();
     } catch (\Illuminate\Database\QueryException $e) {
         $old->aktif = 1;
         $old->save();
     }
     // Naik kelas
     if ($request->input('semester') == 1) {
         $all_kelas = Kelas::get();
         foreach ($all_kelas as $kelas) {
             $kelas->tingkat = $kelas->tingkat + 1;
             $kelas->save();
         }
     }
     // AUTO
     // Buat kelas X
     if ($request->input('autoKelas')) {
         $all_kelas = Kelas::where('tingkat', '=', 2)->get();
         foreach ($all_kelas as $kelas) {
             $new = new Kelas();
             $new->tingkat = 1;
             $new->id_jurusan = $kelas->id_jurusan;
             $new->kelas = $kelas->kelas;
             $new->angkatan = $kelas->angkatan;
             $new->save();
         }
     }
     // Ketuntasan Belajar
     if ($request->input('autoKB')) {
         KetuntasanBelajar::copy();
     }
     // Asosiasi Mengajar
     if ($request->input('autoMengajar')) {
         Mengajar::copy();
     }
     return redirect()->route('panel_utama')->with('message', "Semester telah berhasil dimajukan.");
 }
예제 #2
0
 public function mass(Request $request)
 {
     if (!$request->ajax()) {
         abort(404);
     }
     $semester = Semester::get_active_semester()->id;
     if (!($prevSemester = Semester::get_previous_semester())) {
         return response("Semester sebelumnya tidak dapat ditemukan.", 422);
     }
     $prevSemester = $prevSemester->id;
     if ($request->input('type') == 2) {
         $backup = null;
         try {
             $backup = Mengajar::reset($semester);
         } catch (Exception $e) {
             return response("Penghapusan aturan asosiasi gagal dilakukan.", 422);
         }
         return response("Penghapusan berhasil.", 200);
     }
     if ($request->input('type') == 1) {
         $copy = null;
         try {
             $copy = Mengajar::copy($prevSemester, $semester);
         } catch (Exception $e) {
             return response("Penyalinan aturan asosiasi dari semester sebelumnya gagal dilakukan.", 422);
         }
         return response("Proses penyamaan selesai. {$copy['success']} entri asosiasi berhasil disamakan." . ($copy['fail'] > 0 ? " {$copy['fail']} entri gagal disamakan karena entri sudah ada atau tidak ditemukannya kelas." : ""), 200);
     }
 }