Files
core/app/Http/Controllers/Admin/UserManagement.php
T

76 lines
2.1 KiB
PHP

<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use App\Http\Requests;
use App\Models\User;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Hashing\BcryptHasher;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
class UserManagement extends Controller
{
public function getNewUser()
{
// define list of roles, this list will be used in template for selecting proper role for user
$roles = [
User::ROLE_ADMIN => 'admin/userManagement.role_' . User::ROLE_ADMIN,
User::ROLE_EDITOR => 'admin/userManagement.role_' . User::ROLE_EDITOR,
User::ROLE_VISITOR => 'admin/userManagement.role_' . User::ROLE_VISITOR
];
// render view
return $this->view('admin.userManagement.new', ['roles' => $roles]);
}
public function getEditExistingUser($id)
{
// try to find user
$user = User::findOrFail($id);
// render view
return $this->view('admin.userManagement.edit', ['user' => $user]);
}
public function getOverview($state = null)
{
echo $state;
}
/**
* Create new user
*
* This method saves new user into database
*
* @param Request $request
*/
protected function postRegistration(Request $request)
{
// validate input data
$this->validate($request, [
'role' => 'required',
'email' => 'required|email|max:128|unique:users',
'password' => 'required|min:6'
]);
// 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 = bcrypt($request->role);
// store user into database
$user->save();
// @todo add some redirect, inform user etc.
}
}