Example #1
0
 /**
  * Mengecek apakah ada guru yang belum mendapat asosiasi pengajaran
  * @param  integer  $semester  ID dari semester yang ingin dicek. Secara default menggunakan ID semester yang aktif
  * @return integer             Jumlah guru yang belum mendapat asosiasi
  */
 public static function check($semester = null)
 {
     $guru = Guru::where('staf', 0)->orWhere('staf', 2)->get()->count();
     if ($guru < 1) {
         return -1;
     }
     $asosiasi = self::join('guru', 'guru.id', '=', 'mengajar.id_guru')->where('mengajar.id_semester', $semester ? $semester : Semester::get_active_semester()->id)->where(function ($q) {
         $q->where('staf', 0)->orWhere('staf', 2);
     })->groupBy('guru.id')->get()->count();
     return $guru - $asosiasi;
 }
 public function get_asosiasi_datalist(Request $request)
 {
     $this->validate($request, ['id' => 'required']);
     $data = Mengajar::get_guru_mengajar($request->input('id'), Semester::get_active_semester()->id);
     $tbody = '';
     if (count($data) < 1) {
         $tbody = "<tr><td colspan='99'><center>Guru ini belum diset untuk mengajar kelas/pelajaran manapun.</center></td></tr>";
     } else {
         foreach ($data as $i) {
             // Mengajar pelajaran
             if ($i->mapel_link->kelompok != 'WK') {
                 $tbody .= '<tr><td>' . $i->kelas_link->name() . '</td><td>' . $i->mapel_link->nama . "</td>";
                 // Wali kelas
             } else {
                 $tbody .= '<tr><td>' . $i->kelas_link->name() . '</td><td>Wali Kelas' . "</td>";
             }
             $tbody .= "<td><a href=\"javascript:hapus({$request->input('id')},{$i->kelas_link->id},{$i->mapel_link->id})\"><i class='fa fa-eraser'></i> Hapus</a></tr>";
         }
     }
     return ['data' => $tbody, 'guru' => Guru::find($request->input('id'))->nama];
 }
Example #3
0
 public function delete(Request $request)
 {
     if ($request->ajax()) {
         if (\Auth::user()->id == $request->input('id')) {
             return response('Anda tidak bisa menghapus akun Anda sendiri.', 422);
         }
         $guru = null;
         try {
             $guru = Guru::findOrFail($request->input('id'));
         } catch (Exception $e) {
             return response('Gagal; guru dengan ID tersebut tidak ditemukan.', 422);
         }
         if (Guru::self_destruct_check($request->input('id'))) {
             return response('Harus ada minimal satu akun guru yang berupa staf.', 422);
         }
         if ($guru->delete()) {
             return response('Akun telah dihapus.', 200);
         } else {
             return response('Akun gagal dihapus.', 422);
         }
     } else {
         abort(404);
     }
 }
Example #4
0
 public function get_wali_kelas()
 {
     $g = Mengajar::join('mapel', 'mengajar.id_mapel', '=', 'mapel.id')->where('mengajar.id_kelas', $this->id)->where('mapel.kelompok', 'WK')->where('mengajar.id_semester', Semester::get_active_semester()->id)->first();
     return $g ? Guru::find($g->id_guru) : false;
 }