/** * 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]; }
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); } }
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; }