Merge branch 'user_management' into authentication

This commit is contained in:
Michal Kváček
2016-01-22 17:27:36 +01:00
37 changed files with 3476 additions and 108 deletions
+17
View File
@@ -0,0 +1,17 @@
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller as BaseController;
use App\Http\Requests;
abstract class Controller extends BaseController
{
/**
* Controller constructor.
*/
public function __construct()
{
}
}
+3 -3
View File
@@ -3,11 +3,11 @@
namespace App\Http\Controllers\Admin;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class Dashboard extends Controller
{
//
public function getIndex() {
return view('admin.dashboard');
}
}
@@ -0,0 +1,71 @@
<?php
namespace App\Http\Controllers\Admin;
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 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 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('message', trans('admin/userManagement.registrationSuccessfull'));
}
}
+17
View File
@@ -10,4 +10,21 @@ use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
class Controller extends BaseController
{
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
/**
* Custom wrapper for generating view.
*
* This method will be used for switching among templates.
*
* @todo add template support
*
* @param null $view
* @param array $data
* @param array $mergeData
*
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/
protected function view($view = null, $data = [], $mergeData = []) {
return view($view, $data, $mergeData);
}
}
+3 -3
View File
@@ -17,12 +17,12 @@ class Authenticate
*/
public function handle($request, Closure $next, $guard = null)
{
if (Auth::check()) {
if (!Auth::check($guard)) {
if ($request->ajax()) {
return response('Unauthorized.', 401);
} else {
return redirect()->guest('login');
}
return redirect()->guest('login');
}
return $next($request);
@@ -0,0 +1,34 @@
<?php
namespace App\Http\Requests;
use App\Http\Requests\Request;
use App\Models\User;
class CreateNewUserRequest extends Request
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return \Auth::check() && \Auth::$user->role == User::ROLE_ADMIN;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'role' => 'required',
'email' => 'required|email|max:128|unique:users',
'password' => 'required|min:6'
];
}
}
+8 -23
View File
@@ -1,27 +1,8 @@
<?php
/*
|--------------------------------------------------------------------------
| Routes File
|--------------------------------------------------------------------------
|
| Here is where you will register all of the routes in an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/
/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| This route group applies the "web" middleware group to every route
| it contains. The "web" middleware group is defined in your HTTP
| kernel and includes session state, CSRF protection, and more.
|
*/
/**
* This routing groups is used for routing along public part of website
*/
Route::group(['middleware' => ['web']], function () {
Route::get('login', 'Admin\Login@getLoginForm')
->name('loginForm');
@@ -32,7 +13,11 @@ Route::group(['middleware' => ['web']], function () {
->name('login');
});
// list of admin routes
/*******************************************************************************/
/**
* This route group serves to handle request in admin
*/
Route::group([
// 'middleware' => ['auth'],
'namespace' => 'Admin',