<?php
namespace App\Http\Controllers;
use App\Helpers\Helper;
use App\Helpers\RoleHelper;
use App\Helpers\WaHelpers;
use App\Mail\KonfirmasiEmail;
use App\Models\Pendaftaran;
use App\Models\Siswa;
use App\Models\User;
use Illuminate\Container\Attributes\Auth;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;
use Spatie\Permission\Models\Permission;
use Spatie\Permission\Models\Role;
use Illuminate\Routing\UrlGenerator;
use Illuminate\Support\Facades\Auth as FacadesAuth;
use Illuminate\Support\Facades\Mail;
use Illuminate\Support\Facades\Request as FacadesRequest;
class SiswaController extends Controller
{
/**
* Display a listing of the resource.
*/
public $breadcrumbs;
public $title = "Siswa";
public $url = "siswa";
public $menu = "siswa";
public function __construct(UrlGenerator $urlGenerator)
{
$this->breadcrumbs = [
['title' => 'Home', 'url' => $urlGenerator->route('dashboard')],
['title' => 'Pengaturan Aplikasi', 'url' => "#"],
['title' => $this->title, 'url' => $urlGenerator->route($this->url.'.index')],
];
}
public function verifikasi() {
$breadcrumbs = $this->breadcrumbs;
$title = $this->title;
$url = $this->url;
$menu = $this->menu;
$datas = User::role('Siswa')->get();
return view('pages.siswa.verifikasi', compact('title', 'url', 'menu', 'datas', 'breadcrumbs'));
}
public function verifikasiStore(Request $request) {
if(isset($request->verifikasi)) {
$pesan = "Siswa bernama ".$request->nama_siswa." dengan nomor identitas ".$request->no_identitas." ini adalah nomor OTP anda untuk melanjutkan registrasi : ".$request->randomNumber;
WaHelpers::sendWa($request->no_hp_siswa, $pesan);
return response()->json([
'data' => $request->randomNumber,
]);
}
if($request->page == "verifikasi") {
$validatedData = $request->validate([
// 'email' => 'required|unique:users,email',
'nama_siswa' => 'required',
'no_identitas' => 'required|unique:siswas,no_identitas',
'jenis_kelamin' => 'required',
'tempat_lahir' => 'required',
'tanggal_lahir' => 'required',
'alamat_siswa' => 'required',
'no_hp_siswa' => 'different:no_hp_orang_tua|unique:siswas,no_hp_siswa',
'agama' => 'required',
'asal_sekolah' => 'required',
'jurusan_sekolah' => 'required',
'tingkatan_sekolah' => 'required',
'tahun_lulus_sekolah' => 'required',
'nama_orang_tua' => 'required',
'alamat_orang_tua' => 'required',
'no_hp_orang_tua' => 'required|different:no_hp_siswa|unique:siswas,no_hp_orang_tua',
'foto_siswa' => 'required',
'foto_orang_tua' => 'required',
// 'no_telp_rumah' => 'required',
// 'grup_pengguna' => 'required',
// 'jabatan' => 'required',
'cabang' => 'required',
'tahun_ajaran' => 'required',
'gelombang' => 'required',
// 'password' => 'required',
// 'c_password' => 'required|same:password',
], [
// 'email.required' => 'Email wajib diisi!',
// 'email.unique' => 'Email sudah pernah digunakan!',
// 'nama_siswa.required' => 'Nama Siswa wajib diisi!',
'no_identitas.required' => 'No identitas wajib diisi!',
'no_identitas.unique' => 'No Identitas sudah pernah digunakan!',
'jenis_kelamin.required' => 'Jenis Kelamin wajib diisi!',
'tempat_lahir.required' => 'Tempat Lahir Wajib diisi!',
'tanggal_lahir.required' => 'Tanggal Lahir Wajib diisi!',
'alamat_siswa.required' => 'Alamat wajib diisi!',
// 'no_telp_rumah' => 'No Telp Rumah Wajib diisi!',
'no_hp_siswa.required' => 'No Hp Siswa Wajib diisi!',
'no_hp_siswa.unique' => 'No.Whatsapp Siswa sudah pernah digunakan!',
'no_hp_siswa.different' => 'No.Whatsapp Siswa tidak boleh sama dengan No Hp Orang tua!',
'agama.required' => 'Agama wajib diisi!',
'asal_sekolah.required' => 'Asal Sekolah wajib diisi!',
'jurusan_sekolah.required' => 'Jurusan Sekolah wajib diisi!',
'tingkatan_sekolah.required' => 'Tingkatan Sekolah wajib diisi!',
'tahun_lulus_sekolah.required' => 'Tahun Lulus Sekolah Wajib diisi!',
'nama_orang_tua.required' => 'Nama Orang Tua wajib diisi!',
'alamat_orang_tua.required' => 'Alamat orang tua wajib diisi!',
'no_hp_orang_tua.required' => 'No Hp Orang tua wajib diisi!',
'no_hp_orang_tua.unique' => 'No Hp Orang tua sudah pernah digunakan!',
'no_hp_orang_tua.different' => 'No Hp Orang tua tidak boleh sama dengan No.Whatsapp Siswa!',
'foto_siswa.required' => 'Foto Siswa wajib diupload!',
'foto_orang_tua.required' => 'Foto Orang Tua wajib diupload!',
// 'grup_pengguna.required' => 'Grup Pengguna wajib diisi!',
// 'jabatan.required' => 'Jabatan wajib diisi!',
// 'cabang.required' => 'Cabang wajib diisi!',
// 'tahun_ajaran.required' => 'Tahun Ajaran wajib diisi!',
// 'gelombang.required' => 'Gelombang wajib diisi!',
]);
} else {
$validatedData = [];
$siswa = Siswa::find($request->siswa_id);
if($request->no_hp_siswa == $siswa->no_hp_siswa) {
$validatedData['no_hp_siswa'] = 'required';
} else {
$validatedData['no_hp_siswa'] = 'required|different:no_hp_orang_tua|unique:siswas,no_hp_siswa';
}
if($request->no_hp_orang_tua == $siswa->no_hp_orang_tua) {
$validatedData['no_hp_orang_tua'] = 'required';
} else {
$validatedData['no_hp_orang_tua'] = 'required|different:no_hp_orang_tua|unique:siswas,no_hp_siswa';
}
if($request->email == $siswa->user->email) {
$validatedData['email'] = 'required';
} else {
$validatedData['email'] = 'required|unique:users,email';
}
$request->validate($validatedData, [
// 'email.required' => 'Email wajib diisi!',
// 'email.unique' => 'Email sudah pernah digunakan!',
// 'nama_siswa.required' => 'Nama Siswa wajib diisi!',
'no_identitas.required' => 'No identitas wajib diisi!',
'no_identitas.unique' => 'No Identitas sudah pernah digunakan!',
'jenis_kelamin.required' => 'Jenis Kelamin wajib diisi!',
'tempat_lahir.required' => 'Tempat Lahir Wajib diisi!',
'tanggal_lahir.required' => 'Tanggal Lahir Wajib diisi!',
'alamat_siswa.required' => 'Alamat wajib diisi!',
// 'no_telp_rumah' => 'No Telp Rumah Wajib diisi!',
'no_hp_siswa.required' => 'No Hp Siswa Wajib diisi!',
'no_hp_siswa.unique' => 'No.Whatsapp Siswa sudah pernah digunakan!',
'no_hp_siswa.different' => 'No.Whatsapp Siswa tidak boleh sama dengan No Hp Orang tua!',
'agama.required' => 'Agama wajib diisi!',
'asal_sekolah.required' => 'Asal Sekolah wajib diisi!',
'jurusan_sekolah.required' => 'Jurusan Sekolah wajib diisi!',
'tingkatan_sekolah.required' => 'Tingkatan Sekolah wajib diisi!',
'tahun_lulus_sekolah.required' => 'Tahun Lulus Sekolah Wajib diisi!',
'nama_orang_tua.required' => 'Nama Orang Tua wajib diisi!',
'alamat_orang_tua.required' => 'Alamat orang tua wajib diisi!',
'no_hp_orang_tua.required' => 'No Hp Orang tua wajib diisi!',
'no_hp_orang_tua.unique' => 'No Hp Orang tua sudah pernah digunakan!',
'no_hp_orang_tua.different' => 'No Hp Orang tua tidak boleh sama dengan No.Whatsapp Siswa!',
'foto_siswa.required' => 'Foto Siswa wajib diupload!',
'foto_orang_tua.required' => 'Foto Orang Tua wajib diupload!',
// 'grup_pengguna.required' => 'Grup Pengguna wajib diisi!',
// 'jabatan.required' => 'Jabatan wajib diisi!',
// 'cabang.required' => 'Cabang wajib diisi!',
// 'tahun_ajaran.required' => 'Tahun Ajaran wajib diisi!',
// 'gelombang.required' => 'Gelombang wajib diisi!',
]);
}
if(isset($request->randomNumber)) {
$pesan = "Siswa bernama ".$request->nama_siswa." dengan nomor identitas ".$request->no_identitas." ini adalah nomor OTP anda untuk melanjutkan registrasi : ".$request->randomNumber;
WaHelpers::sendWa($request->no_hp_siswa, $pesan);
// return response()->json([
// 'data' => 1111,
// 'validate' => $request->no_hp_siswa,
// ]);
$data = [
'name' => 'Untuk '.$request->nama_siswa,
'body' => $pesan,
];
Mail::to($request->email)->send(new KonfirmasiEmail($data));
return response()->json([
'data' => $request->randomNumber,
'validate' => $request->no_hp_siswa,
]);
}
DB::beginTransaction();
try {
$siswa = Siswa::where('user_id', FacadesAuth::user()->id)->update([
'no_identitas' => $request->no_identitas ?? null,
'jenis_kelamin' => $request->jenis_kelamin ?? null,
'tempat_lahir' => $request->tempat_lahir ?? null,
'tanggal_lahir' => $request->tanggal_lahir ?? null,
'alamat_siswa' => $request->alamat_siswa ?? null,
'no_telp_rumah' => $request->no_telp_rumah ?? null,
'no_hp_siswa' => $request->no_hp_siswa ?? null,
'agama' => $request->agama ?? null,
'asal_sekolah' => $request->asal_sekolah,
'jurusan_sekolah' => $request->jurusan_sekolah,
'tingkatan_sekolah' => $request->tingkatan_sekolah,
'tahun_lulus_sekolah' => $request->tahun_lulus_sekolah,
'nama_orang_tua' => $request->nama_orang_tua,
'alamat_orang_tua' => $request->alamat_orang_tua,
'no_hp_orang_tua' => $request->no_hp_orang_tua,
'foto_siswa' => $request->foto_siswa ? 'storage/'.$request->foto_siswa->store('foto_siswa', 'public') : null,
'foto_orang_tua' => 'storage/'.$request->foto_orang_tua->store('foto_orang_tua', 'public'),
'cabang' => $request->cabang,
'tahun_ajaran' => $request->tahun_ajaran,
'gelombang' => $request->gelombang,
]);
DB::commit();
$request->session()->regenerate();
$pesan = "Siswa bernama ".$request->nama_siswa." dengan nomor identitas ".$request->no_identitas." telah melengkapi data pengguna!!";
WaHelpers::sendWa($request->no_hp_siswa, $pesan);
Helper::notifikasi($pesan, FacadesAuth::user()->id, 'Siswa');
return redirect()->route('dashboard')->with('success', "Berhasil Mendaftar");
} catch (\Throwable $th) {
//throw $th;
DB::rollback();
return back()->with('error','Gagal menambahkan user : ' . $th->getMessage())->withInput();
}
}
public function index()
{
if(!Auth()->user()->can('view '.$this->menu)){
return back()->with('error', 'Anda Tidak Memiliki Hak Akses Untuk Membuka Halaman Ini');
}
$breadcrumbs = $this->breadcrumbs;
$title = $this->title;
$url = $this->url;
$menu = $this->menu;
$datas = User::role('Siswa')->get();
return view('pages.siswa.index', compact('title', 'url', 'menu', 'datas', 'breadcrumbs'));
}
/**
* Show the form for creating a new resource.
*/
public function create()
{
if(!Auth()->user()->can('create '.$this->menu)){
return back()->with('error', 'Anda Tidak Memiliki Hak Akses Untuk Membuka Halaman Ini');
}
$breadcrumbs = $this->breadcrumbs;
$title = $this->title;
$url = $this->url;
$menu = $this->menu;
$datas = User::all();
return view('pages.siswa.create', compact('title', 'url', 'menu', 'datas', 'breadcrumbs'));
}
/**
* Store a newly created resource in storage.
*/
public function store(Request $request)
{
if(!Auth()->user()->can('create '.$this->menu)){
return back()->with('error', 'Anda Tidak Memiliki Hak Akses Untuk Membuka Halaman Ini');
}
if ($request->password != $request->c_password) {
return back()->with('error', 'Mohon Periksa Kembali Password Yang Anda Masukkan')->withInput();
}
$request->validate([
'email' => 'required|unique:users,email',
'nama_siswa' => 'required',
'no_identitas' => 'required',
'jenis_kelamin' => 'required',
'tempat_lahir' => 'required',
'tanggal_lahir' => 'required',
'alamat_siswa' => 'required',
'no_telp_rumah' => 'required',
'no_hp_siswa' => 'required',
'agama' => 'required',
'asal_sekolah' => 'required',
'jurusan_sekolah' => 'required',
'tingkatan_sekolah' => 'required',
'tahun_lulus_sekolah' => 'required',
'password' => 'required',
'c_password' => 'required|same:password',
'nama_orang_tua' => 'required',
'alamat_orang_tua' => 'required',
'no_hp_orang_tua' => 'required',
'foto_siswa' => 'required',
]);
DB::beginTransaction();
try {
$user = User::create([
'nama' => $request->nama_siswa,
'email' => $request->email,
'password' => bcrypt($request->password),
]);
$user->assignRole('Siswa');
$siswa = Siswa::create([
'user_id' => $user->id,
'no_identitas' => $request->no_identitas,
'nama_siswa' => $request->nama_siswa,
'jenis_kelamin' => $request->jenis_kelamin,
'tempat_lahir' => $request->tempat_lahir,
'tanggal_lahir' => $request->tanggal_lahir,
'alamat_siswa' => $request->alamat_siswa,
'no_telp_rumah' => $request->no_telp_rumah,
'no_hp_siswa' => $request->no_hp_siswa,
'agama' => $request->agama,
'asal_sekolah' => $request->asal_sekolah,
'jurusan_sekolah' => $request->jurusan_sekolah,
'tingkatan_sekolah' => $request->tingkatan_sekolah,
'tahun_lulus_sekolah' => $request->tahun_lulus_sekolah,
'nama_orang_tua' => $request->nama_orang_tua,
'alamat_orang_tua' => $request->alamat_orang_tua,
'no_hp_orang_tua' => $request->no_hp_orang_tua,
'foto_siswa' => 'storage/'.$request->foto_siswa->store('foto_siswa', 'public'),
]);
DB::commit();
return redirect()->route('siswa.index')->with('success','Berhasil menambahkan '.$this->title);
} catch (\Throwable $th) {
//throw $th;
DB::rollback();
Log::error($th);
return back()->with('error','Gagal menambahkan '.$this->title.' : ' . $th->getMessage())->withInput();
}
}
/**
* Display the specified resource.
*/
public function show(Siswa $siswa)
{
}
public function profil() {
if(Auth()->user()->siswa) {
$data['title'] = $this->title;
$data['url'] = $this->url;
$data['menu'] = $this->menu;
// $data['siswa'] = Siswa::where('user_id', $id)->first();
$data['pendaftaran'] = Pendaftaran::where('siswa_id', Auth()->user()->siswa->id)->first();
$data['user'] = Auth()->user();
if($data['pendaftaran']) {
return view('pages.profil.show', $data);
// return view('auth.profil', $data);
} else {
return back()->with('error', 'Selesaikan Registrasi dulu!');
}
} else {
return back()->with('error', 'Anda bukan Siswa!');
}
}
public function updateProfil(Request $request)
{
$id = base64_decode($request->id);
$user = User::find($id);
if(!$user) {
return response()->json([
'status' => false,
'message' => "Tidak Tersedia!",
]);
}
// $request->validate([
// 'nama' => 'required',
// 'username' => 'required|unique:users,username,'.$user->id,
// 'email' => 'required|unique:users,email,'.$user->id,
// 'no_telp' => 'required',
// 'negara' => 'required',
// 'pendidikan_terakhir' => 'required',
// 'password' => 'nullable|string',
// ]);
DB::beginTransaction();
try {
// if($request->password){
// if ($request->password != $request->c_password) {
// return back()->with('error', 'Mohon Periksa Kembali Password Yang Anda Masukkan')->withInput();
// }
// $user->update([
// 'password' => bcrypt($request->password),
// ]);
// }
// $user->update([
// 'nama' => $request->nama,
// 'username' => $request->username,
// 'email' => $request->email,
// 'no_telp' => $request->no_telp,
// 'negara' => $request->negara,
// 'pendidikan_terakhir' => $request->pendidikan_terakhir,
// ]);
$siswa = Siswa::where('user_id', $user->id)->first();
$siswa->user->update([
'nama' => $request->nama_siswa,
'email' => $request->email,
]);
// $siswa->update([
// 'no_identitas' => $request->no_identitas,
// 'nama_siswa' => $request->nama_siswa,
// 'jenis_kelamin' => $request->jenis_kelamin,
// 'tempat_lahir' => $request->tempat_lahir,
// 'tanggal_lahir' => $request->tanggal_lahir,
// 'alamat_siswa' => $request->alamat_siswa,
// 'no_telp_rumah' => $request->no_telp_rumah,
// 'no_hp_siswa' => $request->no_hp_siswa,
// 'agama' => $request->agama,
// 'asal_sekolah' => $request->asal_sekolah,
// 'jurusan_sekolah' => $request->jurusan_sekolah,
// 'tingkatan_sekolah' => $request->tingkatan_sekolah,
// 'tahun_lulus_sekolah' => $request->tahun_lulus_sekolah,
// 'nama_orang_tua' => $request->nama_orang_tua,
// 'alamat_orang_tua' => $request->alamat_orang_tua,
// 'no_hp_orang_tua' => $request->no_hp_orang_tua,
// ]);
$siswa->update([
'no_identitas' => $request->no_identitas,
// 'jenis_kelamin' => $request->jenis_kelamin,
'tempat_lahir' => $request->tempat_lahir,
'tanggal_lahir' => $request->tanggal_lahir,
'alamat_siswa' => $request->alamat_siswa,
'no_telp_rumah' => $request->no_telp_rumah,
'no_hp_siswa' => $request->no_hp_siswa,
// 'agama' => $request->agama,
'asal_sekolah' => $request->asal_sekolah,
'jurusan_sekolah' => $request->jurusan_sekolah,
// 'tingkatan_sekolah' => $request->tingkatan_sekolah,
'tahun_lulus_sekolah' => $request->tahun_lulus_sekolah,
'nama_orang_tua' => $request->nama_orang_tua,
'alamat_orang_tua' => $request->alamat_orang_tua,
'no_hp_orang_tua' => $request->no_hp_orang_tua,
// 'foto_siswa' => 'storage/'.$request->foto_siswa->store('foto_siswa', 'public'),
// 'foto_orang_tua' => 'storage/'.$request->foto_orang_tua->store('foto_orang_tua', 'public'),
]);
if($request->foto_siswa) {
$siswa->update([
'foto_siswa' => 'storage/'.$request->foto_siswa->store('foto_siswa', 'public'),
]);
}
if($request->foto_orang_tua) {
$siswa->update([
'foto_orang_tua' => 'storage/'.$request->foto_orang_tua->store('foto_orang_tua', 'public'),
]);
}
DB::commit();
if(isset($request->mobile)) {
return redirect('sakura')->with('notif','Berhasil mengubah user dan mohon menutup laman ini dengan menekan tombol back dipojok kiri atas!');
} else {
return redirect()->route('dashboard')->with('success','Berhasil mengubah user');
}
} catch (\Throwable $th) {
//throw $th;
DB::rollback();
Log::error($th);
return back()->with('error','Gagal mengubah profil : ' . $th->getMessage())->withInput();
}
}
/**
* Show the form for editing the specified resource.
*/
public function edit(Siswa $siswa)
{
if(!Auth()->user()->can('edit '.$this->menu)){
return back()->with('error', 'Anda Tidak Memiliki Hak Akses Untuk Membuka Halaman Ini');
}
$breadcrumbs = $this->breadcrumbs;
$title = $this->title;
$url = $this->url;
$menu = $this->menu;
return view('pages.siswa.edit', compact('title', 'url', 'menu', 'siswa', 'breadcrumbs'));
}
/**
* Update the specified resource in storage.
*/
public function update(Request $request, Siswa $siswa)
{
if(!Auth()->user()->can('edit '.$this->menu)){
return back()->with('error', 'Anda Tidak Memiliki Hak Akses Untuk Membuka Halaman Ini');
}
// $request->validate([
// 'email' => 'required|unique:users,email,'.$siswa->id,
// 'nama_siswa' => 'required',
// 'no_identitas' => 'required',
// 'jenis_kelamin' => 'required',
// 'tempat_lahir' => 'required',
// 'tanggal_lahir' => 'required',
// 'alamat_siswa' => 'required',
// 'no_telp_rumah' => 'required',
// 'no_hp_siswa' => 'required',
// 'agama' => 'required',
// 'asal_sekolah' => 'required',
// 'jurusan_sekolah' => 'required',
// 'tingkatan_sekolah' => 'required',
// 'tahun_lulus_sekolah' => 'required',
// 'nama_orang_tua' => 'required',
// 'alamat_orang_tua' => 'required',
// 'no_hp_orang_tua' => 'required',
// ]);
$validatedData =
[
'nama_siswa' => 'required',
// 'no_identitas' => 'required|unique:siswas,no_identitas',
'jenis_kelamin' => 'required',
'tempat_lahir' => 'required',
'tanggal_lahir' => 'required',
'alamat_siswa' => 'required',
'agama' => 'required',
'asal_sekolah' => 'required',
'jurusan_sekolah' => 'required',
'tingkatan_sekolah' => 'required',
'tahun_lulus_sekolah' => 'required',
'nama_orang_tua' => 'required',
'alamat_orang_tua' => 'required',
// 'foto_siswa' => 'required',
// 'foto_orang_tua' => 'required',
// 'no_telp_rumah' => 'required',
// 'grup_pengguna' => 'required',
// 'jabatan' => 'required',
// 'cabang' => 'required',
// 'tahun_ajaran' => 'required',
// 'gelombang' => 'required',
// 'password' => 'required',
// 'c_password' => 'required|same:password',
];
if($request->no_hp_siswa == $siswa->no_hp_siswa) {
$validatedData['no_hp_siswa'] = 'required';
} else {
$validatedData['no_hp_siswa'] = 'required|different:no_hp_orang_tua|unique:siswas,no_hp_siswa';
}
if($request->no_hp_orang_tua == $siswa->no_hp_orang_tua) {
$validatedData['no_hp_orang_tua'] = 'required';
} else {
$validatedData['no_hp_orang_tua'] = 'required|different:no_hp_orang_tua|unique:siswas,no_hp_siswa';
}
if($request->email == $siswa->user->email) {
$validatedData['email'] = 'required';
} else {
$validatedData['email'] = 'required|unique:users,email';
}
if($request->no_identitas == $siswa->no_identitas) {
$validatedData['no_identitas'] = 'required';
} else {
$validatedData['no_identitas'] = 'required|unique:siswas,no_identitas';
}
$request->validate($validatedData, [
'email.required' => 'Email wajib diisi!',
'email.unique' => 'Email sudah pernah digunakan!',
'nama_siswa.required' => 'Nama Siswa wajib diisi!',
'no_identitas.required' => 'No identitas wajib diisi!',
'no_identitas.unique' => 'No Identitas sudah pernah digunakan!',
'jenis_kelamin.required' => 'Jenis Kelamin wajib diisi!',
'tempat_lahir.required' => 'Tempat Lahir Wajib diisi!',
'tanggal_lahir.required' => 'Tanggal Lahir Wajib diisi!',
'alamat_siswa.required' => 'Alamat wajib diisi!',
// 'no_telp_rumah' => 'No Telp Rumah Wajib diisi!',
'no_hp_siswa.required' => 'No Hp Siswa Wajib diisi!',
'no_hp_siswa.unique' => 'No.Whatsapp Siswa sudah pernah digunakan!',
'no_hp_siswa.different' => 'No.Whatsapp Siswa tidak boleh sama dengan No Hp Orang tua!',
'agama.required' => 'Agama wajib diisi!',
'asal_sekolah.required' => 'Asal Sekolah wajib diisi!',
'jurusan_sekolah.required' => 'Jurusan Sekolah wajib diisi!',
'tingkatan_sekolah.required' => 'Tingkatan Sekolah wajib diisi!',
'tahun_lulus_sekolah.required' => 'Tahun Lulus Sekolah Wajib diisi!',
'nama_orang_tua.required' => 'Nama Orang Tua wajib diisi!',
'alamat_orang_tua.required' => 'Alamat orang tua wajib diisi!',
'no_hp_orang_tua.required' => 'No Hp Orang tua wajib diisi!',
'no_hp_orang_tua.unique' => 'No Hp Orang tua sudah pernah digunakan!',
'no_hp_orang_tua.different' => 'No Hp Orang tua tidak boleh sama dengan No.Whatsapp Siswa!',
'foto_siswa.required' => 'Foto Siswa wajib diupload!',
'foto_orang_tua.required' => 'Foto Orang Tua wajib diupload!',
// 'grup_pengguna.required' => 'Grup Pengguna wajib diisi!',
// 'jabatan.required' => 'Jabatan wajib diisi!',
// 'cabang.required' => 'Cabang wajib diisi!',
// 'tahun_ajaran.required' => 'Tahun Ajaran wajib diisi!',
// 'gelombang.required' => 'Gelombang wajib diisi!',
]);
DB::beginTransaction();
try {
// if($request->password){
// if ($request->password != $request->c_password) {
// return back()->with('error', 'Mohon Periksa Kembali Password Yang Anda Masukkan')->withInput();
// }
// $siswa->user->update([
// 'password' => bcrypt($request->password),
// ]);
// }
$siswa->user->update([
'nama' => $request->nama_siswa,
'email' => $request->email,
]);
// $siswa->update([
// 'no_identitas' => $request->no_identitas,
// 'nama_siswa' => $request->nama_siswa,
// 'jenis_kelamin' => $request->jenis_kelamin,
// 'tempat_lahir' => $request->tempat_lahir,
// 'tanggal_lahir' => $request->tanggal_lahir,
// 'alamat_siswa' => $request->alamat_siswa,
// 'no_telp_rumah' => $request->no_telp_rumah,
// 'no_hp_siswa' => $request->no_hp_siswa,
// 'agama' => $request->agama,
// 'asal_sekolah' => $request->asal_sekolah,
// 'jurusan_sekolah' => $request->jurusan_sekolah,
// 'tingkatan_sekolah' => $request->tingkatan_sekolah,
// 'tahun_lulus_sekolah' => $request->tahun_lulus_sekolah,
// 'nama_orang_tua' => $request->nama_orang_tua,
// 'alamat_orang_tua' => $request->alamat_orang_tua,
// 'no_hp_orang_tua' => $request->no_hp_orang_tua,
// ]);
$siswa->update([
'no_identitas' => $request->no_identitas,
'jenis_kelamin' => $request->jenis_kelamin,
'tempat_lahir' => $request->tempat_lahir,
'tanggal_lahir' => $request->tanggal_lahir,
'alamat_siswa' => $request->alamat_siswa,
'no_telp_rumah' => $request->no_telp_rumah,
'no_hp_siswa' => $request->no_hp_siswa,
'agama' => $request->agama,
'asal_sekolah' => $request->asal_sekolah,
'jurusan_sekolah' => $request->jurusan_sekolah,
'tingkatan_sekolah' => $request->tingkatan_sekolah,
'tahun_lulus_sekolah' => $request->tahun_lulus_sekolah,
'nama_orang_tua' => $request->nama_orang_tua,
'alamat_orang_tua' => $request->alamat_orang_tua,
'no_hp_orang_tua' => $request->no_hp_orang_tua,
// 'foto_siswa' => 'storage/'.$request->foto_siswa->store('foto_siswa', 'public'),
// 'foto_orang_tua' => 'storage/'.$request->foto_orang_tua->store('foto_orang_tua', 'public'),
]);
if($request->foto_siswa) {
$siswa->update([
'foto_siswa' => 'storage/'.$request->foto_siswa->store('foto_siswa', 'public'),
]);
}
if($request->foto_orang_tua) {
$siswa->update([
'foto_orang_tua' => 'storage/'.$request->foto_orang_tua->store('foto_orang_tua', 'public'),
]);
}
DB::commit();
return redirect()->route('siswa.index')->with('success','Berhasil mengubah ' . $this->title);
} catch (\Throwable $th) {
//throw $th;
DB::rollback();
Log::error($th);
return back()->with('error','Gagal mengubah '.$this->title.' : ' . $th->getMessage())->withInput();
}
}
/**
* Remove the specified resource from storage.
*/
public function destroy(Siswa $siswa)
{
if(!Auth()->user()->can('delete '.$this->menu)){
return back()->with('error', 'Anda Tidak Memiliki Hak Akses Untuk Membuka Halaman Ini');
}
DB::beginTransaction();
try {
$siswa->user->syncRoles([]);
$user = $siswa->user;
$siswa->delete();
$user->delete();
DB::commit();
return redirect()->route('siswa.index')->with('success','Berhasil menghapus ' . $this->title);
} catch (\Throwable $th) {
//throw $th;
DB::rollback();
Log::error($th);
return redirect()->route('siswa.index')->with('error','Gagal menghapus '.$this->title.' : ' . $th->getMessage());
}
}
}
Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]