diff --git a/app/Http/Controllers/MembersController.php b/app/Http/Controllers/MembersController.php index 0338b2c905f5d333de101f1300a7de4145616d06..a920dec81d620351da664a2a0f9ab5976e986c8e 100644 --- a/app/Http/Controllers/MembersController.php +++ b/app/Http/Controllers/MembersController.php @@ -135,13 +135,27 @@ class MembersController extends Controller if(!($isMember || $isAdmin)) return redirect('/'); - + if($isAdmin){ + $this->validate($request, [ + 'email' => + array( + 'required', + 'regex:/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}/'), + 'phone_number' => + array( + 'required', + 'regex:/^[0-9]+$/'), + 'company' => 'required', + 'interest' => 'required', + 'profile_image' => 'image|nullable|max:1999' + ]); + }else{ $this->validate($request, [ //'email' => // array( // 'required', // 'regex:/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}/'), - 'phone_number' => + 'phone_number' => array( 'required', 'regex:/^[0-9]+$/'), @@ -149,7 +163,7 @@ class MembersController extends Controller 'interest' => 'required', 'profile_image' => 'image|nullable|max:1999' ]); - + } if($request->hasFile('profile_image')){ $fileNameWithExt = $request->file('profile_image')->getClientOriginalName(); $fileName = pathinfo($fileNameWithExt, PATHINFO_FILENAME); @@ -160,7 +174,12 @@ class MembersController extends Controller } $user = Member::find($id); - //$user->temp_email = $request->input('email'); + if($isAdmin){ + $providerUser = $user->accounts()->where('provider_name','=','google')->first(); + if($providerUser != null) + $providerUser->delete(); + $user->email = $request->input('email'); + } $user->phone_number = $request->input('phone_number'); $user->company = $request->input('company'); $user->interest = $request->input('interest'); @@ -173,21 +192,7 @@ class MembersController extends Controller } $user->save(); - /*if($user->email != $user->temp_email){ - $provider = $user->accounts()->where('provider_name','=','google')->first(); - if($user->verifyToken != null) - $user->verifyToken->delete(); - - if($provider != null) - $provider->delete(); - - $token = $user->verifyToken()->create([ - 'token' => sha1(time()) - ]); - Mail::to($user)->send(new SendReverificationEmail($token)); - return redirect('/members/' . $id)->with('success', 'Profile Updated. Confirmation code has been sent to new email.'); - }else{*/ - if ($isAdmin) { + if($isAdmin){ return redirect('/admin/members/' . $id)->with('success', 'Profile Updated'); } else { return redirect('/members/' . $id)->with('success', 'Profile Updated'); @@ -210,6 +215,11 @@ class MembersController extends Controller $user = Member::find($id); if($user !== null) { + $user->accounts()->delete(); + $user->verifyToken()->delete(); + $user->rate_answers()->detach(); + $user->questions()->delete(); + $user->answers()->delete(); $user->delete(); return redirect('/admin/members')->with('error', 'Member Deleted'); } else { diff --git a/app/SocialAccountService.php b/app/SocialAccountService.php index 76a702d525e58de7e2c6f0a41e39c1adae6e29c5..5785d91788df22332f14c1b77931369c5cef3384 100644 --- a/app/SocialAccountService.php +++ b/app/SocialAccountService.php @@ -97,10 +97,12 @@ class SocialAccountService $user->id = -1; $user->verified = false; } else { + if($account == null){ $user->accounts()->create([ 'provider_id' => $providerUser->getId(), 'provider_name' => $provider, ]); + } if($provider == "google" && $user->verified == false){ $tempUser = new Member; @@ -112,7 +114,9 @@ class SocialAccountService Mail::to($user)->send(new SendVerificationEmail($token)); $tempUser->id = -2; return $tempUser; - } + }else{ + $user->verifyToken->delete(); + } $tempUser->id = -3; return $tempUser; } diff --git a/resources/views/admin/editprofile.blade.php b/resources/views/admin/editprofile.blade.php index 73fb52f7cbeadcb02902885bbb34e466923b0e17..5cabf0f4e1da5399584b8fa197dabdb303e879c9 100644 --- a/resources/views/admin/editprofile.blade.php +++ b/resources/views/admin/editprofile.blade.php @@ -26,6 +26,13 @@ <br> </td> </tr> + <tr> + <td>Email</td> + <td> + {{Form::text('email', $user->email, ['class' => 'form-control'])}} + </td> + </tr> + <tr> <td>Phone Number</td> <td> diff --git a/resources/views/admin/profile.blade.php b/resources/views/admin/profile.blade.php index c81d12e9c81e0c9c1081efdb3836e8f23a1015b5..dae0c50acbd3cef4f2d432dc158ca4e1edabe892 100644 --- a/resources/views/admin/profile.blade.php +++ b/resources/views/admin/profile.blade.php @@ -23,10 +23,10 @@ <td>Name</td> <td>{{$user->name}}</td> </tr> - <!--<tr> + <tr> <td>Email</td> - <td><a href="mailto:{{$user->email}}">{{$user->email}}</a></td> - </tr>--> + <td>{{$user->email}}</td> + </tr> <tr> <td>Phone Number</td> <td>{{$user->phone_number}} @@ -238,4 +238,4 @@ </section> </div> @endif -@endsection \ No newline at end of file +@endsection