Files
core/app/Http/Controllers/Admin/CreateNewUser.php
T
Michal Kváček 8fcc5d041c FEATURE: move user roles into separate enumeration.
This commit moves list of user roles into separate class (with own namespace), so we can access this data anywhere from application.
2016-01-24 20:43:41 +01:00

60 lines
1.7 KiB
PHP

<?php
namespace App\Http\Controllers\Admin;
use App\Enumerations\UserRoles;
use App\Http\Controllers\Controller;
use App\Http\Requests;
use App\Http\Requests\CreateNewUserRequest;
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
class CreateNewUser extends Controller
{
/**
* Show the form for creating new user
*
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/
public function getNewUser()
{
// define list of roles, this list will be used in template for selecting proper role for user
$roles = UserRoles::getWithTranslations();
// render view
return $this->view('admin.userManagement.new', ['roles' => $roles]);
}
/**
* Create new user
*
* This method saves new user into database
*
* @param CreateNewUserRequest $request
*
* @return \Illuminate\Http\RedirectResponse
*/
protected function postRegistration(CreateNewUserRequest $request)
{
// when user did not provide any username, use his email
$username = isset($request->username) && !empty($request->username) ? $request->username : $request->email;
// create new user
$user = new User();
$user->name = $request->name;
$user->email = $request->email;
$user->username = $username;
$user->role = $request->role;
$user->password = Hash::make($request->password);
// store user into database
$user->save();
// refresh page with information about successfull registration
return redirect()
->route('users.new')
->with('success', trans('admin/userManagement.registrationSuccessfull'));
}
}