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:
Michal Kváček
2016-01-24 21:18:27 +01:00
parent bad25cb161
commit 1767872402
6 changed files with 85 additions and 27 deletions
+57 -3
View File
@@ -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'));
}
}
+1 -13
View File
@@ -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'
];
}
}
+4
View File
@@ -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');
});