https://github.com/snipe/snipe-it/pull/14702/files introduced a bug
where instead of doing a quick `select count(*)` of assets, it did a `select *` of
assets, moving the count from the database to the PHP process.
This caused OOM issues in memory-constrained environments with lots of
assets, and also presented a speed issue even when memory limited were
increased.
Additionally, given this populates the sidebar, this was likely an issue
on every page load that included the sidebar.
The fix is simply removing the `all()->`, ending up with Asset::count(),
which yields the desired `select count(*)` DB query.
The total asset count in the sidenav shows the ready to deploy count instead of the total count.
Fix this by adjusting the query to all assets. Also respect the setting for archived assets.
Add a default value for total assets, since we are now using the settings-variable, which is not available during the setup process.
While at it, move the block for total assets before the ready to deploy assets to match the ordering of the sidenav.
Signed-off-by: Tobias Regnery <tobias.regnery@gmail.com>
The SAML routes are in a service provide (sigh), so they did not have the `web` middleware group assigned to it.
I also added some additional checks so that the setup blade won’t fail (the migrations wouldn’t have been run yet, so outside of a try/catch, it would return an error since those tables don’t exist.)