diff --git a/app/Http/Controllers/Auth/CustomRegisterController.php b/app/Http/Controllers/Auth/CustomRegisterController.php index b169042..93c0cb1 100644 --- a/app/Http/Controllers/Auth/CustomRegisterController.php +++ b/app/Http/Controllers/Auth/CustomRegisterController.php @@ -26,6 +26,7 @@ class CustomRegisterController extends Controller { // dd($request->all()); + DB::beginTransaction(); try { Validator::make($request->all(), [ 'email' => 'required|unique:users|email', @@ -60,10 +61,37 @@ class CustomRegisterController extends Controller $sekolah = Sekolah::where('npsn',$request->npsn)->first(); if(!@$sekolah){ - return redirect('register')->with([ - 'message' => 'Maaf data sekolah tidak ditemukan, periksa kembali NPSN anda', - 'type' => "error" - ]); + + $user = new User; + $user->email = $request->email; + $user->username = $request->npsn; + $user->password = Hash::make($request->password); + $user->name = $request->name; + $user->ms_group_id = 2; + $user->save(); + + Auth::attempt(['username' => $request->npsn, 'password' => $request->password]); + + $session = [ + 'username' => $request->username, + 'name' => $user->name, + 'email' => $user->email, + 'sekolah_id' => @$user->profile->sekolah->MsSekolahId, + 'npsn' => @$request->npsn, + 'tingkat_sekolah' => @$user->profile->tingkat->name, + 'status_sekolah' => @$user->profile->status_sekolah, + 'alamat_sekolah' => @$request->alamat_sekolah, + 'kontak_person' => @$request->kontak_person, + 'telp' => @$request->telp, + 'currYear' => date('Y'), + 'group_id' => @$user->ms_group_id, + 'kabupaten_id' => @$user->ms_kabupaten_id, + 'group_alias' => @$user->group->alias, + 'group_name' => @$user->group->name, + ]; + session($session); + DB::commit(); + return redirect('profile-sekolah/lengkapi/'.encode_id($request->npsn)); } $user = new User; @@ -93,13 +121,45 @@ class CustomRegisterController extends Controller $group->ms_group_id = 2; //sekolah $group->save(); - return redirect('/login')->with([ - 'message' => 'Berhasil membuat akun baru, silahkan login', - 'type' => 'success', - ]); + + Auth::attempt(['username' => $request->npsn, 'password' => $request->password]); + + $session = [ + 'username' => $user->username, + 'name' => $user->name, + 'email' => $user->email, + 'sekolah_id' => @$user->profile->sekolah->MsSekolahId, + 'npsn' => @$user->profile->npsn, + 'tingkat_sekolah' => @$user->profile->tingkat->name, + 'status_sekolah' => @$user->profile->status_sekolah, + 'alamat_sekolah' => @$user->profile->alamat_sekolah, + 'kontak_person' => @$user->profile->kontak_person, + 'telp' => @$user->profile->telp, + 'currYear' => date('Y'), + 'group_id' => @$user->ms_group_id, + 'kabupaten_id' => @$user->ms_kabupaten_id, + 'group_alias' => @$user->group->alias, + 'group_name' => @$user->group->name, + ]; + session($session); + + DB::commit(); + + return redirect('dashboard')->with([ + 'message' => trans('Selamat datang kembali'), + 'type' => "success" + ]); + + + + // return redirect('/login')->with([ + // 'message' => 'Berhasil membuat akun baru, silahkan login', + // 'type' => 'success', + // ]); } catch (Exception $e) { + DB::rollBack(); return redirect('register')->with([ 'message' => $e->getMessage(), 'type' => "error" diff --git a/app/Http/Controllers/ProfileController.php b/app/Http/Controllers/ProfileController.php index 220dcf2..5f2c2b6 100644 --- a/app/Http/Controllers/ProfileController.php +++ b/app/Http/Controllers/ProfileController.php @@ -22,7 +22,81 @@ class ProfileController extends Controller protected $template = 'modules.profile'; protected $route = 'modules.profile'; + function lengkapi($npsn) { + permission('is_read', $this->route, 'module',true); + + $keyId = decode_id($npsn); + + $data['breadcrumbs'] = [ + ['name' => 'Dashboard','url' => url('dashboard')], + ['name' => 'Profile','active' => true], + ]; + $data['title'] = 'Profile'; + $data['route'] = $this->route; + $data['provinsi'] = Provinsi::where('kode_wilayah','010000')->get(); + $data['user'] = User::where('username',$keyId)->first(); + + + + return view($this->template.'.lengkapi',$data); + } + + function updateLengkapi(Request $request) { + + try { + DB::beginTransaction(); + Validator::make($request->all(), [ + 'name' => 'required', + 'status_sekolah' => 'required', + 'alamat_sekolah' => 'required', + 'npsn' => 'required', + 'tingkat_sekolah' => 'required', + "provinsi" => "required", + "kabupaten" => "required", + "kecamatan" => "required", + ])->validate(); + + $sekolah = new Sekolah; + $sekolah->ms_provinsi_id = decode_id($request->provinsi); + $sekolah->ms_kabupaten_id = decode_id($request->kabupaten); + $sekolah->ms_kecamatan_id = decode_id($request->kecamatan); + $sekolah->ms_tingkat_sekolah_id = $request->tingkat_sekolah; + $sekolah->status = $request->status_sekolah; + $sekolah->nama_sekolah = $request->name; + $sekolah->npsn = $request->npsn; + $sekolah->alamat_sekolah = $request->alamat_sekolah; + $sekolah->save(); + + //profile + + $profile = new Profile; + $profile->npsn = $request->npsn; + $profile->ms_tingkat_sekolah_id = $request->tingkat_sekolah; + $profile->status_sekolah = $request->status_sekolah; + $profile->alamat_sekolah = $request->alamat_sekolah; + $profile->ms_provinsi_id = decode_id($request->provinsi); + $profile->ms_kabupaten_id = decode_id($request->kabupaten); + $profile->ms_kecamatan_id = decode_id($request->kecamatan); + $profile->ms_sekolah_id = $sekolah->MsSekolahId; + $profile->kontak_person = session('kontak_person'); + $profile->telp = session('telp'); + $profile->user_id = auth()->user()->id; + $profile->save(); + + DB::commit(); + return redirect('dashboard'); + + } catch (Exception $e) { + DB::rollBack(); + return redirect()->back()->with([ + 'message' => $e->getMessage(), + 'type' => "error" + ]); + } + } + function profile(){ + permission('is_read', $this->route, 'module',true); $data['breadcrumbs'] = [ diff --git a/app/Http/Middleware/Profile.php b/app/Http/Middleware/Profile.php new file mode 100644 index 0000000..b58c900 --- /dev/null +++ b/app/Http/Middleware/Profile.php @@ -0,0 +1,26 @@ +where('id',auth()->user()->id)->first(); + if(!@$user->profile){ + return redirect('profile-sekolah/lengkapi/'.encode_id($user->username)); + } + return $next($request); + } +} diff --git a/public/assets/dinaspendidikan.png b/public/assets/dinaspendidikan.png new file mode 100644 index 0000000..fafeac3 Binary files /dev/null and b/public/assets/dinaspendidikan.png differ diff --git a/resources/views/auth/login.blade.php b/resources/views/auth/login.blade.php index 496781d..60ea977 100644 --- a/resources/views/auth/login.blade.php +++ b/resources/views/auth/login.blade.php @@ -3,7 +3,7 @@
+ + {{date('Y')}} © Dinas Lingkungan Hidup DKI Jakarta +
+