Merge branch 'user_management' into dev
This commit is contained in:
@@ -0,0 +1,42 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Created by PhpStorm.
|
||||||
|
* User: michal
|
||||||
|
* Date: 24.1.16
|
||||||
|
* Time: 23:20
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace App\Enumerations;
|
||||||
|
|
||||||
|
use App\Models\User;
|
||||||
|
|
||||||
|
class UserStates
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Getter for states
|
||||||
|
*
|
||||||
|
* This method returns only list of roles as inserted into database
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public static function getSimple()
|
||||||
|
{
|
||||||
|
return array_values(self::getWithTranslations());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Getter for states with translations
|
||||||
|
*
|
||||||
|
* This method returns all user states as keys. Values are strings used for translations.
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public static function getWithTranslations()
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
User::STATE_DELETED => 'admin/userManagement.status_' . User::STATE_DELETED,
|
||||||
|
User::STATE_BLOCKED => 'admin/userManagement.status_' . User::STATE_BLOCKED,
|
||||||
|
User::STATE_ACTIVE => 'admin/userManagement.status_' . User::STATE_ACTIVE
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -3,6 +3,7 @@
|
|||||||
namespace App\Http\Controllers\Admin;
|
namespace App\Http\Controllers\Admin;
|
||||||
|
|
||||||
use App\Enumerations\UserRoles;
|
use App\Enumerations\UserRoles;
|
||||||
|
use App\Enumerations\UserStates;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use App\Http\Requests;
|
use App\Http\Requests;
|
||||||
use App\Http\Requests\EditUserRequest;
|
use App\Http\Requests\EditUserRequest;
|
||||||
@@ -19,12 +20,20 @@ class EditUser extends Controller
|
|||||||
$id = Auth::user()->id;
|
$id = Auth::user()->id;
|
||||||
}
|
}
|
||||||
|
|
||||||
// try to find given user
|
// @todo add some authorization (e.g. via can/cannot methods)
|
||||||
$user = User::findOrFail($id);
|
|
||||||
|
|
||||||
|
// try to find given user
|
||||||
|
$user = User::where('status', '!=', User::STATE_DELETED)
|
||||||
|
->findOrFail($id);
|
||||||
|
|
||||||
|
$states = UserStates::getWithTranslations();
|
||||||
$roles = UserRoles::getWithTranslations();
|
$roles = UserRoles::getWithTranslations();
|
||||||
|
|
||||||
return view('admin.userManagement.edit', ['user' => $user, 'roles' => $roles]);
|
return view('admin.userManagement.edit', [
|
||||||
|
'user' => $user,
|
||||||
|
'states' => $states,
|
||||||
|
'roles' => $roles
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -52,6 +61,10 @@ class EditUser extends Controller
|
|||||||
$user->role = $request->role;
|
$user->role = $request->role;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (isset($request->status)) {
|
||||||
|
$user->status = $request->status;
|
||||||
|
}
|
||||||
|
|
||||||
if (isset($request->password)) {
|
if (isset($request->password)) {
|
||||||
$user->password = Hash::make($request->password);
|
$user->password = Hash::make($request->password);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
namespace App\Http\Controllers\Admin;
|
namespace App\Http\Controllers\Admin;
|
||||||
|
|
||||||
use App\Enumerations\UserRoles;
|
use App\Enumerations\UserRoles;
|
||||||
|
use App\Enumerations\UserStates;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use App\Http\Requests;
|
use App\Http\Requests;
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
@@ -21,7 +22,12 @@ class UserDetail extends Controller
|
|||||||
$user = User::findOrFail($id);
|
$user = User::findOrFail($id);
|
||||||
|
|
||||||
$roles = UserRoles::getWithTranslations();
|
$roles = UserRoles::getWithTranslations();
|
||||||
|
$states = UserStates::getWithTranslations();
|
||||||
|
|
||||||
return view('admin.userManagement.detail', ['user' => $user, 'roles' => $roles]);
|
return view('admin.userManagement.detail', [
|
||||||
|
'user' => $user,
|
||||||
|
'states' => $states,
|
||||||
|
'roles' => $roles
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -11,8 +11,9 @@ class EditUserRequest extends Request
|
|||||||
*/
|
*/
|
||||||
public function rules()
|
public function rules()
|
||||||
{
|
{
|
||||||
|
// email must be valid except for user with current id
|
||||||
return [
|
return [
|
||||||
'email' => 'required|email'
|
'email' => 'required|email|unique:users,email,'.$this->id
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,6 +9,10 @@ return [
|
|||||||
'role_admin' => 'Admin',
|
'role_admin' => 'Admin',
|
||||||
'role_editor' => 'Editor',
|
'role_editor' => 'Editor',
|
||||||
'role_visitor' => 'Visitor',
|
'role_visitor' => 'Visitor',
|
||||||
|
'status' => 'Status',
|
||||||
|
'status_deleted' => 'Deleted',
|
||||||
|
'status_blocked' => 'Blocked',
|
||||||
|
'status_active' => 'Active',
|
||||||
'register' => 'Create user',
|
'register' => 'Create user',
|
||||||
'registrationSuccessfull' => 'New user successfully added.',
|
'registrationSuccessfull' => 'New user successfully added.',
|
||||||
'profile' => 'Your profile',
|
'profile' => 'Your profile',
|
||||||
|
|||||||
@@ -41,6 +41,22 @@
|
|||||||
{{ $errors->first('role') }}
|
{{ $errors->first('role') }}
|
||||||
</div>
|
</div>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
|
<label>
|
||||||
|
@lang('admin/userManagement.status')
|
||||||
|
|
||||||
|
<select name="status">
|
||||||
|
@foreach($states as $status => $translation)
|
||||||
|
<option value="{{$status}}" @if($status == $user->status) selected @endif>@lang($translation)</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
@if (isset($errors) && $errors->has('role'))
|
||||||
|
<div class="callout alert">
|
||||||
|
{{ $errors->first('role') }}
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
<label>
|
<label>
|
||||||
|
|||||||
Reference in New Issue
Block a user