Be able to check out an asset against a location instead of a user.
Error screen
at聽AssetsController->postCheckout(object(AssetCheckoutRequest), '1373')
at聽call_user_func_array(array(object(AssetsController), 'postCheckout'),聽array(object(AssetCheckoutRequest), 'assetId' => '1373'))in聽Controller.php聽(line 55)
at聽Controller->callAction('postCheckout',聽array(object(AssetCheckoutRequest), 'assetId' => '1373'))in聽ControllerDispatcher.php聽(line 44)
at聽ControllerDispatcher->dispatch(object(Route),聽object(AssetsController), 'postCheckout')in聽Route.php聽(line 203)
at聽Route->runController()in聽Route.php聽(line 160)
at聽Route->run()in聽Router.php聽(line 574)
at聽Router->Illuminate\Routing{closure}(object(Request))in聽Pipeline.php聽(line 30)
at聽Pipeline->Illuminate\Routing{closure}(object(Request))in聽Authenticate.php聽(line 43)
at聽Authenticate->handle(object(Request),聽object(Closure))in聽Pipeline.php聽(line 148)
at聽Pipeline->Illuminate\Pipeline{closure}(object(Request))in聽Pipeline.php聽(line 53)
at聽Pipeline->Illuminate\Routing{closure}(object(Request))in聽CreateFreshApiToken.php聽(line 49)
at聽CreateFreshApiToken->handle(object(Request),聽object(Closure))in聽Pipeline.php聽(line 148)
at聽Pipeline->Illuminate\Pipeline{closure}(object(Request))in聽Pipeline.php聽(line 53)
at聽Pipeline->Illuminate\Routing{closure}(object(Request))in聽CheckForTwoFactor.php聽(line 49)
at聽CheckForTwoFactor->handle(object(Request),聽object(Closure))in聽Pipeline.php聽(line 148)
at聽Pipeline->Illuminate\Pipeline{closure}(object(Request))in聽Pipeline.php聽(line 53)
at聽Pipeline->Illuminate\Routing{closure}(object(Request))in聽CheckLocale.php聽(line 42)
at聽CheckLocale->handle(object(Request),聽object(Closure))in聽Pipeline.php聽(line 148)
at聽Pipeline->Illuminate\Pipeline{closure}(object(Request))in聽Pipeline.php聽(line 53)
at聽Pipeline->Illuminate\Routing{closure}(object(Request))in聽VerifyCsrfToken.php聽(line 65)
at聽VerifyCsrfToken->handle(object(Request),聽object(Closure))in聽Pipeline.php聽(line 148)
at聽Pipeline->Illuminate\Pipeline{closure}(object(Request))in聽Pipeline.php聽(line 53)
at聽Pipeline->Illuminate\Routing{closure}(object(Request))in聽AddQueuedCookiesToResponse.php聽(line 37)
at聽AddQueuedCookiesToResponse->handle(object(Request),聽object(Closure))in聽Pipeline.php聽(line 148)
at聽Pipeline->Illuminate\Pipeline{closure}(object(Request))in聽Pipeline.php聽(line 53)
at聽Pipeline->Illuminate\Routing{closure}(object(Request))in聽EncryptCookies.php聽(line 59)
at聽EncryptCookies->handle(object(Request),聽object(Closure))in聽Pipeline.php聽(line 148)
at聽Pipeline->Illuminate\Pipeline{closure}(object(Request))in聽Pipeline.php聽(line 53)
at聽Pipeline->Illuminate\Routing{closure}(object(Request))in聽Pipeline.php聽(line 102)
at聽Pipeline->then(object(Closure))in聽Router.php聽(line 576)
at聽Router->runRouteWithinStack(object(Route),聽object(Request))in聽Router.php聽(line 535)
at聽Router->dispatchToRoute(object(Request))in聽Router.php聽(line 513)
at聽Router->dispatch(object(Request))in聽Kernel.php聽(line 176)
at聽Kernel->Illuminate\Foundation\Http{closure}(object(Request))in聽Pipeline.php聽(line 30)
at聽Pipeline->Illuminate\Routing{closure}(object(Request))in聽Debugbar.php聽(line 51)
at聽Debugbar->handle(object(Request),聽object(Closure))in聽Pipeline.php聽(line 148)
at聽Pipeline->Illuminate\Pipeline{closure}(object(Request))in聽Pipeline.php聽(line 53)
at聽Pipeline->Illuminate\Routing{closure}(object(Request))in聽CheckForDebug.php聽(line 25)
at聽CheckForDebug->handle(object(Request),聽object(Closure))in聽Pipeline.php聽(line 148)
at聽Pipeline->Illuminate\Pipeline{closure}(object(Request))in聽Pipeline.php聽(line 53)
at聽Pipeline->Illuminate\Routing{closure}(object(Request))in聽TrustProxies.php聽(line 56)
at聽TrustProxies->handle(object(Request),聽object(Closure))in聽Pipeline.php聽(line 148)
at聽Pipeline->Illuminate\Pipeline{closure}(object(Request))in聽Pipeline.php聽(line 53)
at聽Pipeline->Illuminate\Routing{closure}(object(Request))in聽CheckForSetup.php聽(line 27)
at聽CheckForSetup->handle(object(Request),聽object(Closure))in聽Pipeline.php聽(line 148)
at聽Pipeline->Illuminate\Pipeline{closure}(object(Request))in聽Pipeline.php聽(line 53)
at聽Pipeline->Illuminate\Routing{closure}(object(Request))in聽NosniffGuard.php聽(line 17)
at聽NosniffGuard->handle(object(Request),聽object(Closure))in聽Pipeline.php聽(line 148)
at聽Pipeline->Illuminate\Pipeline{closure}(object(Request))in聽Pipeline.php聽(line 53)
at聽Pipeline->Illuminate\Routing{closure}(object(Request))in聽ContentSecurityPolicyHeader.php聽(line 18)
at聽ContentSecurityPolicyHeader->handle(object(Request),聽object(Closure))in聽Pipeline.php聽(line 148)
at聽Pipeline->Illuminate\Pipeline{closure}(object(Request))in聽Pipeline.php聽(line 53)
at聽Pipeline->Illuminate\Routing{closure}(object(Request))in聽ReferrerPolicyHeader.php聽(line 17)
at聽ReferrerPolicyHeader->handle(object(Request),聽object(Closure))in聽Pipeline.php聽(line 148)
at聽Pipeline->Illuminate\Pipeline{closure}(object(Request))in聽Pipeline.php聽(line 53)
at聽Pipeline->Illuminate\Routing{closure}(object(Request))in聽XssProtectHeader.php聽(line 18)
at聽XssProtectHeader->handle(object(Request),聽object(Closure))in聽Pipeline.php聽(line 148)
at聽Pipeline->Illuminate\Pipeline{closure}(object(Request))in聽Pipeline.php聽(line 53)
at聽Pipeline->Illuminate\Routing{closure}(object(Request))in聽FrameGuard.php聽(line 17)
at聽FrameGuard->handle(object(Request),聽object(Closure))in聽Pipeline.php聽(line 148)
at聽Pipeline->Illuminate\Pipeline{closure}(object(Request))in聽Pipeline.php聽(line 53)
at聽Pipeline->Illuminate\Routing{closure}(object(Request))in聽ShareErrorsFromSession.php聽(line 49)
at聽ShareErrorsFromSession->handle(object(Request),聽object(Closure))in聽Pipeline.php聽(line 148)
at聽Pipeline->Illuminate\Pipeline{closure}(object(Request))in聽Pipeline.php聽(line 53)
at聽Pipeline->Illuminate\Routing{closure}(object(Request))in聽StartSession.php聽(line 64)
at聽StartSession->handle(object(Request),聽object(Closure))in聽Pipeline.php聽(line 148)
at聽Pipeline->Illuminate\Pipeline{closure}(object(Request))in聽Pipeline.php聽(line 53)
at聽Pipeline->Illuminate\Routing{closure}(object(Request))in聽CheckForMaintenanceMode.php聽(line 46)
at聽CheckForMaintenanceMode->handle(object(Request),聽object(Closure))in聽Pipeline.php聽(line 148)
at聽Pipeline->Illuminate\Pipeline{closure}(object(Request))in聽Pipeline.php聽(line 53)
at聽Pipeline->Illuminate\Routing{closure}(object(Request))in聽Pipeline.php聽(line 102)
at聽Pipeline->then(object(Closure))in聽Kernel.php聽(line 151)
at聽Kernel->sendRequestThroughRouter(object(Request))in聽Kernel.php聽(line 116)
at聽Kernel->handle(object(Request))in聽index.php聽(line 58)
app/storage/logs and your webserver's logs.Please do not post an issue without answering the related questions above. If you have opened a different issue and already answered these questions, answer them again, once for every ticket. It will be next to impossible for us to help you.
Chiming in that we're seeing the same occurrence and error here when attempting to check out an Asset to a Location on 4.1.4 build 173 (gba38b84). I've tested it both with a newly generated asset and a newly generated Location; both return the same message.
Checking out to users works as intended.
(1/1)聽ErrorExceptionTrying to get property of non-object
--
in聽AssetsController.php聽(line 466)
at聽HandleExceptions->handleError(8, 'Trying to get property of non-object', '/var/www/snipeit/app/Http/Controllers/AssetsController.php', 466,聽array('request' =>object(AssetCheckoutRequest), 'assetId' => '2', 'asset' =>聽object(Asset), 'target' =>聽null))in聽AssetsController.php聽(line 466)
at聽AssetsController->postCheckout(object(AssetCheckoutRequest), '2')
Confirmed reproducable on Demo system.
Can you provide instructions on how to reproduce on the demo?
Aha - I think I see what's happening. If you de-select the pre-selected asset from the "checkout to asset" option on the checkout form, does it still throw that error?
Aw geez. Yep, that solves it in our case, and assigns it to the Location correctly.
Didn't even notice it defaulted to an asset there.
That's on us, not you. It's a UI bug, for sure. I'm working on a fix now - should be on develop in an hour or so.
This is the UI flow I'm working on now to fix this issue and the clunky UI of checkout to user/location/asset.

This PR should fix this issue.
https://github.com/snipe/snipe-it/pull/4501
You can also view it on the develop site: https://develop.snipeitapp.com admin/password
Derp. I lied, it's not merged yet. :P You can check it out locally though if you want to pull down the features/improved_checkout_ui_and_4491_fix branch :D
That is super slick. I love the new checkout toggles! This project has such fantastic dev support.
Careful, I might quote you on that for our website :D
Did you get a chance to test it out at all, or are you just basing that off the gif? (It's merged into develop now, so you can test it on the develop demo using the credentials above if you don't want to check out a non-release branch)
I tested it on the develop server; I'll pull it into our install first thing tomorrow morning!