From 54ef469d98506c981ef3bd66bf0cbb35a2d2db66 Mon Sep 17 00:00:00 2001 From: snipe Date: Wed, 21 Apr 2021 13:27:23 -0700 Subject: [PATCH 01/24] Clearer reporting on import Signed-off-by: snipe --- app/Http/Controllers/Api/ImportController.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/Api/ImportController.php b/app/Http/Controllers/Api/ImportController.php index 2f88e3f474..0e0ecc3671 100644 --- a/app/Http/Controllers/Api/ImportController.php +++ b/app/Http/Controllers/Api/ImportController.php @@ -49,10 +49,11 @@ class ImportController extends Controller if (!in_array($file->getMimeType(), array( 'application/vnd.ms-excel', 'text/csv', + 'application/csv', 'text/plain', 'text/comma-separated-values', 'text/tsv'))) { - $results['error']='File type must be CSV'; + $results['error']='File type must be CSV. Uploaded file is '.$file->getMimeType(); return response()->json(Helper::formatStandardApiResponse('error', null, $results['error']), 500); } From ea0d0df1af07a21d20921c8fa212fd1772faf644 Mon Sep 17 00:00:00 2001 From: snipe Date: Wed, 21 Apr 2021 13:48:51 -0700 Subject: [PATCH 02/24] Try adding text/x-Algol68 to import Signed-off-by: snipe --- app/Http/Controllers/Api/ImportController.php | 1 + 1 file changed, 1 insertion(+) diff --git a/app/Http/Controllers/Api/ImportController.php b/app/Http/Controllers/Api/ImportController.php index 0e0ecc3671..682f18d72b 100644 --- a/app/Http/Controllers/Api/ImportController.php +++ b/app/Http/Controllers/Api/ImportController.php @@ -50,6 +50,7 @@ class ImportController extends Controller 'application/vnd.ms-excel', 'text/csv', 'application/csv', + 'text/x-Algol68', // because wtf CSV files? 'text/plain', 'text/comma-separated-values', 'text/tsv'))) { From 80168072688d2c68bb8bcda9eb6bffc2a6c91ddd Mon Sep 17 00:00:00 2001 From: snipe Date: Fri, 23 Apr 2021 12:09:34 -0700 Subject: [PATCH 03/24] Add @Nevets82 as a contributor --- .all-contributorsrc | 9 +++++++++ README.md | 4 ++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index 2cfb30015d..d59e3f6946 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -2306,6 +2306,15 @@ "contributions": [ "code" ] + }, + { + "login": "Nevets82", + "name": "Steven", + "avatar_url": "https://avatars.githubusercontent.com/u/4462739?v=4", + "profile": "http://nevets82.github.io", + "contributions": [ + "code" + ] } ] } diff --git a/README.md b/README.md index 696384fd5f..7073e9642c 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ ![Build Status](https://app.chipperci.com/projects/0e5f8979-31eb-4ee6-9abf-050b76ab0383/status/master) [![Crowdin](https://d322cqt584bo4o.cloudfront.net/snipe-it/localized.svg)](https://crowdin.com/project/snipe-it) [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/snipe/snipe-it?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Docker Pulls](https://img.shields.io/docker/pulls/snipe/snipe-it.svg)](https://hub.docker.com/r/snipe/snipe-it/) [![Twitter Follow](https://img.shields.io/twitter/follow/snipeitapp.svg?style=social)](https://twitter.com/snipeitapp) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/553ce52037fc43ea99149785afcfe641)](https://www.codacy.com/app/snipe/snipe-it?utm_source=github.com&utm_medium=referral&utm_content=snipe/snipe-it&utm_campaign=Badge_Grade) -[![All Contributors](https://img.shields.io/badge/all_contributors-253-orange.svg?style=flat-square)](#contributors) +[![All Contributors](https://img.shields.io/badge/all_contributors-254-orange.svg?style=flat-square)](#contributors) ## Snipe-IT - Open Source Asset Management System @@ -125,7 +125,7 @@ Thanks goes to all of these wonderful people ([emoji key](https://github.com/ken | [
Kevin KΓΆllmann](https://www.kevinkoellmann.de)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=koelle25 "Code") | [
sw-mreyes](https://github.com/sw-mreyes)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=sw-mreyes "Code") | [
Joel Pittet](https://pittet.ca)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=joelpittet "Code") | [
Eli Young](https://elyscape.com)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=elyscape "Code") | [
Raell Dottin](https://github.com/raelldottin)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=raelldottin "Code") | [
Tom Misilo](https://github.com/misilot)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=misilot "Code") | [
David Davenne](http://david.davenne.be)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=JuustoMestari "Code") | | [
Mark Stenglein](https://markstenglein.com)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=ocelotsloth "Code") | [
ajsy](https://github.com/ajsy)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=ajsy "Code") | [
Jan Kiesewetter](https://github.com/t3easy)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=t3easy "Code") | [
Tetrachloromethane250](https://github.com/Tetrachloromethane250)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=Tetrachloromethane250 "Code") | [
Lars Kajes](https://www.kajes.se/)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=kajes "Code") | [
Joly0](https://github.com/Joly0)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=Joly0 "Code") | [
theburger](https://github.com/limeless)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=limeless "Code") | | [
David Valin Alonso](https://github.com/deivishome)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=deivishome "Code") | [
andreaci](https://github.com/andreaci)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=andreaci "Code") | [
Jelle Sebreghts](http://www.jellesebreghts.be)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=Jelle-S "Code") | [
Michael Pietsch](https://github.com/Skywalker-11)
| [
Masudul Haque Shihab](https://github.com/sh1hab)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=sh1hab "Code") | [
Supapong Areeprasertkul](http://www.freedomdive.com/)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=zybersup "Code") | [
Peter Sarossy](https://github.com/psarossy)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=psarossy "Code") | -| [
Renee Margaret McConahy](https://github.com/nepella)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=nepella "Code") | +| [
Renee Margaret McConahy](https://github.com/nepella)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=nepella "Code") | [
Steven](http://nevets82.github.io)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=Nevets82 "Code") | This project follows the [all-contributors](https://github.com/kentcdodds/all-contributors) specification. Contributions of any kind welcome! From b8c3564434cf894d7c5f58721675ad0ff978a1c1 Mon Sep 17 00:00:00 2001 From: snipe Date: Mon, 26 Apr 2021 14:05:18 -0700 Subject: [PATCH 04/24] Removed min from personal CSS Signed-off-by: snipe --- resources/views/layouts/default.blade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/views/layouts/default.blade.php b/resources/views/layouts/default.blade.php index 81f7a54c60..cd159112ef 100644 --- a/resources/views/layouts/default.blade.php +++ b/resources/views/layouts/default.blade.php @@ -30,7 +30,7 @@ {{-- stylesheets --}} @if (($snipeSettings) && ($snipeSettings->allow_user_skin==1) && Auth::check() && Auth::user()->present()->skin != '') - + @else @endif From 67ac3631dfcaa7ec92b13565d40325d2c1e3f37d Mon Sep 17 00:00:00 2001 From: snipe Date: Tue, 4 May 2021 22:05:26 -0700 Subject: [PATCH 05/24] Production assets Signed-off-by: snipe --- public/css/dist/skins/skin-black-dark.css | Bin 9130 -> 9197 bytes public/css/dist/skins/skin-black-dark.min.css | Bin 9123 -> 9190 bytes public/css/dist/skins/skin-black.css | Bin 3498 -> 3565 bytes public/css/dist/skins/skin-black.min.css | Bin 3491 -> 3558 bytes public/css/dist/skins/skin-blue-dark.css | Bin 9202 -> 9269 bytes public/css/dist/skins/skin-blue-dark.min.css | Bin 9195 -> 9262 bytes public/css/dist/skins/skin-blue.css | Bin 3776 -> 3843 bytes public/css/dist/skins/skin-blue.min.css | Bin 3769 -> 3836 bytes public/css/dist/skins/skin-contrast.css | Bin 4229 -> 4296 bytes public/css/dist/skins/skin-contrast.min.css | Bin 4222 -> 4289 bytes public/css/dist/skins/skin-green-dark.css | Bin 9244 -> 9311 bytes public/css/dist/skins/skin-green-dark.min.css | Bin 9237 -> 9304 bytes public/css/dist/skins/skin-green.css | Bin 3474 -> 3541 bytes public/css/dist/skins/skin-green.min.css | Bin 3467 -> 3534 bytes public/css/dist/skins/skin-orange-dark.css | Bin 9394 -> 9461 bytes .../css/dist/skins/skin-orange-dark.min.css | Bin 9387 -> 9454 bytes public/css/dist/skins/skin-orange.css | Bin 3515 -> 3582 bytes public/css/dist/skins/skin-orange.min.css | Bin 3508 -> 3575 bytes public/css/dist/skins/skin-purple-dark.css | Bin 9340 -> 9407 bytes .../css/dist/skins/skin-purple-dark.min.css | Bin 9333 -> 9400 bytes public/css/dist/skins/skin-purple.css | Bin 3515 -> 3582 bytes public/css/dist/skins/skin-purple.min.css | Bin 3508 -> 3575 bytes public/css/dist/skins/skin-red-dark.css | Bin 9226 -> 9293 bytes public/css/dist/skins/skin-red-dark.min.css | Bin 9219 -> 9286 bytes public/css/dist/skins/skin-red.css | Bin 3392 -> 3459 bytes public/css/dist/skins/skin-red.min.css | Bin 3385 -> 3452 bytes public/css/dist/skins/skin-yellow-dark.css | Bin 9307 -> 9374 bytes .../css/dist/skins/skin-yellow-dark.min.css | Bin 9300 -> 9367 bytes public/css/dist/skins/skin-yellow.css | Bin 3515 -> 3582 bytes public/css/dist/skins/skin-yellow.min.css | Bin 3508 -> 3575 bytes public/mix-manifest.json | 60 +++++++++--------- 31 files changed, 30 insertions(+), 30 deletions(-) diff --git a/public/css/dist/skins/skin-black-dark.css b/public/css/dist/skins/skin-black-dark.css index bfea6b962c81df4c6cf9fee7d77c5aac14c5dc27..83c0fae28f619d43ccc8fed09ba97ec01736ff24 100644 GIT binary patch delta 56 vcmZ4G{?>iNDrIH8;?%^VWDrEo=Ap@fT diff --git a/public/css/dist/skins/skin-black-dark.min.css b/public/css/dist/skins/skin-black-dark.min.css index 28983df554df8930a59c636beb52eb54c7c0d351..4525ec5b46c5ba498a9256b5c2467777a39b284e 100644 GIT binary patch delta 56 wcmZ4N{>**DB4s7L;?%^VyYMEkanpDdL0Butf_5c6? delta 9 QcmaFnzSw=kB4tJ{02bo|m;e9( diff --git a/public/css/dist/skins/skin-black.css b/public/css/dist/skins/skin-black.css index 669de431216adc12cb09f551d4380c0fa092fb71..65e7252612d26a95a3f7d0233073425c35b3663e 100644 GIT binary patch delta 55 ucmZ1_{Z@LzDqdy1;?%^VTarE1GR4p|sTKfGWfWNe delta 7 OcmaDWy-Iq+Dqa8%Qv)>s diff --git a/public/css/dist/skins/skin-black.min.css b/public/css/dist/skins/skin-black.min.css index 43df00b8dd0ac847f838f5bbb267001a174b9a07..438c6dbebfa7415816f7ec8eb43d3720654190d2 100644 GIT binary patch delta 62 zcmZ21{Y-kpB3@0s;?%^V5;?%^Vg+bp-?0H3m6acW{wa)xe3W_m^r5SQp+h)mwkEy%DNUO delta 9 Qcmew(yHj?<4n9UM02UAfaR2}S diff --git a/public/css/dist/skins/skin-contrast.css b/public/css/dist/skins/skin-contrast.css index cee4a18de974be485032c558aa9fd5c62d9ca81e..4112ec16d7bcb49dd266c82538e21e60ddfef48d 100644 GIT binary patch delta 55 ucmZowJfXOuRX|ym=OffV~s^tOzx#tx? delta 9 QcmX@8_)lR&tpFnz02M3)NdN!< diff --git a/public/css/dist/skins/skin-green-dark.css b/public/css/dist/skins/skin-green-dark.css index 6b3c881e8807adbd51df69a2a277e36916b22474..3f01ca998d5dced45457cea4fd251e298c2273b0 100644 GIT binary patch delta 55 ucmbQ^ao=NujEb^eacW{wa)xe3W_m^r5SQp+h)ll7B*~s?nPO;~R0{w`K@=(g delta 7 OcmccbF~?(rj0yk_Xaf8I diff --git a/public/css/dist/skins/skin-green-dark.min.css b/public/css/dist/skins/skin-green-dark.min.css index e46a4330c3c75e86c856c52e0f7748510f4bded5..afb0e108361f85bae8c7486f625a5831ceefc9d6 100644 GIT binary patch delta 56 vcmbR0al>PSh>EgaacW{wa)xe3W_m^r5SQp+h)ll7B*~F#nPO;~RLcbbRpb;O delta 9 QcmccNG1X&(hzcVY02AB-@c;k- diff --git a/public/css/dist/skins/skin-green.css b/public/css/dist/skins/skin-green.css index 444a1e8b6edfe53d50d69882f00a0ea7945f13df..dbeb9379d697295c663fa5f07c9ec833b577d1a6 100644 GIT binary patch delta 59 ycmbOveN}qHBwlsB;?%^Vn-7USLirUSqL diff --git a/public/css/dist/skins/skin-orange-dark.min.css b/public/css/dist/skins/skin-orange-dark.min.css index 0180fb4ef0dd11275d8b3444cbd4d16e47598f34..383d599336cafb6bca9dffb14eb9725bfac6cb7d 100644 GIT binary patch delta 56 vcmZ4O`Ob60DivkD;?%^VeN+_P delta 9 QcmaFox!QBXDiua902iVIwEzGB diff --git a/public/css/dist/skins/skin-orange.css b/public/css/dist/skins/skin-orange.css index 2c09f559037ff4e0932c77b14f976c1740f6e4af..ae849dde50606d8e3b3f1f39f63b432ea7047b76 100644 GIT binary patch delta 54 tcmdlj{ZD$sZeC@*;?%^Vt<8 diff --git a/public/css/dist/skins/skin-purple-dark.css b/public/css/dist/skins/skin-purple-dark.css index d27cc841c91632433da92cdd0e2a266cfb479f39..e24854ea582f7c51a9369ea4c4eaf8baef0fe264 100644 GIT binary patch delta 56 vcmez4vEOq;jf%2facW{wa)xe3W_m^r5SQp+h)mumF2SLkYMEkanp6t_deao} delta 7 Ocmdn*`Nv~JjS2t|E(4ta diff --git a/public/css/dist/skins/skin-purple-dark.min.css b/public/css/dist/skins/skin-purple-dark.min.css index 7afc14b3a7c833cb2946659614aebf8e3be0cff0..a4d2d6c315ffff7e9059f7c8e4f1c9af5f935600 100644 GIT binary patch delta 56 vcmezBvBPsiiHfpbacW{wa)xe3W_m^r5SQp+h)h1nBgv6!nPO;~RLcbbcPA9O delta 9 Qcmdnt`PE}Xi3%eZ02br}k^lez diff --git a/public/css/dist/skins/skin-purple.css b/public/css/dist/skins/skin-purple.css index 516ad90b1d9d8b4e6d69450dd8f8de39eaa0fbad..89d76c07421effedeb7754a6980185c9f3450096 100644 GIT binary patch delta 55 ucmdlj{ZD$sZeC@*;?%^VL)GR4p|sTKfPN)%=Q delta 7 Ocmew-y<2+2Ze9QnK?7(2 diff --git a/public/css/dist/skins/skin-purple.min.css b/public/css/dist/skins/skin-purple.min.css index 6289fadf73167f78da995ca5b58beca052af90ad..07197e4d8bca316d1be269ef47f1d5b8f53387ca 100644 GIT binary patch delta 56 vcmdlY{at#)W?p5z;?%^VX(<$2 delta 9 Qcmew^y+wM%W?n`v02Pe`T>t<8 diff --git a/public/css/dist/skins/skin-red-dark.css b/public/css/dist/skins/skin-red-dark.css index 07930c423be801d0fb8d4d730e8de9ced678df61..499aeea591fe36a920ea81490a17a64c5d3ccb88 100644 GIT binary patch delta 55 vcmeD3IP0;2OGQbqI5n{-IYT!iGd&{*h)Z(dDs$O9cQ8Yy!pr diff --git a/public/css/dist/skins/skin-red-dark.min.css b/public/css/dist/skins/skin-red-dark.min.css index f3e5215920a986da54326649bd22c4d5b5aa5191..e6c50b8c816955034a2992729ef9f08ea9209d62 100644 GIT binary patch delta 56 vcmZqnIOef|Nkv(&I5n{-IYT!iGd&{*h)Z-ZL?$!xN^+!HrWl$g)p7vg)hxZifmd0tI5n{-IYT!iGd&{*h)Z-ZL?#DtOR}e0rWl$g)dBz|i4!aU delta 7 OcmZpcJ|MNhffoP^0|Isc diff --git a/public/css/dist/skins/skin-red.min.css b/public/css/dist/skins/skin-red.min.css index 3fd32d8bbb874df354d4b4d60d37629d7f305df0..00ef63befff98f2c3e0d653d93cb4fe01cc5161d 100644 GIT binary patch delta 56 vcmdlf^+#%h1+TJRacW{wa)xe3W_m^r5SQp+h)k|!lH^FWOffV~s^tOzP_h%m delta 9 Qcmew(wNq+?1ur8P02AW^>Hq)$ diff --git a/public/css/dist/skins/skin-yellow-dark.css b/public/css/dist/skins/skin-yellow-dark.css index 968ecbf8c04b5395d65687c82172fda8e56ba975..cc0b6749fb36c6cbf4343dd37a61ddbb274a9ab5 100644 GIT binary patch delta 56 vcmccZG0$^Dw2HD`acW{wa)xe3W_m^r5SQp+h)iBDCc&YcYMEkanp6t_Wm6P= delta 7 OcmbQ|dD~+{vt<8 diff --git a/public/mix-manifest.json b/public/mix-manifest.json index 7fa4dfa64c..844bb82359 100644 --- a/public/mix-manifest.json +++ b/public/mix-manifest.json @@ -3,21 +3,21 @@ "/css/build/AdminLTE.css": "/css/build/AdminLTE.css?id=59413334823616b81341", "/css/build/app.css": "/css/build/app.css?id=032fd8c3fce99c7fd862", "/css/build/overrides.css": "/css/build/overrides.css?id=0b4aefd7ef0c117ef23a", - "/css/dist/skins/skin-blue.css": "/css/dist/skins/skin-blue.css?id=2a741dd5409582c0af89", - "/css/dist/skins/skin-red.css": "/css/dist/skins/skin-red.css?id=817384969ed226028416", - "/css/dist/skins/skin-contrast.css": "/css/dist/skins/skin-contrast.css?id=d7996d850e8bcdc4e167", - "/css/dist/skins/skin-green.css": "/css/dist/skins/skin-green.css?id=eee1d10b6d7db576428e", - "/css/dist/skins/skin-green-dark.css": "/css/dist/skins/skin-green-dark.css?id=0d9935d834b39386a82e", - "/css/dist/skins/skin-black.css": "/css/dist/skins/skin-black.css?id=39250963ef83dac17f77", - "/css/dist/skins/skin-black-dark.css": "/css/dist/skins/skin-black-dark.css?id=97ec6f217441ac2f79ed", - "/css/dist/skins/skin-red-dark.css": "/css/dist/skins/skin-red-dark.css?id=bb408a66967c2c81f420", - "/css/dist/skins/skin-purple.css": "/css/dist/skins/skin-purple.css?id=b8be296ada5cbc4563fa", - "/css/dist/skins/skin-purple-dark.css": "/css/dist/skins/skin-purple-dark.css?id=39058e01caf0aeb39624", - "/css/dist/skins/skin-yellow.css": "/css/dist/skins/skin-yellow.css?id=67a30cff63473dade0e3", - "/css/dist/skins/skin-yellow-dark.css": "/css/dist/skins/skin-yellow-dark.css?id=23a14ac3cfe978b19c89", - "/css/dist/skins/skin-blue-dark.css": "/css/dist/skins/skin-blue-dark.css?id=8f7aed152883df9c6f5e", - "/css/dist/skins/skin-orange-dark.css": "/css/dist/skins/skin-orange-dark.css?id=b3d2ebfcb2541fa8e9ec", - "/css/dist/skins/skin-orange.css": "/css/dist/skins/skin-orange.css?id=39eb843599c275696aed", + "/css/dist/skins/skin-blue.css": "/css/dist/skins/skin-blue.css?id=1f87813d401bf76aa1c0", + "/css/dist/skins/skin-red.css": "/css/dist/skins/skin-red.css?id=b09d08f1bce1ce6ef565", + "/css/dist/skins/skin-contrast.css": "/css/dist/skins/skin-contrast.css?id=4fce68ca7086890d9029", + "/css/dist/skins/skin-green.css": "/css/dist/skins/skin-green.css?id=caf97a95374a38d8645e", + "/css/dist/skins/skin-green-dark.css": "/css/dist/skins/skin-green-dark.css?id=d6fc509af348f74dbe80", + "/css/dist/skins/skin-black.css": "/css/dist/skins/skin-black.css?id=8babe0615220ced5e869", + "/css/dist/skins/skin-black-dark.css": "/css/dist/skins/skin-black-dark.css?id=a1be7d448d0a7a677aa4", + "/css/dist/skins/skin-red-dark.css": "/css/dist/skins/skin-red-dark.css?id=36c5a414e9b5dfff5010", + "/css/dist/skins/skin-purple.css": "/css/dist/skins/skin-purple.css?id=73e98a9a8e41cd044475", + "/css/dist/skins/skin-purple-dark.css": "/css/dist/skins/skin-purple-dark.css?id=bc80aa3d9d5ab9f72514", + "/css/dist/skins/skin-yellow.css": "/css/dist/skins/skin-yellow.css?id=40988b7e9e4bbd9baa06", + "/css/dist/skins/skin-yellow-dark.css": "/css/dist/skins/skin-yellow-dark.css?id=39a7bdc303ea2cd82641", + "/css/dist/skins/skin-blue-dark.css": "/css/dist/skins/skin-blue-dark.css?id=bd4e8277d360eac19b2b", + "/css/dist/skins/skin-orange-dark.css": "/css/dist/skins/skin-orange-dark.css?id=289676d6c84e2f4980d6", + "/css/dist/skins/skin-orange.css": "/css/dist/skins/skin-orange.css?id=0426fbe408151f690505", "/css/dist/all.css": "/css/dist/all.css?id=199fdf677ce0dce6cef8", "/css/blue.png": "/css/blue.png?id=4c85d6a97173123bd14a", "/css/blue@2x.png": "/css/blue@2x.png?id=62c67c6a822439e8a4ac", @@ -27,19 +27,19 @@ "/js/build/vendor.js": "/js/build/vendor.js?id=b93877b4a88a76e1b18b", "/js/dist/bootstrap-table.js": "/js/dist/bootstrap-table.js?id=fd6e727609678bf04984", "/js/dist/all.js": "/js/dist/all.js?id=dde965016a515da2f8d2", - "/css/dist/skins/skin-green.min.css": "/css/dist/skins/skin-green.min.css?id=eee1d10b6d7db576428e", - "/css/dist/skins/skin-green-dark.min.css": "/css/dist/skins/skin-green-dark.min.css?id=0d9935d834b39386a82e", - "/css/dist/skins/skin-black.min.css": "/css/dist/skins/skin-black.min.css?id=39250963ef83dac17f77", - "/css/dist/skins/skin-black-dark.min.css": "/css/dist/skins/skin-black-dark.min.css?id=97ec6f217441ac2f79ed", - "/css/dist/skins/skin-blue.min.css": "/css/dist/skins/skin-blue.min.css?id=2a741dd5409582c0af89", - "/css/dist/skins/skin-blue-dark.min.css": "/css/dist/skins/skin-blue-dark.min.css?id=8f7aed152883df9c6f5e", - "/css/dist/skins/skin-yellow.min.css": "/css/dist/skins/skin-yellow.min.css?id=67a30cff63473dade0e3", - "/css/dist/skins/skin-yellow-dark.min.css": "/css/dist/skins/skin-yellow-dark.min.css?id=23a14ac3cfe978b19c89", - "/css/dist/skins/skin-red.min.css": "/css/dist/skins/skin-red.min.css?id=817384969ed226028416", - "/css/dist/skins/skin-red-dark.min.css": "/css/dist/skins/skin-red-dark.min.css?id=bb408a66967c2c81f420", - "/css/dist/skins/skin-purple.min.css": "/css/dist/skins/skin-purple.min.css?id=b8be296ada5cbc4563fa", - "/css/dist/skins/skin-purple-dark.min.css": "/css/dist/skins/skin-purple-dark.min.css?id=39058e01caf0aeb39624", - "/css/dist/skins/skin-orange.min.css": "/css/dist/skins/skin-orange.min.css?id=39eb843599c275696aed", - "/css/dist/skins/skin-orange-dark.min.css": "/css/dist/skins/skin-orange-dark.min.css?id=b3d2ebfcb2541fa8e9ec", - "/css/dist/skins/skin-contrast.min.css": "/css/dist/skins/skin-contrast.min.css?id=d7996d850e8bcdc4e167" + "/css/dist/skins/skin-green.min.css": "/css/dist/skins/skin-green.min.css?id=caf97a95374a38d8645e", + "/css/dist/skins/skin-green-dark.min.css": "/css/dist/skins/skin-green-dark.min.css?id=d6fc509af348f74dbe80", + "/css/dist/skins/skin-black.min.css": "/css/dist/skins/skin-black.min.css?id=8babe0615220ced5e869", + "/css/dist/skins/skin-black-dark.min.css": "/css/dist/skins/skin-black-dark.min.css?id=a1be7d448d0a7a677aa4", + "/css/dist/skins/skin-blue.min.css": "/css/dist/skins/skin-blue.min.css?id=1f87813d401bf76aa1c0", + "/css/dist/skins/skin-blue-dark.min.css": "/css/dist/skins/skin-blue-dark.min.css?id=bd4e8277d360eac19b2b", + "/css/dist/skins/skin-yellow.min.css": "/css/dist/skins/skin-yellow.min.css?id=40988b7e9e4bbd9baa06", + "/css/dist/skins/skin-yellow-dark.min.css": "/css/dist/skins/skin-yellow-dark.min.css?id=39a7bdc303ea2cd82641", + "/css/dist/skins/skin-red.min.css": "/css/dist/skins/skin-red.min.css?id=b09d08f1bce1ce6ef565", + "/css/dist/skins/skin-red-dark.min.css": "/css/dist/skins/skin-red-dark.min.css?id=36c5a414e9b5dfff5010", + "/css/dist/skins/skin-purple.min.css": "/css/dist/skins/skin-purple.min.css?id=73e98a9a8e41cd044475", + "/css/dist/skins/skin-purple-dark.min.css": "/css/dist/skins/skin-purple-dark.min.css?id=bc80aa3d9d5ab9f72514", + "/css/dist/skins/skin-orange.min.css": "/css/dist/skins/skin-orange.min.css?id=0426fbe408151f690505", + "/css/dist/skins/skin-orange-dark.min.css": "/css/dist/skins/skin-orange-dark.min.css?id=289676d6c84e2f4980d6", + "/css/dist/skins/skin-contrast.min.css": "/css/dist/skins/skin-contrast.min.css?id=4fce68ca7086890d9029" } From ab694347b00063ec665f821082d01d7428f322d2 Mon Sep 17 00:00:00 2001 From: snipe Date: Wed, 5 May 2021 01:18:49 -0700 Subject: [PATCH 06/24] Added favicon to demo dir Signed-off-by: snipe --- public/img/demo/favicon.ico | Bin 0 -> 17910 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 public/img/demo/favicon.ico diff --git a/public/img/demo/favicon.ico b/public/img/demo/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..7b20fd4f6bd98ab32151b07b4949f642a142f7f9 GIT binary patch literal 17910 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 Date: Wed, 5 May 2021 10:13:19 -0700 Subject: [PATCH 07/24] =?UTF-8?q?Only=20show=20department=20if=20it?= =?UTF-8?q?=E2=80=99s=20valid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: snipe --- resources/views/users/view.blade.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/resources/views/users/view.blade.php b/resources/views/users/view.blade.php index a7394eb6c4..4cbbe99381 100755 --- a/resources/views/users/view.blade.php +++ b/resources/views/users/view.blade.php @@ -248,10 +248,14 @@ @endif - @if (!is_null($user->department)) + @if ($user->department) {{ trans('general.department') }} - {{ $user->department->name }} + + + {{ $user->department->name }} + + @endif @if ($user->created_at) From ece627b3a343f0884bcafd247bc5e850921f5bee Mon Sep 17 00:00:00 2001 From: snipe Date: Wed, 5 May 2021 10:23:46 -0700 Subject: [PATCH 08/24] Small fixes for location printing when relationships are missing/invalid, per #9521 Signed-off-by: snipe --- resources/views/locations/print.blade.php | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/resources/views/locations/print.blade.php b/resources/views/locations/print.blade.php index 3d20a6ce11..97fc15d958 100644 --- a/resources/views/locations/print.blade.php +++ b/resources/views/locations/print.blade.php @@ -84,11 +84,11 @@ {{ $counter }} - {{ $user->company->name }} - {{ $user->first_name }} {{ $user->last_name }} - {{ $user->employee_num }} - {{ $user->department->name }} - {{ $user->location->name }} + {{ (($user) && ($user->company)) ? $user->company->name : '' }} + {{ ($user) ? $user->first_name .' '. $user->last_name : '' }} + {{ ($user) ? $user->employee_num : '' }} + {{ (($user) && ($user->department)) ? $user->department->name : '' }} + {{ (($user) && ($user->location)) ? $user->location->name : '' }} @php $counter++ @@ -131,11 +131,11 @@ {{ $counter }} {{ $asset->asset_tag }} {{ $asset->name }} - {{ $asset->model->category->name }} - {{ $asset->model->manufacturer->name }} - {{ $asset->model->name }} {{ $asset->model->model_number }} - {{ $asset->serial }} - {{ $asset->location->name }} + {{ (($asset->model) && ($asset->model->category)) ? $asset->model->category->name : '' }} + {{ (($asset->model) && ($asset->model->manufacturer)) ? $asset->model->manufacturer->name : '' }} + {{ ($asset->model) ? $asset->model->name : '' }} + {{ $asset->serial }} + {{ $asset->location->name }} {{ $asset->last_checkout }} {{ $asset->expected_checkin }} From 4e408cbc4243153371f982bea228a955a7973c87 Mon Sep 17 00:00:00 2001 From: Tom Misilo <1446856+misilot@users.noreply.github.com> Date: Wed, 5 May 2021 12:51:47 -0500 Subject: [PATCH 09/24] Fix CSP Always being Enabled unless in debug mode. (#9543) --- app/Http/Middleware/SecurityHeaders.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Http/Middleware/SecurityHeaders.php b/app/Http/Middleware/SecurityHeaders.php index 4a75d6ec29..8a3800ffe6 100644 --- a/app/Http/Middleware/SecurityHeaders.php +++ b/app/Http/Middleware/SecurityHeaders.php @@ -99,7 +99,7 @@ class SecurityHeaders // We have to exclude debug mode here because debugbar pulls from a CDN or two // and it will break things. - if ((config('app.debug')!='true') || (config('app.enable_csp')=='true')) { + if ((config('app.debug')!='true') && (config('app.enable_csp')=='true')) { $csp_policy[] = "default-src 'self'"; $csp_policy[] = "style-src 'self' 'unsafe-inline'"; $csp_policy[] = "script-src 'self' 'unsafe-inline' 'unsafe-eval'"; From 397e2df3ea53d06986eb953a12d3dcd64c9c4ad7 Mon Sep 17 00:00:00 2001 From: Tom Misilo <1446856+misilot@users.noreply.github.com> Date: Fri, 7 May 2021 15:50:36 -0500 Subject: [PATCH 10/24] Upgrade the Alpine docker img to v3.13 for PHP 7.4 (#9550) v3.13 of the alpine image has php7.4 instead of php7.3 --- Dockerfile.alpine | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.alpine b/Dockerfile.alpine index 64cac8df22..6b52b74f9a 100644 --- a/Dockerfile.alpine +++ b/Dockerfile.alpine @@ -1,4 +1,4 @@ -FROM alpine:3.12 +FROM alpine:3.13 # Apache + PHP RUN apk add --no-cache \ apache2 \ From 9aac3ae628360f8d2604d79750740684e41a9dad Mon Sep 17 00:00:00 2001 From: snipe Date: Fri, 7 May 2021 16:36:07 -0700 Subject: [PATCH 11/24] Fixed HTML causing two backup headers to appear Signed-off-by: snipe --- resources/views/settings/backups.blade.php | 1 - 1 file changed, 1 deletion(-) diff --git a/resources/views/settings/backups.blade.php b/resources/views/settings/backups.blade.php index 3af4d8ba96..742ae25c9d 100644 --- a/resources/views/settings/backups.blade.php +++ b/resources/views/settings/backups.blade.php @@ -29,7 +29,6 @@ data-sort-order="asc" id="system-backups" class="table table-striped snipe-table"> - File Created From a70461439750c6ca54bf8ec4a55cd9f0bc3a2afe Mon Sep 17 00:00:00 2001 From: snipe Date: Fri, 7 May 2021 16:42:26 -0700 Subject: [PATCH 12/24] Bumped max for country on model Signed-off-by: snipe --- app/Models/Location.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Models/Location.php b/app/Models/Location.php index dc8aa6a043..1f48f96e77 100755 --- a/app/Models/Location.php +++ b/app/Models/Location.php @@ -23,7 +23,7 @@ class Location extends SnipeModel protected $rules = array( 'name' => 'required|min:2|max:255|unique_undeleted', 'city' => 'min:2|max:255|nullable', - 'country' => 'min:2|max:2|nullable', + 'country' => 'min:2|max:255|nullable', 'address' => 'max:80|nullable', 'address2' => 'max:80|nullable', 'zip' => 'min:3|max:10|nullable', From 62199f62555c408e9cb306606a1733b16fe6c5ac Mon Sep 17 00:00:00 2001 From: Brady Wetherington Date: Fri, 7 May 2021 17:01:32 -0700 Subject: [PATCH 13/24] Manually re-add support for Label Logos in Labels (#9552) --- resources/views/hardware/labels.blade.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/resources/views/hardware/labels.blade.php b/resources/views/hardware/labels.blade.php index 52c06aad9a..beef718472 100644 --- a/resources/views/hardware/labels.blade.php +++ b/resources/views/hardware/labels.blade.php @@ -56,6 +56,13 @@ $qr_size = ($settings->alt_barcode_enabled=='1') && ($settings->alt_barcode!='') padding-top: .11in; width: 100%; } + div.label-logo { + float: right; + display: inline-block; + } + img.label-logo { + height: 0.5in; + } .qr_text { width: {{ $settings->labels_width }}in; height: {{ $settings->labels_height }}in; @@ -111,6 +118,11 @@ $qr_size = ($settings->alt_barcode_enabled=='1') && ($settings->alt_barcode!='') @endif
+ @if ($settings->label_logo) + + @endif @if ($settings->qr_text!='')
{{ $settings->qr_text }} From ded61614d1cc2557c83a8bfce49e36e56dfe5315 Mon Sep 17 00:00:00 2001 From: snipe Date: Fri, 7 May 2021 18:13:04 -0700 Subject: [PATCH 14/24] Attempt to fix transient LDAP bug Signed-off-by: snipe --- app/Services/LdapAd.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Services/LdapAd.php b/app/Services/LdapAd.php index 925927d1fe..4bfef3d3ed 100644 --- a/app/Services/LdapAd.php +++ b/app/Services/LdapAd.php @@ -135,7 +135,7 @@ class LdapAd extends LdapAdConfiguration $bind_as_user = true; } - if ($this->ldap->auth()->attempt($login_username, $password, $bind_as_user) === false) { + if (($this->ldap) && ($this->ldap->auth()->attempt($login_username, $password, $bind_as_user) === false)) { throw new Exception('Unable to validate user credentials!'); } From a29ef733463e127281e2cef63f227455e88e3ac5 Mon Sep 17 00:00:00 2001 From: tbrconnect Date: Wed, 12 May 2021 21:38:26 +0100 Subject: [PATCH 15/24] Feature #3088 Print labels from asset detail page (#9559) This PR adds a "Generate Label" button to the detail asset page as described in #3088. Fixes #3088 Co-authored-by: tilmann.bitterberg --- resources/views/hardware/view.blade.php | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/resources/views/hardware/view.blade.php b/resources/views/hardware/view.blade.php index dcf2adc2ec..e96e495d2f 100755 --- a/resources/views/hardware/view.blade.php +++ b/resources/views/hardware/view.blade.php @@ -722,7 +722,28 @@ {{ ($asset->userRequests) ? (int) $asset->userRequests->count() : '0' }}
+
+
+ + Labels + +
+
+ {{ Form::open([ + 'method' => 'POST', + 'route' => ['hardware/bulkedit'], + 'class' => 'form-inline', + 'id' => 'bulkForm']) }} +
+ + + +
+ {{ Form::close() }} + +
+
@@ -1126,4 +1147,4 @@ @section('moar_scripts') @include ('partials.bootstrap-table') -@stop \ No newline at end of file +@stop From 3f559c4a507f251e5e65d0bc0c7c3459f546f835 Mon Sep 17 00:00:00 2001 From: snipe Date: Wed, 12 May 2021 13:38:56 -0700 Subject: [PATCH 16/24] Add @tbrconnect as a contributor --- .all-contributorsrc | 9 +++++++++ README.md | 4 ++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index 2b182a2476..97801eafa9 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -2333,6 +2333,15 @@ "contributions": [ "code" ] + }, + { + "login": "tbrconnect", + "name": "tbrconnect", + "avatar_url": "https://avatars.githubusercontent.com/u/11973217?v=4", + "profile": "https://github.com/tbrconnect", + "contributions": [ + "code" + ] } ] } diff --git a/README.md b/README.md index 0b7f4c3dec..5c5e40fad6 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ ![Build Status](https://app.chipperci.com/projects/0e5f8979-31eb-4ee6-9abf-050b76ab0383/status/master) [![Crowdin](https://d322cqt584bo4o.cloudfront.net/snipe-it/localized.svg)](https://crowdin.com/project/snipe-it) [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/snipe/snipe-it?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Docker Pulls](https://img.shields.io/docker/pulls/snipe/snipe-it.svg)](https://hub.docker.com/r/snipe/snipe-it/) [![Twitter Follow](https://img.shields.io/twitter/follow/snipeitapp.svg?style=social)](https://twitter.com/snipeitapp) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/553ce52037fc43ea99149785afcfe641)](https://www.codacy.com/app/snipe/snipe-it?utm_source=github.com&utm_medium=referral&utm_content=snipe/snipe-it&utm_campaign=Badge_Grade) -[![All Contributors](https://img.shields.io/badge/all_contributors-256-orange.svg?style=flat-square)](#contributors) +[![All Contributors](https://img.shields.io/badge/all_contributors-257-orange.svg?style=flat-square)](#contributors) ## Snipe-IT - Open Source Asset Management System @@ -125,7 +125,7 @@ Thanks goes to all of these wonderful people ([emoji key](https://github.com/ken | [
Kevin KΓΆllmann](https://www.kevinkoellmann.de)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=koelle25 "Code") | [
sw-mreyes](https://github.com/sw-mreyes)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=sw-mreyes "Code") | [
Joel Pittet](https://pittet.ca)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=joelpittet "Code") | [
Eli Young](https://elyscape.com)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=elyscape "Code") | [
Raell Dottin](https://github.com/raelldottin)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=raelldottin "Code") | [
Tom Misilo](https://github.com/misilot)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=misilot "Code") | [
David Davenne](http://david.davenne.be)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=JuustoMestari "Code") | | [
Mark Stenglein](https://markstenglein.com)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=ocelotsloth "Code") | [
ajsy](https://github.com/ajsy)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=ajsy "Code") | [
Jan Kiesewetter](https://github.com/t3easy)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=t3easy "Code") | [
Tetrachloromethane250](https://github.com/Tetrachloromethane250)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=Tetrachloromethane250 "Code") | [
Lars Kajes](https://www.kajes.se/)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=kajes "Code") | [
Joly0](https://github.com/Joly0)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=Joly0 "Code") | [
theburger](https://github.com/limeless)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=limeless "Code") | | [
David Valin Alonso](https://github.com/deivishome)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=deivishome "Code") | [
andreaci](https://github.com/andreaci)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=andreaci "Code") | [
Jelle Sebreghts](http://www.jellesebreghts.be)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=Jelle-S "Code") | [
Michael Pietsch](https://github.com/Skywalker-11)
| [
Masudul Haque Shihab](https://github.com/sh1hab)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=sh1hab "Code") | [
Supapong Areeprasertkul](http://www.freedomdive.com/)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=zybersup "Code") | [
Peter Sarossy](https://github.com/psarossy)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=psarossy "Code") | -| [
Renee Margaret McConahy](https://github.com/nepella)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=nepella "Code") | [
JohnnyPicnic](https://github.com/JohnnyPicnic)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=JohnnyPicnic "Code") | [
markbrule](https://github.com/markbrule)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=markbrule "Code") | [
Mike Campbell](https://github.com/mikecmpbll)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=mikecmpbll "Code") | +| [
Renee Margaret McConahy](https://github.com/nepella)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=nepella "Code") | [
JohnnyPicnic](https://github.com/JohnnyPicnic)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=JohnnyPicnic "Code") | [
markbrule](https://github.com/markbrule)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=markbrule "Code") | [
Mike Campbell](https://github.com/mikecmpbll)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=mikecmpbll "Code") | [
tbrconnect](https://github.com/tbrconnect)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=tbrconnect "Code") | This project follows the [all-contributors](https://github.com/kentcdodds/all-contributors) specification. Contributions of any kind welcome! From 6ed5dff1a50f0791f422547fea84c646718cd837 Mon Sep 17 00:00:00 2001 From: Ivan Nieto Vivanco Date: Wed, 12 May 2021 18:41:49 -0500 Subject: [PATCH 17/24] Fix the target path to copy the demo logos in the database\seeds\SettingsSeeder.php. Also added the code that copies the demo logos to app\Console\Commands\ResetDemoSettings.php (#9571) --- app/Console/Commands/ResetDemoSettings.php | 2 ++ database/seeds/SettingsSeeder.php | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/app/Console/Commands/ResetDemoSettings.php b/app/Console/Commands/ResetDemoSettings.php index 89fd5a5acb..6808b125c8 100644 --- a/app/Console/Commands/ResetDemoSettings.php +++ b/app/Console/Commands/ResetDemoSettings.php @@ -81,6 +81,8 @@ class ResetDemoSettings extends Command $user->save(); } + \Storage::disk('local_public')->put('snipe-logo.png', file_get_contents(public_path('img/demo/snipe-logo.png'))); + \Storage::disk('local_public')->put('snipe-logo-lg.png', file_get_contents(public_path('img/demo/snipe-logo-lg.png'))); } diff --git a/database/seeds/SettingsSeeder.php b/database/seeds/SettingsSeeder.php index e4a3b2fb0b..3ad8b8d856 100644 --- a/database/seeds/SettingsSeeder.php +++ b/database/seeds/SettingsSeeder.php @@ -42,8 +42,8 @@ class SettingsSeeder extends Seeder // Copy the logos from the img/demo directory - Storage::disk('public')->put(public_path('uploads/snipe-logo.png'), file_get_contents(public_path('img/demo/snipe-logo.png'))); - Storage::disk('public')->put(public_path('uploads/snipe-logo-lg.png'), file_get_contents(public_path('img/demo/snipe-logo-lg.png'))); + Storage::disk('local_public')->put('snipe-logo.png', file_get_contents(public_path('img/demo/snipe-logo.png'))); + Storage::disk('local_public')->put('snipe-logo-lg.png', file_get_contents(public_path('img/demo/snipe-logo-lg.png'))); } } From 76897f3a3a795d134a62f41fa342c3a70d433021 Mon Sep 17 00:00:00 2001 From: snipe Date: Wed, 12 May 2021 17:08:53 -0700 Subject: [PATCH 18/24] Make label printing from asset page more consistent with normal UI Signed-off-by: snipe --- resources/views/hardware/view.blade.php | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/resources/views/hardware/view.blade.php b/resources/views/hardware/view.blade.php index e96e495d2f..3b9dfb4f59 100755 --- a/resources/views/hardware/view.blade.php +++ b/resources/views/hardware/view.blade.php @@ -734,11 +734,9 @@ 'route' => ['hardware/bulkedit'], 'class' => 'form-inline', 'id' => 'bulkForm']) }} -
- -
+ {{ Form::close() }} From 6066005aeb9d4a7fb3a0666e15847e5aafaf2597 Mon Sep 17 00:00:00 2001 From: Brady Wetherington Date: Wed, 12 May 2021 17:44:39 -0700 Subject: [PATCH 19/24] [WIP] Initial rough stabs at the Backup Migrator. It kinda-sorta works? (#9457) * Initial rough stabs at the Backup Migrator. It kinda-sorta works? * Fix hardcoded mysql path var --- app/Console/Commands/RestoreFromBackup.php | 249 +++++++++++++++++++++ 1 file changed, 249 insertions(+) create mode 100644 app/Console/Commands/RestoreFromBackup.php diff --git a/app/Console/Commands/RestoreFromBackup.php b/app/Console/Commands/RestoreFromBackup.php new file mode 100644 index 0000000000..5d9042a046 --- /dev/null +++ b/app/Console/Commands/RestoreFromBackup.php @@ -0,0 +1,249 @@ +argument('filename'); + + if (!$filename) { + return $this->error("Missing required filename"); + } + + if (!$this->option('force') && !$this->confirm('Are you sure you wish to restore from the given backup file? This can lead to MASSIVE DATA LOSS!')) { + return $this->error("Data loss not confirmed"); + } + + if (config('database.default') != 'mysql') { + return $this->error("DB_CONNECTION must be MySQL in order to perform a restore. Detected: ".config('database.default')); + } + + $za = new ZipArchive(); + + $errcode = $za->open($filename, ZipArchive::RDONLY); + if ($errcode !== true) { + $errors = [ + ZipArchive::ER_EXISTS => "File already exists.", + ZipArchive::ER_INCONS => "Zip archive inconsistent.", + ZipArchive::ER_INVAL => "Invalid argument.", + ZipArchive::ER_MEMORY => "Malloc failure.", + ZipArchive::ER_NOENT => "No such file.", + ZipArchive::ER_NOZIP => "Not a zip archive.", + ZipArchive::ER_OPEN => "Can't open file.", + ZipArchive::ER_READ => "Read error.", + ZipArchive::ER_SEEK => "Seek error." + ]; + + return $this->error("Could not access file: ".$filename." - ".array_key_exists($errcode,$errors) ? $errors[$errcode] : " Unknown reason: $errcode"); + } + + + $private_dirs = [ + 'storage/private_uploads/assets', + 'storage/private_uploads/audits', + 'storage/private_uploads/imports', + 'storage/private_uploads/assetmodels', + 'storage/private_uploads/users', + 'storage/private_uploads/licenses', + 'storage/private_uploads/signatures' // We probably don't want this in the first place. + ]; + $private_files = [ + 'storage/oauth-private.key', + 'storage/oauth-public.key' + ]; + $public_dirs = [ + 'public/uploads/companies', + 'public/uploads/components', + 'public/uploads/categories', + 'public/uploads/manufacturers', + 'public/uploads/barcodes', // don't want this neither + 'public/uploads/consumables', + 'public/uploads/departments', + 'public/uploads/avatars', + 'public/uploads/suppliers', + 'public/uploads/assets', //wait, what?! + 'public/uploads/locations', + 'public/uploads/accessories', + 'public/uploads/models', + ]; + + $public_files = [ + 'public/uploads/logo.png' + ]; + + $all_files = $private_dirs + $public_dirs; + + $sqlfiles = []; + $sqlfile_indices = []; + + $interesting_files = []; + + for ($i=0; $i<$za->numFiles;$i++) { + $stat_results = $za->statIndex($i); + // echo "index: $i\n"; + // print_r($stat_results); + + $raw_path = $stat_results['name']; + // skip macOS resource fork files (?!?!?!) + if(strpos($raw_path,"__MACOSX")!==false && strpos($raw_path,"._") !== false) { + //print "SKIPPING macOS Resource fork file: $raw_path\n"; + continue; + } + if(strpos($raw_path,'\\')!==false) { //found a backslash, swap it to forward-slash + $raw_path = strtr($raw_path,'\\','/'); + //print "Translating file: ".$stat_results['name']." to: ".$raw_path."\n"; + } + + if(@pathinfo($raw_path)['extension'] == "sql") { + print "Found a sql file!\n"; + $sqlfiles[] = $raw_path; + $sqlfile_indices[] = $i; + } + + foreach($private_dirs+$public_dirs as $dir) { + $last_pos = strrpos($raw_path,$dir.'/'); + if($last_pos !== false ) { + //print("INTERESTING - last_pos is $last_pos when searching $raw_path for $dir - last_pos+strlen(\$dir) is: ".($last_pos+strlen($dir))." and strlen(\$rawpath) is: ".strlen($raw_path)."\n"); + print("We would copy $raw_path to $dir.\n"); //FIXME append to a path? + $interesting_files[$raw_path] = ['dest' =>$dir, 'index' => $i]; + if($last_pos + strlen($dir) +1 == strlen($raw_path)) { + // we don't care about that; we just want files with the appropriate prefix + //print("FOUND THE EXACT DIRECTORY: $dir AT: $raw_path!!!\n"); + } + } + } + foreach($private_files+$public_files as $file) { + $last_pos = strrpos($raw_path,$file); // no trailing slash! + if($last_pos !== false ) { + //print("INTERESTING - last_pos is $last_pos when searching $raw_path for $file - last_pos+strlen(\$file) is: ".($last_pos+strlen($file))." and strlen(\$rawpath) is: ".strlen($raw_path)."\n"); + if($last_pos + strlen($file) == strlen($raw_path)) { //again, no trailing slash + print("FOUND THE EXACT FILE: $file AT: $raw_path!!!\n"); //we *do* care about this, though. + $interesting_files[$raw_path] = ['dest' => dirname($file),'index' => $i]; + } + } + + } + } + + // print_r($interesting_files);exit(-1); + + if( count($sqlfiles) != 1) { + return $this->error("There should be exactly *one* sql backup file found, found: ".( count($sqlfiles) == 0 ? "None" : implode(", ",$sqlfiles))); + } + + if( strpos($sqlfiles[0], "db-dumps") === false ) { + //return $this->error("SQL backup file is missing 'db-dumps' component of full pathname: ".$sqlfiles[0]); + //older Snipe-IT installs don't have the db-dumps subdirectory component + } + + //how to invoke the restore? + $pipes = []; + + // FIXME - absolutely can *NOT* be hardcoding paths like this!!!!!!! But I don't know how to do it right? (Maybe get the user's ENV and append the MYSQL_PWD to it?) + $env_vars = getenv(); + $env_vars['MYSQL_PWD'] = config("database.connections.mysql.password"); + $proc_results = proc_open("mysql -h ".escapeshellarg(config('database.connections.mysql.host'))." -u ".escapeshellarg(config('database.connections.mysql.username'))." ".escapeshellarg(config('database.connections.mysql.database')), // yanked -p since we pass via ENV + [0 => ['pipe','r'],1 => ['pipe','w'],2 => ['pipe','w']], + $pipes, + null, + $env_vars); // this is not super-duper awesome-secure, but definitely more secure than showing it on the CLI, or dropping temporary files with passwords in them. + if($proc_results === false) { + return $this->error("Unable to invoke mysql via CLI"); + } + + // $this->info("Stdout says? ".fgets($pipes[1])); //FIXME: I think we might need to set non-blocking mode to use this properly? + // $this->info("Stderr says? ".fgets($pipes[2])); //FIXME: ditto, same. + // should we read stdout? + // fwrite($pipes[0],config("database.connections.mysql.password")."\n"); //this doesn't work :( + + //$sql_contents = fopen($sqlfiles[0], "r"); //NOPE! This isn't a real file yet, silly-billy! + + $sql_stat = $za->statIndex($sqlfile_indices[0]); + $this->info("SQL Stat is: ".print_r($sql_stat,true)); + $sql_contents = $za->getStream($sql_stat['name']); + if ($sql_contents === false) { + $stdout = fgets($pipes[1]); + $this->info($stdout); + $stderr = fgets($pipes[2]); + $this->info($stderr); + return false; + } + + while(($buffer = fgets($sql_contents)) !== false ) { + //$this->info("Buffer is: '$buffer'"); + $bytes_written = fwrite($pipes[0],$buffer); + if($bytes_written === false) { + $stdout = fgets($pipes[1]); + $this->info($stdout); + $stderr = fgets($pipes[2]); + $this->info($stderr); + return false; + } + } + fclose($pipes[0]); + fclose($sql_contents); + fclose($pipes[1]); + fclose($pipes[2]); + //wait, have to do fclose() on all pipes first? + $close_results = proc_close($proc_results); + if($close_results != 0) { + return $this->error("There may have been a problem with the database import: Error number ".$close_results); + } + + //and now copy the files over too (right?) + //FIXME - we don't prune the filesystem space yet!!!! + foreach($interesting_files AS $pretty_file_name => $file_details) { + $ugly_file_name = $za->statIndex($file_details['index'])['name']; + $fp = $za->getStream($ugly_file_name); + $this->info("Weird problem, here are file details? ".print_r($file_details,true)); + $migrated_file = fopen($file_details['dest']."/".basename($pretty_file_name),"w"); + while(($buffer = fgets($fp))!== false) { + fwrite($migrated_file,$buffer); + } + fclose($migrated_file); + fclose($fp); + $this->info("Wrote $ugly_file_name to $pretty_file_name"); + } + + } +} From fd082addffe98ce149ad7008c8d0a1127e963218 Mon Sep 17 00:00:00 2001 From: Jonathon Reinhart Date: Wed, 12 May 2021 22:15:39 -0400 Subject: [PATCH 20/24] Fix incorrect case of ldap sync status string (#9563) Fixes #9562 --- resources/views/users/ldap.blade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/views/users/ldap.blade.php b/resources/views/users/ldap.blade.php index 73f69b4192..b0b67bbf97 100644 --- a/resources/views/users/ldap.blade.php +++ b/resources/views/users/ldap.blade.php @@ -75,7 +75,7 @@ LDAP User Sync @foreach (Session::get('summary') as $entry) - + {{ $entry['username'] }} {{ $entry['employee_number'] }} {{ $entry['firstname'] }} From 4030789786e60a2e099dc5ebab748940d3c540b5 Mon Sep 17 00:00:00 2001 From: Marc Leuser Date: Sat, 15 May 2021 01:14:32 +0200 Subject: [PATCH 21/24] fix LicenseSeatsController method documentation (#9584) in an attempt to get the automatic API reference generation to work --- app/Http/Controllers/Api/LicenseSeatsController.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/Api/LicenseSeatsController.php b/app/Http/Controllers/Api/LicenseSeatsController.php index 05cdd98951..f86856718d 100644 --- a/app/Http/Controllers/Api/LicenseSeatsController.php +++ b/app/Http/Controllers/Api/LicenseSeatsController.php @@ -17,6 +17,8 @@ class LicenseSeatsController extends Controller /** * Display a listing of the resource. * + * @param \Illuminate\Http\Request $request + * @param int $licenseId * @return \Illuminate\Http\Response */ public function index(Request $request, $licenseId) @@ -53,7 +55,8 @@ class LicenseSeatsController extends Controller /** * Display the specified resource. * - * @param int $id + * @param int $licenseId + * @param int $seatId * @return \Illuminate\Http\Response */ public function show($licenseId, $seatId) From 19766a0a724441f9c648645540ef6663aba78f17 Mon Sep 17 00:00:00 2001 From: sabir-dzangolab <83744639+sabir-dzangolab@users.noreply.github.com> Date: Tue, 18 May 2021 04:24:05 +0545 Subject: [PATCH 22/24] Fix/startup-sh (#9586) * fix: update docker/startup.sh broken after merging hotfixs/2fa_qr * fix: Typo in Dockerfile.alpine --- docker/startup.sh | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/docker/startup.sh b/docker/startup.sh index 5fa32d1a93..6b276f117d 100644 --- a/docker/startup.sh +++ b/docker/startup.sh @@ -48,18 +48,14 @@ then sed -i "s/^upload_max_filesize.*/upload_max_filesize = ${PHP_UPLOAD_LIMIT}M/" /etc/php/*/apache2/php.ini fi - # If the Oauth DB files are not present copy the vendor files over to the db migrations if [ ! -f "/var/www/html/database/migrations/*create_oauth*" ] then cp -ax /var/www/html/vendor/laravel/passport/database/migrations/* /var/www/html/database/migrations/ fi -exec supervisord -c /supervisord.conf - php artisan migrate --force php artisan config:clear php artisan config:cache -. /etc/apache2/envvars -exec apache2 -DNO_DETACH < /dev/null +exec supervisord -c /supervisord.conf From 9eea46adef4e3d01578e8f89d1e6be1fe4a9168e Mon Sep 17 00:00:00 2001 From: snipe Date: Thu, 20 May 2021 13:53:43 -0700 Subject: [PATCH 23/24] Fixed parse error in user print view Signed-off-by: snipe --- resources/views/users/print.blade.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/resources/views/users/print.blade.php b/resources/views/users/print.blade.php index da8ad2b0c5..5608c3bd13 100644 --- a/resources/views/users/print.blade.php +++ b/resources/views/users/print.blade.php @@ -85,7 +85,11 @@ {{ $asset->serial }} {{ $asset->last_checkout }} -
+ + @if ($asset->assetlog->first()) + + @endif + @if($settings->show_assigned_assets) @php From c3d75d3be3f183c58503f9c32e782ae6e30faefe Mon Sep 17 00:00:00 2001 From: Sabir Manandhar <83744639+sabir-dzangolab@users.noreply.github.com> Date: Fri, 21 May 2021 03:16:22 +0545 Subject: [PATCH 24/24] feat[docker]: create session table migration if session driver is set to database (#9587) --- docker/entrypoint_alpine.sh | 5 +++++ docker/startup.sh | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/docker/entrypoint_alpine.sh b/docker/entrypoint_alpine.sh index cd0929885a..783b50b69c 100644 --- a/docker/entrypoint_alpine.sh +++ b/docker/entrypoint_alpine.sh @@ -45,6 +45,11 @@ then cp -a /var/www/html/vendor/laravel/passport/database/migrations/* /var/www/html/database/migrations/ fi +if [ "${SESSION_DRIVER}" == "database" ] +then + cp -a /var/www/html/vendor/laravel/framework/src/Illuminate/Session/Console/stubs/database.stub /var/www/html/database/migrations/2021_05_06_0000_create_sessions_table.php +fi + php artisan migrate --force php artisan config:clear php artisan config:cache diff --git a/docker/startup.sh b/docker/startup.sh index 6b276f117d..726aafd16b 100644 --- a/docker/startup.sh +++ b/docker/startup.sh @@ -54,6 +54,11 @@ then cp -ax /var/www/html/vendor/laravel/passport/database/migrations/* /var/www/html/database/migrations/ fi +if [ $SESSION_DRIVER = "database" ] +then + cp -ax /var/www/html/vendor/laravel/framework/src/Illuminate/Session/Console/stubs/database.stub /var/www/html/database/migrations/2021_05_06_0000_create_sessions_table.php +fi + php artisan migrate --force php artisan config:clear php artisan config:cache