Files
core/app/Http/Controllers/Admin/EditUser.php
T
Michal Kváček 1767872402 FEATURE #1359: add working user edit
Finally user can be edited in admin. Admin can change password and role of given user.
2016-01-24 21:18:27 +01:00

68 lines
1.7 KiB
PHP

<?php
namespace App\Http\Controllers\Admin;
use App\Enumerations\UserRoles;
use App\Http\Controllers\Controller;
use App\Http\Requests;
use App\Http\Requests\EditUserRequest;
use App\Models\User;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
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'));
}
}