From c9f0f5fe8b428e6c4955fc4a8f621f6438e778c0 Mon Sep 17 00:00:00 2001 From: Brady Wetherington Date: Tue, 24 Jan 2023 17:35:44 -0800 Subject: [PATCH 1/7] Change Accessories report to use server-side pagination from URL --- app/Http/Controllers/ReportsController.php | 3 +-- resources/views/reports/accessories.blade.php | 21 ++++++------------- 2 files changed, 7 insertions(+), 17 deletions(-) diff --git a/app/Http/Controllers/ReportsController.php b/app/Http/Controllers/ReportsController.php index 6cf2091f6..399e99612 100644 --- a/app/Http/Controllers/ReportsController.php +++ b/app/Http/Controllers/ReportsController.php @@ -51,9 +51,8 @@ class ReportsController extends Controller public function getAccessoryReport() { $this->authorize('reports.view'); - $accessories = Accessory::orderBy('created_at', 'DESC')->with('company')->get(); - return view('reports/accessories', compact('accessories')); + return view('reports/accessories'); } /** diff --git a/resources/views/reports/accessories.blade.php b/resources/views/reports/accessories.blade.php index 49db62c7f..44f90682b 100644 --- a/resources/views/reports/accessories.blade.php +++ b/resources/views/reports/accessories.blade.php @@ -27,6 +27,7 @@ data-sort-order="asc" id="accessoriesReport" class="table table-striped snipe-table" + data-url="{{ route('api.accessories.index') }}" data-export-options='{ "fileName": "accessory-report-{{ date('Y-m-d') }}", "ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"] @@ -34,27 +35,17 @@ - {{ trans('admin/companies/table.title') }} - {{ trans('admin/accessories/table.title') }} - {{ trans('general.model_no') }} - {{ trans('admin/accessories/general.total') }} - {{ trans('admin/accessories/general.remaining') }} + {{ trans('admin/companies/table.title') }} + {{ trans('admin/accessories/table.title') }} + {{ trans('general.model_no') }} + {{ trans('admin/accessories/general.total') }} + {{ trans('admin/accessories/general.remaining') }} - @foreach ($accessories as $accessory) - - {{ is_null($accessory->company) ? '' : $accessory->company->name }} - {{ $accessory->name }} - {{ $accessory->model_number }} - {{ $accessory->qty }} - {{ $accessory->numRemaining() }} - - @endforeach - From b3635243053327d1cb2dd85095be3c3962c19dff Mon Sep 17 00:00:00 2001 From: akemidx Date: Wed, 25 Jan 2023 15:58:44 -0500 Subject: [PATCH 2/7] vipuser label updated to vip --- app/Http/Controllers/Api/UsersController.php | 2 +- app/Http/Controllers/Users/UsersController.php | 2 +- app/Models/User.php | 4 ++-- app/Presenters/UserPresenter.php | 2 +- database/migrations/2023_01_23_232933_add_vip_to_users.php | 6 +++--- resources/views/users/edit.blade.php | 4 ++-- resources/views/users/view.blade.php | 2 +- 7 files changed, 11 insertions(+), 11 deletions(-) diff --git a/app/Http/Controllers/Api/UsersController.php b/app/Http/Controllers/Api/UsersController.php index 818558386..36ba06367 100644 --- a/app/Http/Controllers/Api/UsersController.php +++ b/app/Http/Controllers/Api/UsersController.php @@ -246,7 +246,7 @@ class UsersController extends Controller 'two_factor_optin', 'two_factor_enrolled', 'remote', - 'vipuser', + 'vip', 'start_date', 'end_date', ]; diff --git a/app/Http/Controllers/Users/UsersController.php b/app/Http/Controllers/Users/UsersController.php index 9d322ca4d..38afc6661 100755 --- a/app/Http/Controllers/Users/UsersController.php +++ b/app/Http/Controllers/Users/UsersController.php @@ -271,7 +271,7 @@ class UsersController extends Controller $user->activated = $request->input('activated', 0); $user->zip = $request->input('zip', null); $user->remote = $request->input('remote', 0); - $user->vipuser = $request->input('vipuser', 0); + $user->vipuser = $request->input('vip', 0); $user->website = $request->input('website', null); $user->start_date = $request->input('start_date', null); $user->end_date = $request->input('end_date', null); diff --git a/app/Models/User.php b/app/Models/User.php index b51d23626..4e6566b2d 100755 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -62,7 +62,7 @@ class User extends SnipeModel implements AuthenticatableContract, AuthorizableCo 'start_date', 'end_date', 'scim_externalid', - 'vipuser', + 'vip', ]; protected $casts = [ @@ -70,7 +70,7 @@ class User extends SnipeModel implements AuthenticatableContract, AuthorizableCo 'manager_id' => 'integer', 'location_id' => 'integer', 'company_id' => 'integer', - 'vipuser' => 'boolean', + 'vip' => 'boolean', ]; diff --git a/app/Presenters/UserPresenter.php b/app/Presenters/UserPresenter.php index dc41050f5..0811fbc50 100644 --- a/app/Presenters/UserPresenter.php +++ b/app/Presenters/UserPresenter.php @@ -86,7 +86,7 @@ class UserPresenter extends Presenter 'formatter' => 'usersLinkFormatter', ], [ - 'field' => 'vipuser', + 'field' => 'vip', 'searchable' => false, 'sortable' => true, 'switchable' => true, diff --git a/database/migrations/2023_01_23_232933_add_vip_to_users.php b/database/migrations/2023_01_23_232933_add_vip_to_users.php index 40db001b1..344f35d24 100644 --- a/database/migrations/2023_01_23_232933_add_vip_to_users.php +++ b/database/migrations/2023_01_23_232933_add_vip_to_users.php @@ -14,7 +14,7 @@ class AddVipToUsers extends Migration public function up() { Schema::table('users', function (Blueprint $table) { - $table->boolean('vipuser')->nullable()->default(0); + $table->boolean('vip')->nullable()->default(0); }); } @@ -26,8 +26,8 @@ class AddVipToUsers extends Migration public function down() { Schema::table('users', function (Blueprint $table) { - if (Schema::hasColumn('users', 'vipuser')) { - $table->dropColumn('vipuser'); + if (Schema::hasColumn('users', 'vip')) { + $table->dropColumn('vip'); } }); } diff --git a/resources/views/users/edit.blade.php b/resources/views/users/edit.blade.php index b06dcad23..8250fe2a5 100755 --- a/resources/views/users/edit.blade.php +++ b/resources/views/users/edit.blade.php @@ -365,8 +365,8 @@
-
- {!! ($user->vipuser=='1') ? ' '.trans('general.yes') : ' '.trans('general.no') !!} + {!! ($user->vip=='1') ? ' '.trans('general.yes') : ' '.trans('general.no') !!}
From 4a54586690b2ef6340d780e4fdb6cdb7b5b5189f Mon Sep 17 00:00:00 2001 From: Brady Wetherington Date: Thu, 26 Jan 2023 11:56:06 -0800 Subject: [PATCH 3/7] Add to Accessories#index an additional gate-check against reports.view --- app/Http/Controllers/Api/AccessoriesController.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/Api/AccessoriesController.php b/app/Http/Controllers/Api/AccessoriesController.php index a894dc376..f82250968 100644 --- a/app/Http/Controllers/Api/AccessoriesController.php +++ b/app/Http/Controllers/Api/AccessoriesController.php @@ -26,7 +26,10 @@ class AccessoriesController extends Controller */ public function index(Request $request) { - $this->authorize('view', Accessory::class); + if ($request->user()->cannot('reports.view')) { + $this->authorize('view', Accessory::class); + } + // This array is what determines which fields should be allowed to be sorted on ON the table itself, no relations // Relations will be handled in query scopes a little further down. From df31a769064d2e5f2b787f6a57ec20861f2e1e2c Mon Sep 17 00:00:00 2001 From: akemidx Date: Thu, 26 Jan 2023 15:02:39 -0500 Subject: [PATCH 4/7] fixed apostraphe --- app/Models/User.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Models/User.php b/app/Models/User.php index f7a52aa8d..d4852eae8 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -64,7 +64,7 @@ class User extends SnipeModel implements AuthenticatableContract, AuthorizableCo 'scim_externalid', 'avatar', 'gravatar', - 'vip`, + 'vip', ]; protected $casts = [ From b8951e2b541eb8b7ee6bdf07585849298a545613 Mon Sep 17 00:00:00 2001 From: akemidx Date: Thu, 2 Feb 2023 15:58:05 -0500 Subject: [PATCH 5/7] fixing name from vipuser to vip --- app/Http/Controllers/Users/UsersController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Http/Controllers/Users/UsersController.php b/app/Http/Controllers/Users/UsersController.php index f0f84af11..ee8a96e01 100755 --- a/app/Http/Controllers/Users/UsersController.php +++ b/app/Http/Controllers/Users/UsersController.php @@ -271,7 +271,7 @@ class UsersController extends Controller $user->activated = $request->input('activated', 0); $user->zip = $request->input('zip', null); $user->remote = $request->input('remote', 0); - $user->vipuser = $request->input('vip', 0); + $user->vip = $request->input('vip', 0); $user->website = $request->input('website', null); $user->start_date = $request->input('start_date', null); $user->end_date = $request->input('end_date', null); From 0b408218b071fdc6aa67e17aabe2036211b1ada6 Mon Sep 17 00:00:00 2001 From: snipe Date: Thu, 23 Feb 2023 12:59:04 -0800 Subject: [PATCH 6/7] Update dompdf Signed-off-by: snipe --- composer.lock | 55 ++++++++++++++++++++++----------------------------- 1 file changed, 24 insertions(+), 31 deletions(-) diff --git a/composer.lock b/composer.lock index 525c6f866..c34d46ce6 100644 --- a/composer.lock +++ b/composer.lock @@ -4,6 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], + "content-hash": "590171872e4a6a29c78efde99fbbf00e", "packages": [ { "name": "alek13/slack", @@ -1809,24 +1810,24 @@ }, { "name": "dompdf/dompdf", - "version": "v2.0.0", + "version": "v2.0.3", "source": { "type": "git", "url": "https://github.com/dompdf/dompdf.git", - "reference": "79573d8b8a141ec8a17312515de8740eed014fa9" + "reference": "e8d2d5e37e8b0b30f0732a011295ab80680d7e85" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dompdf/dompdf/zipball/79573d8b8a141ec8a17312515de8740eed014fa9", - "reference": "79573d8b8a141ec8a17312515de8740eed014fa9", + "url": "https://api.github.com/repos/dompdf/dompdf/zipball/e8d2d5e37e8b0b30f0732a011295ab80680d7e85", + "reference": "e8d2d5e37e8b0b30f0732a011295ab80680d7e85", "shasum": "" }, "require": { "ext-dom": "*", "ext-mbstring": "*", "masterminds/html5": "^2.0", - "phenx/php-font-lib": "^0.5.4", - "phenx/php-svg-lib": "^0.3.3 || ^0.4.0", + "phenx/php-font-lib": ">=0.5.4 <1.0.0", + "phenx/php-svg-lib": ">=0.3.3 <1.0.0", "php": "^7.1 || ^8.0" }, "require-dev": { @@ -1857,25 +1858,17 @@ ], "authors": [ { - "name": "Fabien Ménager", - "email": "fabien.menager@gmail.com" - }, - { - "name": "Brian Sweeney", - "email": "eclecticgeek@gmail.com" - }, - { - "name": "Gabriel Bull", - "email": "me@gabrielbull.com" + "name": "The Dompdf Community", + "homepage": "https://github.com/dompdf/dompdf/blob/master/AUTHORS.md" } ], "description": "DOMPDF is a CSS 2.1 compliant HTML to PDF converter", "homepage": "https://github.com/dompdf/dompdf", "support": { "issues": "https://github.com/dompdf/dompdf/issues", - "source": "https://github.com/dompdf/dompdf/tree/v2.0.0" + "source": "https://github.com/dompdf/dompdf/tree/v2.0.3" }, - "time": "2022-06-21T21:14:57+00:00" + "time": "2023-02-07T12:51:48+00:00" }, { "name": "dragonmantank/cron-expression", @@ -5130,16 +5123,16 @@ }, { "name": "masterminds/html5", - "version": "2.7.5", + "version": "2.7.6", "source": { "type": "git", "url": "https://github.com/Masterminds/html5-php.git", - "reference": "f640ac1bdddff06ea333a920c95bbad8872429ab" + "reference": "897eb517a343a2281f11bc5556d6548db7d93947" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/f640ac1bdddff06ea333a920c95bbad8872429ab", - "reference": "f640ac1bdddff06ea333a920c95bbad8872429ab", + "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/897eb517a343a2281f11bc5556d6548db7d93947", + "reference": "897eb517a343a2281f11bc5556d6548db7d93947", "shasum": "" }, "require": { @@ -5193,9 +5186,9 @@ ], "support": { "issues": "https://github.com/Masterminds/html5-php/issues", - "source": "https://github.com/Masterminds/html5-php/tree/2.7.5" + "source": "https://github.com/Masterminds/html5-php/tree/2.7.6" }, - "time": "2021-07-01T14:25:37+00:00" + "time": "2022-08-18T16:18:26+00:00" }, { "name": "maximebf/debugbar", @@ -6430,21 +6423,21 @@ }, { "name": "phenx/php-svg-lib", - "version": "0.4.1", + "version": "0.5.0", "source": { "type": "git", "url": "https://github.com/dompdf/php-svg-lib.git", - "reference": "4498b5df7b08e8469f0f8279651ea5de9626ed02" + "reference": "76876c6cf3080bcb6f249d7d59705108166a6685" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dompdf/php-svg-lib/zipball/4498b5df7b08e8469f0f8279651ea5de9626ed02", - "reference": "4498b5df7b08e8469f0f8279651ea5de9626ed02", + "url": "https://api.github.com/repos/dompdf/php-svg-lib/zipball/76876c6cf3080bcb6f249d7d59705108166a6685", + "reference": "76876c6cf3080bcb6f249d7d59705108166a6685", "shasum": "" }, "require": { "ext-mbstring": "*", - "php": "^7.1 || ^7.2 || ^7.3 || ^7.4 || ^8.0", + "php": "^7.1 || ^8.0", "sabberworm/php-css-parser": "^8.4" }, "require-dev": { @@ -6470,9 +6463,9 @@ "homepage": "https://github.com/PhenX/php-svg-lib", "support": { "issues": "https://github.com/dompdf/php-svg-lib/issues", - "source": "https://github.com/dompdf/php-svg-lib/tree/0.4.1" + "source": "https://github.com/dompdf/php-svg-lib/tree/0.5.0" }, - "time": "2022-03-07T12:52:04+00:00" + "time": "2022-09-06T12:16:56+00:00" }, { "name": "php-http/message-factory", From bdac0f16ceb5b7ecbf894b3692f09565140c06c6 Mon Sep 17 00:00:00 2001 From: Marcus Moore Date: Thu, 23 Feb 2023 13:39:05 -0800 Subject: [PATCH 7/7] Set purchase date field to the correct format in asset factory --- database/factories/AssetFactory.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/database/factories/AssetFactory.php b/database/factories/AssetFactory.php index 24021921b..6f3cce872 100644 --- a/database/factories/AssetFactory.php +++ b/database/factories/AssetFactory.php @@ -44,7 +44,7 @@ class AssetFactory extends Factory 'user_id' => 1, 'asset_tag' => $this->faker->unixTime('now'), 'notes' => 'Created by DB seeder', - 'purchase_date' => $this->faker->dateTimeBetween('-1 years', 'now', date_default_timezone_get()), + 'purchase_date' => $this->faker->dateTimeBetween('-1 years', 'now', date_default_timezone_get())->format('Y-m-d'), 'purchase_cost' => $this->faker->randomFloat(2, '299.99', '2999.99'), 'order_number' => $this->faker->numberBetween(1000000, 50000000), 'supplier_id' => Supplier::all()->random()->id,