Add image upload to user edit [ch10508] (#7877)

* Use correct Request include

* Updated to use additional form request

* Added SVG sanitizer

* Added response method to form request

* Allow ImageUploadRequest to accept fieldname params, added SVG sanitization, fixed delete

* Fixed upload path for avatars

* Added fieldname variable to blade partial for image upload

* Added enctype="multipart/form-data"  to form to allow uploads

* Added image field

* Updated Request::old() to use $request->old()

* Fixed derp in edit blade referring to $item when it should be $user

* Added svg+xml to image rule
This commit is contained in:
snipe
2020-03-05 18:00:24 -08:00
committed by GitHub
parent 9aed12c5aa
commit 039f5da0e1
6 changed files with 74 additions and 25 deletions
+12 -5
View File
@@ -5,6 +5,7 @@ use App\Helpers\Helper;
use App\Http\Controllers\Controller;
use App\Http\Controllers\UserNotFoundException;
use App\Http\Requests\SaveUserRequest;
use App\Http\Requests\ImageUploadRequest;
use App\Models\Asset;
use App\Models\Company;
use App\Models\Group;
@@ -19,7 +20,7 @@ use Redirect;
use Str;
use Symfony\Component\HttpFoundation\StreamedResponse;
use View;
use Request;
use Illuminate\Http\Request;
/**
@@ -65,12 +66,12 @@ class UsersController extends Controller
$userGroups = collect();
if (Request::old('groups')) {
$userGroups = Group::whereIn('id', Request::old('groups'))->pluck('name', 'id');
if ($request->old('groups')) {
$userGroups = Group::whereIn('id', $request->old('groups'))->pluck('name', 'id');
}
$permissions = config('permissions');
$userPermissions = Helper::selectedPermissionsArray($permissions, Request::old('permissions', array()));
$userPermissions = Helper::selectedPermissionsArray($permissions, $request->old('permissions', array()));
$permissions = $this->filterDisplayable($permissions);
$user = new User;
@@ -125,6 +126,8 @@ class UsersController extends Controller
}
$user->permissions = json_encode($permissions_array);
app('App\Http\Requests\ImageUploadRequest')->handleImages($user, '', 'avatar', 'avatars');
if ($user->save()) {
if ($request->filled('groups')) {
$user->groups()->sync($request->input('groups'));
@@ -201,7 +204,7 @@ class UsersController extends Controller
* @return \Illuminate\Http\RedirectResponse
* @throws \Illuminate\Auth\Access\AuthorizationException
*/
public function update(SaveUserRequest $request, $id = null)
public function update(Request $request, $id = null)
{
// We need to reverse the UI specific logic for our
// permissions here before we update the user.
@@ -218,6 +221,7 @@ class UsersController extends Controller
try {
$user = User::findOrFail($id);
app('App\Http\Requests\SaveUserRequest');
if ($user->id == $request->input('manager_id')) {
return redirect()->back()->withInput()->with('error', 'You cannot be your own manager.');
@@ -291,6 +295,9 @@ class UsersController extends Controller
$user->permissions = json_encode($permissions_array);
app('App\Http\Requests\ImageUploadRequest')->handleImages($user, '', 'avatar', 'avatars');
// Was the user updated?
if ($user->save()) {
// Redirect to the user page