FEATURE #1359: add working user edit
Finally user can be edited in admin. Admin can change password and role of given user.
This commit is contained in:
@@ -2,13 +2,67 @@
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Enumerations\UserRoles;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests;
|
||||
use App\Http\Requests\CreateNewUserRequest;
|
||||
use App\Http\Requests\EditUserRequest;
|
||||
use App\Models\User;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
|
||||
class EditUser extends Controller {
|
||||
class EditUser extends Controller
|
||||
{
|
||||
public function getEditUser($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);
|
||||
|
||||
$roles = UserRoles::getWithTranslations();
|
||||
|
||||
return view('admin.userManagement.edit', ['user' => $user, 'roles' => $roles]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param EditUserRequest $request
|
||||
* @param $id
|
||||
*
|
||||
* @return \Illuminate\Http\RedirectResponse
|
||||
*/
|
||||
public function postEdit(EditUserRequest $request, $id)
|
||||
{
|
||||
$user = User::findOrFail($id);
|
||||
|
||||
// update username if set
|
||||
if (isset($request->username)) {
|
||||
$user->username = $request->username;
|
||||
}
|
||||
|
||||
// change name (if set)
|
||||
if (isset($request->name)) {
|
||||
$user->name = $request->name;
|
||||
}
|
||||
|
||||
if (Auth::user()->role == User::ROLE_ADMIN) {
|
||||
if (isset($request->role)) {
|
||||
$user->role = $request->role;
|
||||
}
|
||||
|
||||
if (isset($request->password)) {
|
||||
$user->password = Hash::make($request->password);
|
||||
}
|
||||
}
|
||||
|
||||
$user->email = $request->email;
|
||||
|
||||
$user->save();
|
||||
|
||||
return redirect()
|
||||
->route('users.detail', ['id' => $id])
|
||||
->with('success', trans('admin/userManagement.userSuccessfullyEdited'));
|
||||
}
|
||||
}
|
||||
@@ -2,20 +2,8 @@
|
||||
|
||||
namespace App\Http\Requests;
|
||||
|
||||
use App\Http\Requests\Request;
|
||||
|
||||
class EditUserRequest extends Request
|
||||
{
|
||||
/**
|
||||
* Determine if the user is authorized to make this request.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function authorize()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the validation rules that apply to the request.
|
||||
*
|
||||
@@ -24,7 +12,7 @@ class EditUserRequest extends Request
|
||||
public function rules()
|
||||
{
|
||||
return [
|
||||
//
|
||||
'email' => 'required|email'
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -64,4 +64,8 @@ Route::group([
|
||||
// display form for creating new user
|
||||
Route::post('users/new', 'CreateNewUser@postRegistration')
|
||||
->name('users.newPost');
|
||||
|
||||
// method for saving edited data of user
|
||||
Route::post('users/edit/{id}', 'EditUser@postEdit')
|
||||
->name('users.editPost');
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user