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:
Michal Kváček
2016-01-24 20:43:41 +01:00
parent 7a08a11497
commit 8fcc5d041c
3 changed files with 48 additions and 8 deletions
+35
View File
@@ -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 -5
View File
@@ -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]);
+11 -3
View File
@@ -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]);
}
}