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.
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
namespace App\Enumerations;
|
||||
|
||||
use App\Models\User;
|
||||
|
||||
class UserRoles
|
||||
{
|
||||
/**
|
||||
* Getter for roles
|
||||
*
|
||||
* This method returns only list of roles as inserted into database
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public static function getSimple()
|
||||
{
|
||||
return array_values(self::getWithTranslations());
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for roles with translations
|
||||
*
|
||||
* This method returns all user roles as keys. Values are strings used for translations.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public static function getWithTranslations()
|
||||
{
|
||||
return [
|
||||
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
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Enumerations\UserRoles;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests;
|
||||
use App\Http\Requests\CreateNewUserRequest;
|
||||
@@ -19,11 +20,7 @@ class CreateNewUser 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
|
||||
];
|
||||
$roles = UserRoles::getWithTranslations();
|
||||
|
||||
// render view
|
||||
return $this->view('admin.userManagement.new', ['roles' => $roles]);
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Enumerations\UserRoles;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests;
|
||||
use App\Models\User;
|
||||
@@ -9,11 +10,18 @@ use Illuminate\Support\Facades\Auth;
|
||||
|
||||
class UserDetail extends Controller
|
||||
{
|
||||
public function getDetail($id = null) {
|
||||
if (!$id) $id = Auth::user()->id;
|
||||
public function getDetail($id = null)
|
||||
{
|
||||
// when no user specified, lets assume we want to edit "me"
|
||||
if (!$id) {
|
||||
$id = Auth::user()->id;
|
||||
}
|
||||
|
||||
// try to find given user
|
||||
$user = User::findOrFail($id);
|
||||
|
||||
return view('admin.userManagement.detail', ['user' => $user]);
|
||||
$roles = UserRoles::getWithTranslations();
|
||||
|
||||
return view('admin.userManagement.detail', ['user' => $user, 'roles' => $roles]);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user