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 @@ - Login - Sekolah Adiwiyata + Login - SIDIA Jakarta diff --git a/resources/views/auth/register.blade.php b/resources/views/auth/register.blade.php index e86a151..60eed1f 100644 --- a/resources/views/auth/register.blade.php +++ b/resources/views/auth/register.blade.php @@ -3,7 +3,7 @@ - Register - Sekolah Adiwiyata + Register - SIDIA Jakarta @@ -310,7 +310,9 @@ $.each(data, function(index, data){ $('#result').append('
  • ' + data.nama_sekolah + '
  • '); }); + } else { + $('.nama_sekolah').removeAttr('readonly'); $('#result').hide(); } } @@ -325,6 +327,7 @@ var npsn = $(this).attr('data-npsn'); $('.npsn').val(npsn); + $('.nama_sekolah').attr('readonly',true); $('.nama_sekolah').val($(this).text()); $('#result').hide(); }); diff --git a/resources/views/layouts/blank.blade.php b/resources/views/layouts/blank.blade.php new file mode 100644 index 0000000..c712fbe --- /dev/null +++ b/resources/views/layouts/blank.blade.php @@ -0,0 +1,29 @@ + + + + + Lengkapi Profile - SIDIA Jakarta + + + + + + + + + + + + + + + + + + @yield('css') + + + @yield('content') + @yield('js') + + diff --git a/resources/views/layouts/master.blade.php b/resources/views/layouts/master.blade.php index 4afa7d8..bb93faf 100644 --- a/resources/views/layouts/master.blade.php +++ b/resources/views/layouts/master.blade.php @@ -3,7 +3,7 @@ - {{$title}} - Sekolah Adiwiyata + {{$title}} - SIDIA Jakarta diff --git a/resources/views/modules/profile/lengkapi.blade.php b/resources/views/modules/profile/lengkapi.blade.php new file mode 100644 index 0000000..4a082be --- /dev/null +++ b/resources/views/modules/profile/lengkapi.blade.php @@ -0,0 +1,425 @@ +@extends('layouts.blank') +@section('css') + +@endsection +@section('content') +
    +
    +
    +
    +
    + @include('include.alert') +
    +
    +
    +
    + + +
    +
    +
    Form Kelengkapan Data Profile Sekolah
    +
    +
    +
    +
    +
    +
    +
    Info:
    +
      +
    • Pastikan NPSN yang diisi benar
    • +
    • Pastikan kembali untuk Wilayah,Provinsi,Kecamatan,Kabupaten sesuai dengan data sekolah
    • +
    +
    +
    +
    +
    +
    Data User Pendaftar:
    +
      +
    • Nama Lengkap : {{session('kontak_person')}}
    • +
    • Telp : {{session('telp')}}
    • +
    • Email : {{$user->email}}
    • +
    +
    +
    +
    +
    + {{csrf_field()}} +
    + +
    +
    +
    + +
    + + @error('name') + {{$message}} + @enderror +
    +
    +
    +
    +
    + +
    + +
      + @error('npsn') + {{$message}} + @enderror +
      +
      +
      +
      + +
      +
      +
      + +
      + + @error('tingkat_sekolah') + {{$message}} + @enderror +
      +
      +
      +
      +
      + +
      + + @error('status_sekolah') + {{$message}} + @enderror +
      +
      +
      +
      + +
      +
      +
      + +
      + + @error('provinsi') + {{$message}} + @enderror +
      +
      +
      +
      +
      + +
      + +
      +
      +
      +
      + +
      +
      + +
      + +
      + +
      +
      + +
      + +
      + + @error('alamat_sekolah') + {{$message}} + @enderror +
      +
      +
      +
      + +
      +
      +
      + +
      +
      +
      + +
      +
      +

      + {{date('Y')}} © Dinas Lingkungan Hidup DKI Jakarta +

      +
      +
      +
      +
      +
      +
      +
      +
      +@endsection +@section('js') + + + + +@endsection \ No newline at end of file diff --git a/routes/web.php b/routes/web.php index 72b73f1..4b96f35 100644 --- a/routes/web.php +++ b/routes/web.php @@ -2,8 +2,10 @@ use Illuminate\Support\Facades\Route; use App\Http\Middleware\Session; +use App\Http\Middleware\Profile; use App\Http\Controllers\Auth\CustomLoginController; use App\Http\Controllers\Auth\CustomRegisterController; +use App\Http\Controllers\ProfileController; use App\Http\Controllers\HomeController; use App\Http\Controllers\AjaxController; use App\Http\Controllers\FrontController; @@ -32,13 +34,16 @@ Route::post('uploadTempImage', [AjaxController::class, 'uploadTempImage'])->name Route::get('hash/{hash}', function ($hash) { return Hash::make($hash); }); -Route::middleware(Session::class)->name('modules.')->group(function () { - +Route::middleware([Session::class,Profile::class])->name('modules.')->group(function () { include_route_files(__DIR__ . '/modules'); - Route::get('logout',[CustomLoginController::class,'logout'])->name('logout'); }); +Route::middleware([Session::class])->name('modules.')->group(function () { + Route::get('profile-sekolah/lengkapi/{npsn}',[ProfileController::class,'lengkapi'])->name('profile.lengkapi'); + Route::post('profile-sekolah/lengkapi',[ProfileController::class,'updateLengkapi'])->name('profile.updateLengkapi'); +}); + Route::get('/',[FrontController::class,'index'])->name('index'); Route::get('/sekolah',[FrontController::class,'sekolah'])->name('sekolah'); Route::get('/kegiatan',[FrontController::class,'kegiatan'])->name('kegiatan');