예제 #1
0
 public function mass(Request $request)
 {
     $this->validate($request, ['tingkat' => 'required|integer', 'kelas' => 'required', 'angkatan' => 'required|integer']);
     $jurusan = Jurusan::all();
     $fails = [];
     foreach ($jurusan as $j) {
         try {
             $new = new Kelas();
             $new->tingkat = $request->tingkat;
             $new->id_jurusan = $j->id;
             $new->kelas = $request->kelas;
             $new->angkatan = $request->angkatan;
             $new->save();
         } catch (\Illuminate\Database\QueryException $e) {
             $fails[] = "{$request->tingkat} {$j->singkat} {$request->kelas}";
         }
     }
     if (count($fails) == count($jurusan)) {
         return response("Operasi gagal; mungkin kelasnya sudah ada.", 422);
     } elseif (count($fails) > 0) {
         $responseText = "Kelas berhasil ditambahkan kecuali kelas: ";
         foreach ($fails as $f) {
             $responseText .= "{$f}, ";
         }
         return response(rtrim($responseText, ', '), 422);
     } else {
         return response(count($jurusan) . " kelas berhasil ditambahkan.", 200);
     }
 }
예제 #2
0
 /**
  * Halaman utama bagi staf.
  */
 public function index()
 {
     // Ambil data semester yang aktif
     $pass['semester'] = Semester::get_active_semester();
     // Pengecekan
     // 0 = fine
     // 1 = warning
     // 2 = error
     // Cek apakah ada jurusan tercatat
     $pass['jurusan'] = Jurusan::all()->count();
     // Cek apakah kelas tingkat 1 sudah dibuat
     $kelas = Kelas::check_firstyears();
     $pass['kelas'] = $kelas;
     if ($kelas['total'] == 0) {
         $pass['kelas']['cek'] = 2;
     } elseif ($kelas['count'] < $kelas['jurusan']) {
         $pass['kelas']['cek'] = 1;
     } else {
         $pass['kelas']['cek'] = 0;
     }
     // Cek apakah ada kelas tingkat 1 yang kosong
     $siswa = Siswa::check_firstyears();
     $pass['siswa'] = $siswa;
     if ($siswa['siswa_tingkat_x'] <= 0) {
         $pass['siswa']['cek'] = 2;
     } elseif ($siswa['kelas_kosong'] > 0) {
         $pass['siswa']['cek'] = 1;
     } else {
         $pass['siswa']['cek'] = 0;
     }
     // Cek apakah semua mapel sudah memiliki angka KB untuk semester ini
     $pass['kb'] = KetuntasanBelajar::check();
     // Cek apakah ada guru yang belum mendapat asosiasi pengajaran
     $pass['mengajar'] = Mengajar::check();
     return view('panel', $pass);
 }
예제 #3
0
 public function index()
 {
     $pass['jurusan'] = Jurusan::all();
     return view('jurusan.panel', $pass);
 }
예제 #4
0
 public static function check_firstyears()
 {
     return ['total' => self::where('tingkat', '1')->get()->count(), 'jurusan' => Jurusan::all()->count(), 'count' => self::select(DB::raw('count(*)'))->where('kelas.tingkat', '1')->groupBy('kelas.id_jurusan')->get()->count()];
 }
예제 #5
0
 public function index(Jurusan $jurusan)
 {
     $resource = $jurusan->all();
     return $this->respondWithCollection($resource, new JurusanTransformer());
 }