<?php
class UserController extends \BaseController
{
public function create()
{
return View::make('mentors.create');
}
public function store()
{
$rules = array(
'firstname' => 'required|min:3',
'lastname' => 'required|min:3',
'email' => 'required|email',
'password' => 'required|alphaNum|min:3'
);
$validator = Validator::make(Input::all(), $rules);
if ($validator->fails())
{
return Redirect::to('users/create')
->withErrors($validator)
->withInput(Input::except('password'));
} else
{
//note-to-self: convert to use firstOrCreate(array())
$firstname = Input::get('firstname');
$lastname = Input::get('lastname');
$email = Input::get('email');
$password = Input::get('password');
$user = new User;
$user->firstname = $firstname;
$user->lastname = $lastname;
$user->email = $email;
$user->password = Hash::make($password);
if($user->save())
{
return Redirect::to('users/group')->with('success', 'You have successfully registered');
}else
{
return \Redirect::to('users/create')->with('errors', 'Something terrible happened');
}
}
}
/**
* Display the mentor or mentee choice view
* @return Response
*/
public function chooseGroup()
{
return View::make('mentors.group')->with('id', array());
}
/**
* Handles POST to complete user profile
* @param int $id user id
* @return Response
*/
public function completeProfile($id)
{
$user = User::find($id);
return View::make('mentors.complete', array('user' => $user));
}
/**
* Handles POST request to update user profile
* @param $id of the user being updated
* @return Response
*/
public function saveProfile($id)
{
$user = User::find($id);
}
/**
* Display the view of a single user
* @param $id user id to be displayed
* @return Response
*/
public function viewProfile($id)
{
$user = User::find($id);
return View::make('mentors.profile', array('user' => $user));
}
/**
* Display view to edit a given user
* @param $id of the user being updated
* @return Response
*/
public function edit($id)
{
$user = User::find($id);
return View::make('mentors.edit', array('user' => $user));
}
/**
* Handle POST request to delete a user
* @param $id of the user to destroy
* @return Response
*/
public function destroy($id)
{
$user = User::destroy($id);
}
}