diff --git a/app/Http/Controllers/Auth/RegisterController.php b/app/Http/Controllers/Auth/RegisterController.php index 44fbba8dca380f1de0f196e3c26fde1771740625..bc115bdeca6ba072618fb913f982b6dae70cb144 100644 --- a/app/Http/Controllers/Auth/RegisterController.php +++ b/app/Http/Controllers/Auth/RegisterController.php @@ -27,6 +27,11 @@ class RegisterController extends Controller | */ + const USERNAME_EXIST = 1; + const USERNAME_TOO_LONG = 2; + const PHONE_INVALID = 3; + const USER_VALID = 4; + use RegistersUsers; /** @@ -83,48 +88,49 @@ class RegisterController extends Controller public function registerUser(Request $request) { $data = $request->all(); - $hehe = $this->parseCsv($data); - dd($hehe); - var_dump($data['file']); - - // $username = $data['username']; - // if(User::where('username',$username)->count()>0) { - // echo '<div class="alert alert-warning alert-dismissible fade show text-center"> - // <button type="button" class="close" data-dismiss="alert">×</button> - // This user <strong>already exist.</strong> - // </div>'; - // return view('auth.register'); - // } else if(strlen($data['username']) > 18){ - // echo '<div class="alert alert-warning alert-dismissible fade show text-center"> - // <button type="button" class="close" data-dismiss="alert">×</button> - // <strong>Username</strong> too long (maximum size: 18 characters). - // </div>'; - // return view('auth.register'); - // } else if(strlen($data['phone']) > 18){ - // echo '<div class="alert alert-warning alert-dismissible fade show text-center"> - // <button type="button" class="close" data-dismiss="alert">×</button> - // <strong>Invalid</strong> phone number. - // </div>'; - // return view('auth.register'); - // } else { - // $user = $this->create($data); - // $role = $data['role']; - // if($role == User::ROLE_DOSEN) { - // Dosen::create(['id'=>$user->id]); - // }else if($role == User::ROLE_MAHASISWA) { - // $id_kelas_tesis = KelasTesis::orderByRaw('updated_at - created_at DESC')->first(); - // Mahasiswa::create(['id'=>$user->id, 'id_kelas_tesis'=>$id_kelas_tesis->id]); - // } 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'); - // } -// echo $id; + if(array_key_exists('file', $data)) { + $parsed = $this->parseCsv($data); + $users = $this->createUsers($parsed); + } else { + $username = $data['username']; + if(User::where('username',$username)->count()>0) { + echo '<div class="alert alert-warning alert-dismissible fade show text-center"> + <button type="button" class="close" data-dismiss="alert">×</button> + This user <strong>already exist.</strong> + </div>'; + return view('auth.register'); + } else if(strlen($data['username']) > 18){ + echo '<div class="alert alert-warning alert-dismissible fade show text-center"> + <button type="button" class="close" data-dismiss="alert">×</button> + <strong>Username</strong> too long (maximum size: 18 characters). + </div>'; + return view('auth.register'); + } else if(strlen($data['phone']) > 18){ + echo '<div class="alert alert-warning alert-dismissible fade show text-center"> + <button type="button" class="close" data-dismiss="alert">×</button> + <strong>Invalid</strong> phone number. + </div>'; + return view('auth.register'); + } else { + $user = $this->create($data); + $role = $data['role']; + if($role == User::ROLE_DOSEN) { + Dosen::create(['id'=>$user->id]); + }else if($role == User::ROLE_MAHASISWA) { + $id_kelas_tesis = KelasTesis::orderByRaw('updated_at - created_at DESC')->first(); + Mahasiswa::create(['id'=>$user->id, 'id_kelas_tesis'=>$id_kelas_tesis->id]); + } 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'); + } + } + } @@ -141,4 +147,31 @@ class RegisterController extends Controller return $result; } + private function createUsers(array $data) { + $result = []; + for($i = 1; $i < sizeof($data); $i++) { + $item = $data[$i]; + $d = array( + 'name' => $item[0], + 'username' => $item[1], + 'email' => $item[2], + 'phone' => $item[3], + 'password' => $item[4], + ); + $user = $this->create($d); + } + return $result; + } + + private function validateUser(User $user) { + if(User::where('username',$user->username)->count()>0) { + return USERNAME_EXIST; + } else if(strlen($user->username) > 18){ + return USERNAME_TOO_LONG; + } else if(strlen($user->phone) > 18){ + return PHONE_INVALID; + } + return USER_VALID; + } + }