Snipe-it: Inventory Check Out Error

Created on 20 Nov 2017  路  11Comments  路  Source: snipe/snipe-it

Expected Behavior (or desired behavior if a feature request)

Be able to check out an asset against a location instead of a user.


Actual Behavior

Error screen


Please confirm you have done the following before posting your bug report:


Provide answers to these questions:

  • Is this a fresh install or an upgrade?
    Fresh Install
  • Version of Snipe-IT you're running
    Version v4.1.4 build 173 (gba38b84)
  • Version of PHP you're running
    7.0.22-0ubuntu0.16.04.1
  • Version of MySQL/MariaDB you're running
    MySQL 5.6
  • What OS and web server you're running Snipe-IT on
    Ubuntu 16 with Apache version 2.4.18
  • What method you used to install Snipe-IT (install.sh, manual installation, docker, etc)
    Docker
  • WITH DEBUG TURNED ON, if you're getting an error in your browser, include that error

at聽HandleExceptions->handleError(8, 'Trying to get property of non-object', '/srv/users/serverpilot/apps/laravel5/app/Http/Controllers/AssetsController.php', 466,聽array('request' =>聽object(AssetCheckoutRequest), 'assetId' => '1373', 'asset' =>聽object(Asset), 'target' =>聽null))in聽AssetsController.php聽(line 466)

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)

  • What specific Snipe-IT page you're on, and what specific element you're interacting with to trigger the error
    error appears after clicking checkout on asset checkout.
  • If a stacktrace is provided in the error, include that too.
  • Any errors that appear in your browser's error console.
  • Confirm whether the error is reproduceable on the demo: https://snipeitapp.com/demo.
    Confirmed reproducable on Demo system.
  • Include any additional information you can find in app/storage/logs and your webserver's logs.
  • Include what you've done so far in the installation, and if you got any error messages along the way.
    Haven't had any error messages so far.
  • Indicate whether or not you've manually edited any data directly in the database
    No

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.

https://snipe-it.readme.io/docs/getting-help

bug javascript ui

All 11 comments

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.

checkout-selector-buttons

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!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

jblandin04 picture jblandin04  路  5Comments

snipe picture snipe  路  3Comments

ericdude101 picture ericdude101  路  5Comments

snipe picture snipe  路  5Comments

anilp78 picture anilp78  路  4Comments