Skip to content
Snippets Groups Projects
Commit de48898e authored by 13516139 Ahmad Fahmi Pratama's avatar 13516139 Ahmad Fahmi Pratama
Browse files

Handle user register on file and nonfile

parent c0af387f
No related merge requests found
Pipeline #6819 failed with stage
...@@ -27,6 +27,11 @@ class RegisterController extends Controller ...@@ -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; use RegistersUsers;
/** /**
...@@ -83,48 +88,49 @@ class RegisterController extends Controller ...@@ -83,48 +88,49 @@ class RegisterController extends Controller
public function registerUser(Request $request) { public function registerUser(Request $request) {
$data = $request->all(); $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">&times;</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">&times;</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">&times;</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">&times;</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">&times;</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">&times;</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">&times;</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">&times;</button>
<strong>Success !</strong> New user has successfully registered!
</div>';
return view('auth.register');
}
}
} }
...@@ -141,4 +147,31 @@ class RegisterController extends Controller ...@@ -141,4 +147,31 @@ class RegisterController extends Controller
return $result; 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;
}
} }
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment