diff --git a/app/Http/Controllers/ProfileController.php b/app/Http/Controllers/ProfileController.php index d44f9a8..220dcf2 100644 --- a/app/Http/Controllers/ProfileController.php +++ b/app/Http/Controllers/ProfileController.php @@ -12,13 +12,79 @@ use App\Models\Kuesioner; use App\Models\KuesionerLog; use App\Models\Master\Sekolah; use App\Models\Master\Provinsi; +use App\Models\Master\MasterGroup; +use App\Models\Master\Kabupaten; use App\Models\SK; +use App\Models\User; class ProfileController extends Controller { protected $template = 'modules.profile'; protected $route = 'modules.profile'; + function profile(){ + permission('is_read', $this->route, 'module',true); + + $data['breadcrumbs'] = [ + ['name' => 'Dashboard','url' => url('dashboard')], + ['name' => 'Profile','active' => true], + ]; + $data['title'] = 'Profile'; + $data['route'] = $this->route; + $data['keyId'] = encode_id(auth()->user()->id); + $data['item'] = User::with('profile')->where('id',auth()->user()->id)->first(); + $data['group'] = MasterGroup::where('MsGroupId','!=',1)->get(); + $data['kabupaten'] = Kabupaten::all(); + return view($this->template.'.profile', $data); + } + + function profileStore(Request $request) { + try { + + $keyId = decode_id($request->secure_id); + + if(@$keyId){ + + Validator::make($request->all(), [ + 'name' => 'required', + 'status_sekolah' => 'required', + 'alamat_sekolah' => 'required', + 'kontak_person' => 'required', + 'telp' => 'required', + 'password' => 'nullable|min:8|max:15|regex:/[a-z]/|regex:/[A-Z]/|regex:/[0-9]/|regex:/[@$!%*#?&]/', //min 8 char, maks 15 char, min 1 symbol, min 1 uppercase, min 1 lowercase, 1 number + ],[ + 'password.min' => 'password Minimal 8 Karakter', + 'password.max' => 'password Maksimal 15 Karakter', + 'password.regex' => 'Format Kata Sandi harus mengandung minimal Huruf Besar, Huruf Kecil, Angka, Spesial Karakter', + ])->validate(); + + $profile = Profile::where('npsn',auth()->user()->profile->npsn)->first(); + $profile->alamat_sekolah = $request->alamat_sekolah; + $profile->kontak_person = $request->kontak_person; + $profile->telp = $request->telp; + $profile->save(); + + $user = User::find($keyId); + if(@$request->password){ + $user->password = Hash::make($request->password); + } + $user->name = $request->name; + $user->save(); + } + + return redirect()->back()->with([ + 'message' => 'Berhasil update data', + 'type' => 'success', + ]); + + } catch (Exception $e) { + return redirect()->back()->with([ + 'message' => $e->getMessage(), + 'type' => "error" + ]); + } + } + public function index() { permission('is_read', $this->route, 'module',true); diff --git a/resources/views/include/header.blade.php b/resources/views/include/header.blade.php index c2f110b..0a69f45 100644 --- a/resources/views/include/header.blade.php +++ b/resources/views/include/header.blade.php @@ -12,7 +12,7 @@