public function signup() { $input = Input::all(); $rules = array('email' => 'required|unique:users|email', 'firstname' => 'required', 'lastname' => 'required'); $v = Validator::make($input, $rules); if ($v->fails()) { return Response::json(array('error' => 'Incomplete form data', 'message' => $v->messages()->first('email')), 400); } $newUser = new User(); $newUser->email = $input['email']; $temp_password = $newUser->generateRandomPass(); $newUser->password = Hash::make($temp_password); $newUser->firstname = $input['firstname']; $newUser->lastname = $input['lastname']; $newUser->type = "applicant"; $newUser->save(); //send email Mail::send('welcome', array('email' => $newUser->email, 'firstname' => $newUser->firstname, 'lastname' => $newUser->lastname, 'temp_pass' => $temp_password), function ($message) use($newUser) { $message->to($newUser->email, $newUser->full_name)->subject('Your BSSB Account!'); }); return Response::json($newUser, 200); }