diff --git a/app/Http/Controllers/Auth/RegisterController.php b/app/Http/Controllers/Auth/RegisterController.php index 6f133cb7cb441f803574794dc45bbd32d6ce0cad..a15579ea0438930ef8e0dabfe1f305c81ded8a37 100644 --- a/app/Http/Controllers/Auth/RegisterController.php +++ b/app/Http/Controllers/Auth/RegisterController.php @@ -11,6 +11,7 @@ use App\Http\Controllers\Controller; use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Validator; use Illuminate\Foundation\Auth\RegistersUsers; +use Illuminate\Support\Facades\Session; use Illuminate\Support\Facades\Auth; use Illuminate\Http\Request; use Maatwebsite\Excel\Facades\Excel; @@ -100,21 +101,17 @@ class RegisterController extends Controller $username = $data['username']; $validator = $this->validateRegister($data); + $alert_success = []; + $alert_warning = []; + if ($validator->fails()) { $error_messages = json_decode($validator->errors(), true); foreach ($error_messages as $error_message) { - echo '<div class="alert alert-warning alert-dismissible fade show text-center"> - <button type="button" class="close" data-dismiss="alert">×</button>' - .$error_message[0].' - </div>'; + array_push($alert_warning, $error_message[0]); } - return view('auth.register'); } else if (KelasTesis::select('id')->count()==0) { - echo '<div class="alert alert-warning alert-dismissible fade show text-center"> - <button type="button" class="close" data-dismiss="alert">×</button> - Kelas Tesis is <strong>not available</strong>. Please make sure there is available Kelas Tesis. - </div>'; - return view('auth.register'); + $error_kelas_tesis = "Kelas Tesis is not available. Please make sure there is available Kelas Tesis."; + array_push($alert_warning, $error_kelas_tesis); } else { $user = $this->create($data); $role = $data['role']; @@ -126,12 +123,12 @@ class RegisterController extends Controller } else if($role == User::ROLE_MANAJER) { Manajer::create(['id'=>$user->id]); } - echo '<div class="alert alert-success alert-dismissible fade show text-center"> - <button type="button" class="close" data-dismiss="alert">×</button> - <strong>Success !</strong> New user has successfully registered! - </div>'; - return view('auth.register'); + $success_message = "Success! New user has successfully registered!"; + array_push($alert_success, $success_message); } + Session::flash('alert_success', $alert_success); + Session::flash('alert_warning', $alert_warning); + return redirect('/register'); } public function registerUsers(Request $request) { @@ -141,12 +138,13 @@ class RegisterController extends Controller $success = 0; $failed = 0; + $alert_success = []; + $alert_warning = []; + if (empty($file)) { - echo '<div class="alert alert-warning alert-dismissible fade show text-center"> - <button type="button" class="close" data-dismiss="alert">×</button> - File is <strong>failed</strong> to upload. - </div>'; - return view('auth.register'); + $file_not_uploaded_message = "File is failed to upload."; + array_push($alert_warning, $file_not_uploaded_message); + return redirect('/register'); } else if (($extension == 'xlsx') || ($extension == 'xls')) { $sheets = Excel::toArray(new UsersImport, $file); $head_rows = $sheets[0]; @@ -186,17 +184,15 @@ class RegisterController extends Controller } } if ($success) { - echo '<div class="alert alert-success alert-dismissible fade show text-center"> - <button type="button" class="close" data-dismiss="alert">×</button> - <strong>Success !</strong>'. $success . ' user(s) are added! - </div>'; + $success_message = "Success !'. $success . ' user(s) are added!"; + array_push($alert_success, $success_message); } if ($failed) { - echo '<div class="alert alert-warning alert-dismissible fade show text-center"> - <button type="button" class="close" data-dismiss="alert">×</button> - '. $failed.' user(s) are <strong>failed</strong> to add. - </div>'; + $failed_message = "$failed user(s) are failed to add."; + array_push($alert_warning, $failed_message); } - return view('auth.register'); + Session::flash('alert_success', $alert_success); + Session::flash('alert_warning', $alert_warning); + return redirect('/register'); } } diff --git a/resources/views/auth/register.blade.php b/resources/views/auth/register.blade.php index a377c8e7ad574f47ea36485cf873d8a7edb68d47..452a2aa2c218195fbf07ef50f9ec255aa2666f8e 100644 --- a/resources/views/auth/register.blade.php +++ b/resources/views/auth/register.blade.php @@ -1,6 +1,25 @@ @extends('layouts.app') +@if(Session::has('alert_success')) + @foreach (Session::get('alert_success') as $success) + <div class="alert alert-success alert-dismissible fade show text-center"> + <button type="button" class="close" data-dismiss="alert">×</button> + {{$success}} + </div> + @endforeach +@endif + +@if(Session::has('alert_warning')) + @foreach (Session::get('alert_warning') as $error) + <div class="alert alert-warning alert-dismissible fade show text-center"> + <button type="button" class="close" data-dismiss="alert">×</button> + {{$error}} + </div> + @endforeach +@endif + @section('content') + <div class="container"> <div class="row justify-content-center"> <div class="col-md-8">