snipe
112a04b108
Better handle weird data passed to the API via limit and offset
...
Signed-off-by: snipe <snipe@snipe.net>
2023-04-12 11:28:46 -07:00
snipe
3df9260ca8
Added additional filters for api indexes
...
Signed-off-by: snipe <snipe@snipe.net>
2022-06-28 19:59:45 -07:00
snipe
dd5f812d88
Merge remote-tracking branch 'origin/master' into develop
...
Signed-off-by: snipe <snipe@snipe.net>
# Conflicts:
# .all-contributorsrc
# README.md
# app/Console/Commands/FixDoubleEscape.php
# app/Console/Commands/LdapSync.php
# app/Exceptions/Handler.php
# app/Http/Controllers/Api/AssetMaintenancesController.php
# app/Http/Controllers/Api/AssetModelsController.php
# app/Http/Controllers/Api/AssetsController.php
# app/Http/Controllers/Api/CategoriesController.php
# app/Http/Controllers/Api/CompaniesController.php
# app/Http/Controllers/Api/DepartmentsController.php
# app/Http/Controllers/Api/LicensesController.php
# app/Http/Controllers/Api/LocationsController.php
# app/Http/Controllers/Api/ManufacturersController.php
# app/Http/Controllers/Api/SettingsController.php
# app/Http/Controllers/Api/SuppliersController.php
# app/Http/Controllers/AssetModelsController.php
# app/Http/Controllers/Auth/LoginController.php
# app/Http/Controllers/CustomFieldsController.php
# app/Http/Controllers/SettingsController.php
# app/Models/Loggable.php
# app/Providers/AuthServiceProvider.php
# config/version.php
# database/migrations/2014_11_04_231416_update_group_field_for_reporting.php
# database/migrations/2015_11_08_222305_add_ldap_fields_to_settings.php
# package-lock.json
# package.json
# public/js/build/app.js
# public/js/dist/all.js
# public/mix-manifest.json
# resources/assets/js/components/forms/asset-models/fieldset-default-values.vue
# resources/views/hardware/view.blade.php
2022-02-20 13:29:12 -08:00
snipe
2dad27eed6
Added additional gate for selectlists
...
Signed-off-by: snipe <snipe@snipe.net>
2022-02-11 11:46:14 -08:00
snipe
ea0d92c439
Merge branch 'develop' into fixes/fmcs_departments
2021-10-28 18:18:08 -07:00
Petri Asikainen
23f77b2894
Fixed case again
2021-07-15 12:26:14 +03:00
Petri Asikainen
6173aaa25c
fixed capitalization
2021-07-15 12:26:13 +03:00
Petri Asikainen
91af3f2661
Support images and multipart requests
2021-07-15 12:26:13 +03:00
Petri Asikainen
64c8767e81
Support images and multipart requests
2021-07-15 12:26:13 +03:00
Tobias Regnery
9e1d7ffb5d
Fix scope of departments for FullMultipleCompanySupport
...
If a user tries to view or edit a department from a different company
with FullMultipleCompanySupport enabled, there is a 403 error displayed.
Apply the correct company scope in order to only display the departments
from the own company in the departments view.
Signed-off-by: Tobias Regnery <tobias.regnery@gmail.com>
2021-07-06 09:45:46 +02:00
Petri Asikainen
e275c9ee90
Fixed case again
2021-07-06 07:10:03 +03:00
Petri Asikainen
6048acc95d
fixed capitalization
2021-06-30 06:36:12 +03:00
Petri Asikainen
b0aa26e6cb
Support images and multipart requests
2021-06-29 14:25:20 +03:00
Petri Asikainen
fc8498972e
Support images and multipart requests
2021-06-29 12:28:32 +03:00
Laravel Shift
934afa036f
Adopt Laravel coding style
...
Shift automatically applies the Laravel coding style - which uses the PSR-2 coding style as a base with some minor additions.
You may customize the adopted coding style by adding your own [PHP CS Fixer][1] `.php_cs` config file to your project root. Feel free to use [Shift's Laravel ruleset][2] to help you get started.
[1]: https://github.com/FriendsOfPHP/PHP-CS-Fixer
[2]: https://gist.github.com/laravel-shift/cab527923ed2a109dda047b97d53c200
2021-06-10 20:15:52 +00:00
snipe
82e02490fd
Removed duplicate update method (per #7997 )
...
Signed-off-by: snipe <snipe@snipe.net>
2020-04-30 17:23:56 -07:00
snipe
87464e6ec0
Merge branch 'develop' into integrations/2020-04-15-v5-merge
...
# Conflicts:
# README.md
# app/Http/Controllers/AccessoriesController.php
# app/Http/Controllers/Api/AssetsController.php
# app/Http/Controllers/Api/LicensesController.php
# app/Http/Controllers/Api/LocationsController.php
# app/Http/Controllers/Api/SettingsController.php
# app/Http/Controllers/Api/UsersController.php
# app/Http/Controllers/AssetModelsController.php
# app/Http/Controllers/Assets/AssetsController.php
# app/Http/Controllers/Auth/ForgotPasswordController.php
# app/Http/Controllers/CategoriesController.php
# app/Http/Controllers/CompaniesController.php
# app/Http/Controllers/ComponentsController.php
# app/Http/Controllers/ConsumablesController.php
# app/Http/Controllers/CustomFieldsetsController.php
# app/Http/Controllers/DepartmentsController.php
# app/Http/Controllers/LicensesController.php
# app/Http/Controllers/LocationsController.php
# app/Http/Controllers/ManufacturersController.php
# app/Http/Controllers/SettingsController.php
# app/Http/Controllers/SuppliersController.php
# app/Http/Controllers/UsersController.php
# app/Http/Requests/AssetRequest.php
# app/Http/Requests/ImageUploadRequest.php
# app/Models/LicenseSeat.php
# app/Models/Location.php
# app/Models/Setting.php
# composer.json
# composer.lock
# config/database.php
# config/version.php
# npm-shrinkwrap.json
# package.json
# public/css/AdminLTE.css
# public/css/AdminLTE.css.map
# public/css/overrides.css
# public/css/overrides.css.map
# public/css/skins/skin-blue-light.css
# public/css/skins/skin-blue.css
# public/css/skins/skin-green-dark.min.css
# public/js/app.js
# public/js/bootstrap-table.js
# public/js/bootstrap/js/bootstrap.js
# public/js/bootstrap/js/bootstrap.min.js
# public/js/build/all.js
# public/js/build/vue.js
# public/js/build/vue.js.map
# public/js/demo.js
# public/js/ekko-lightbox.js
# public/js/ekko-lightbox.min.js
# public/js/extensions/export/bootstrap-table-export.js
# public/js/extensions/multiple-sort/bootstrap-table-multiple-sort.js
# public/js/extensions/multiple-sort/bootstrap-table-multiple-sort.min.js
# public/js/extensions/toolbar/bootstrap-table-toolbar.min.js
# public/js/plugins/bootstrap-wysihtml5/bootstrap3-wysihtml5.all.js
# public/js/plugins/bootstrap-wysihtml5/bootstrap3-wysihtml5.all.min.js
# public/js/plugins/timepicker/bootstrap-timepicker.js
# public/js/plugins/timepicker/bootstrap-timepicker.min.js
# public/js/vue.js
# public/mix-manifest.json
# resources/assets/js/bootstrap-js.js
# resources/assets/js/bootstrap.min.js
# resources/assets/js/ekko-lightbox.js
# resources/assets/js/ekko-lightbox.min.js
# resources/assets/js/plugins/bootstrap-wysihtml5/bootstrap3-wysihtml5.all.js
# resources/assets/js/plugins/bootstrap-wysihtml5/bootstrap3-wysihtml5.all.min.js
# resources/assets/js/plugins/chartjs/Chart.js
# resources/assets/js/plugins/timepicker/bootstrap-timepicker.js
# resources/assets/js/plugins/timepicker/bootstrap-timepicker.min.js
# resources/assets/less/AdminLTE.less
# resources/assets/less/overrides.less
# resources/assets/less/skins/_all-skins.less
# resources/assets/less/skins/skin-black.less
# resources/assets/less/skins/skin-blue.less
# resources/assets/less/skins/skin-green.less
# resources/assets/less/skins/skin-purple.less
# resources/assets/less/skins/skin-red.less
# resources/assets/less/skins/skin-yellow.less
# resources/assets/less/variables.less
# resources/js/components/importer/importer-file.vue
# resources/lang/en/auth/message.php
# resources/lang/en/passwords.php
# resources/lang/es-CO/general.php
# resources/lang/es-ES/general.php
# resources/lang/es-VE/general.php
# resources/less/skins/skin-black-dark.less
# resources/less/skins/skin-blue-dark.less
# resources/less/skins/skin-contrast.less
# resources/less/skins/skin-green-dark.less
# resources/less/skins/skin-orange-dark.less
# resources/less/skins/skin-orange.less
# resources/less/skins/skin-purple-dark.less
# resources/less/skins/skin-red-dark.less
# resources/less/skins/skin-yellow-dark.less
# resources/views/accessories/checkin.blade.php
# resources/views/accessories/checkout.blade.php
# resources/views/accessories/edit.blade.php
# resources/views/account/profile.blade.php
# resources/views/account/view-assets.blade.php
# resources/views/asset_maintenances/edit.blade.php
# resources/views/auth/passwords/email.blade.php
# resources/views/auth/passwords/reset.blade.php
# resources/views/categories/edit.blade.php
# resources/views/companies/edit.blade.php
# resources/views/components/checkin.blade.php
# resources/views/components/checkout.blade.php
# resources/views/components/edit.blade.php
# resources/views/consumables/checkout.blade.php
# resources/views/consumables/edit.blade.php
# resources/views/custom_fields/fields/edit.blade.php
# resources/views/custom_fields/fieldsets/edit.blade.php
# resources/views/dashboard.blade.php
# resources/views/departments/edit.blade.php
# resources/views/groups/edit.blade.php
# resources/views/hardware/audit.blade.php
# resources/views/hardware/bulk-checkout.blade.php
# resources/views/hardware/bulk.blade.php
# resources/views/hardware/checkin.blade.php
# resources/views/hardware/checkout.blade.php
# resources/views/hardware/edit.blade.php
# resources/views/hardware/index.blade.php
# resources/views/hardware/quickscan.blade.php
# resources/views/hardware/view.blade.php
# resources/views/importer/import.blade.php
# resources/views/layouts/basic.blade.php
# resources/views/layouts/default.blade.php
# resources/views/layouts/edit-form.blade.php
# resources/views/licenses/checkin.blade.php
# resources/views/licenses/checkout.blade.php
# resources/views/licenses/edit.blade.php
# resources/views/locations/edit.blade.php
# resources/views/manufacturers/edit.blade.php
# resources/views/modals/upload-file.blade.php
# resources/views/models/bulk-edit.blade.php
# resources/views/models/custom_fields_form.blade.php
# resources/views/models/edit.blade.php
# resources/views/partials/bootstrap-table.blade.php
# resources/views/partials/forms/edit/address.blade.php
# resources/views/partials/forms/edit/asset-select.blade.php
# resources/views/partials/forms/edit/category-select.blade.php
# resources/views/partials/forms/edit/category.blade.php
# resources/views/partials/forms/edit/company-select.blade.php
# resources/views/partials/forms/edit/company.blade.php
# resources/views/partials/forms/edit/department-select.blade.php
# resources/views/partials/forms/edit/depreciation.blade.php
# resources/views/partials/forms/edit/email.blade.php
# resources/views/partials/forms/edit/image-upload.blade.php
# resources/views/partials/forms/edit/item_number.blade.php
# resources/views/partials/forms/edit/location-profile-select.blade.php
# resources/views/partials/forms/edit/location-select.blade.php
# resources/views/partials/forms/edit/location.blade.php
# resources/views/partials/forms/edit/maintenance_type.blade.php
# resources/views/partials/forms/edit/manufacturer-select.blade.php
# resources/views/partials/forms/edit/manufacturer.blade.php
# resources/views/partials/forms/edit/minimum_quantity.blade.php
# resources/views/partials/forms/edit/model-select.blade.php
# resources/views/partials/forms/edit/model_number.blade.php
# resources/views/partials/forms/edit/name.blade.php
# resources/views/partials/forms/edit/notes.blade.php
# resources/views/partials/forms/edit/order_number.blade.php
# resources/views/partials/forms/edit/phone.blade.php
# resources/views/partials/forms/edit/purchase_cost.blade.php
# resources/views/partials/forms/edit/purchase_date.blade.php
# resources/views/partials/forms/edit/quantity.blade.php
# resources/views/partials/forms/edit/serial.blade.php
# resources/views/partials/forms/edit/status.blade.php
# resources/views/partials/forms/edit/submit.blade.php
# resources/views/partials/forms/edit/supplier-select.blade.php
# resources/views/partials/forms/edit/supplier.blade.php
# resources/views/partials/forms/edit/user-select.blade.php
# resources/views/reports/custom.blade.php
# resources/views/settings/alerts.blade.php
# resources/views/settings/asset_tags.blade.php
# resources/views/settings/barcodes.blade.php
# resources/views/settings/branding.blade.php
# resources/views/settings/general.blade.php
# resources/views/settings/labels.blade.php
# resources/views/settings/ldap.blade.php
# resources/views/settings/localization.blade.php
# resources/views/settings/security.blade.php
# resources/views/setup/user.blade.php
# resources/views/suppliers/edit.blade.php
# resources/views/users/bulk-edit.blade.php
# resources/views/users/edit.blade.php
# resources/views/users/ldap.blade.php
# resources/views/users/print.blade.php
# resources/views/users/view.blade.php
# routes/api.php
# routes/web/hardware.php
# webpack.mix.js
2020-04-20 23:20:34 -07:00
Godfrey Martinez
0e0fe967e4
BadMethodCallException Method update does [ch10544] ( #7804 )
2020-02-10 19:27:23 -08:00
snipe
3361b859c0
Changes offset to use the actual item count as override instead of 0 ( #7788 )
2020-02-04 12:32:24 -08:00
snipe
5290c47e2a
Merge branch 'develop' into v5-master-develop-integration
...
# Conflicts:
# .env.example
# .travis.yml
# Dockerfile
# README.md
# app/Console/Commands/LdapSync.php
# app/Console/Kernel.php
# app/Http/Controllers/AccessoriesController.php
# app/Http/Controllers/Api/AccessoriesController.php
# app/Http/Controllers/Api/AssetsController.php
# app/Http/Controllers/Api/LocationsController.php
# app/Http/Controllers/Api/SettingsController.php
# app/Http/Controllers/Api/UsersController.php
# app/Http/Controllers/AssetModelsController.php
# app/Http/Controllers/Assets/AssetFilesController.php
# app/Http/Controllers/Assets/AssetsController.php
# app/Http/Controllers/CategoriesController.php
# app/Http/Controllers/CompaniesController.php
# app/Http/Controllers/ComponentsController.php
# app/Http/Controllers/ConsumablesController.php
# app/Http/Controllers/DepartmentsController.php
# app/Http/Controllers/LicensesController.php
# app/Http/Controllers/LocationsController.php
# app/Http/Controllers/ManufacturersController.php
# app/Http/Controllers/ReportsController.php
# app/Http/Controllers/SettingsController.php
# app/Http/Controllers/SuppliersController.php
# app/Http/Controllers/UsersController.php
# app/Http/Middleware/EncryptCookies.php
# app/Http/Requests/AssetRequest.php
# app/Http/Transformers/AssetMaintenancesTransformer.php
# app/Importer/AssetImporter.php
# app/Models/AssetMaintenance.php
# app/Models/Location.php
# app/Models/User.php
# composer.json
# composer.lock
# config/backup.php
# config/database.php
# config/version.php
# public/mix-manifest.json
# resources/lang/en-ID/general.php
# resources/lang/vi/admin/settings/general.php
# resources/views/accessories/edit.blade.php
# resources/views/hardware/view.blade.php
# resources/views/layouts/default.blade.php
# tests/api/ApiCategoriesCest.php
2019-11-18 19:49:39 -08:00
snipe
c68c0e1208
Account for limit if none is passed in the request
2019-09-03 20:28:49 -07:00
snipe
c256536d21
Math is hard
2019-09-03 14:29:58 -07:00
snipe
b8f7cd81eb
Limit API request results per page ( #7405 )
2019-09-03 14:02:08 -07:00
snipe
2d036c64e9
Change ->has() to ->filled()
2019-05-23 17:39:50 -07:00
snipe
4be8ba9f17
Updated withCount to use manual naming
2019-05-22 00:52:51 -07:00
Martin Meredith
e3e0d57f56
Minor code cleanup bits and bobs ( #6805 )
...
* Add IDE Helper files
* Cleanup imports
- Alphabetises imports
- Removes unused imports
* Add Platform requirements
* Move filling asset into block where asset exists
* Remove duplicate array keys
2019-03-13 20:12:03 -07:00
snipe
0242b3ec74
Handled JS cookie offset issue on the server side
...
We may want to handle this via the blades instead, as I’m not sure if API users will run into weirdness here.
2019-02-14 15:01:34 -08:00
snipe
b26fbf986f
Fixed issue where offset could be greater than total items, resulting in “No results” confusion
2019-02-14 14:49:08 -08:00
snipe
8f22cf7c3c
Added dept update API endpoint
2018-10-31 14:31:57 -07:00
snipe
79367642b1
[WIP] Added #5957 - Flysystem support ( #6262 )
...
* Added AWS url to example env
* Upgrader - added check for new storage path and attempt to move
* Ignore symlink
* Updated paths for models
* Moved copy methods
* Added AWS_URL support
For some reasin, Flysystem was generating the wrong AWS url (with a region included)
* Switch to Flysystem for image uploads
* Nicer display of image preview
* Updated image preview on edit blades to use Flysystem
* Twiddled some more paths
* Working filesystems config
* Updated Asset Models and Departments to use Flysystem
* Janky workaround for differing S3/local urls/paths
* Try to smartly use S3 as public disk if S3 is configured
* Use public disk Storage options for public files
* Additional transformer edits for Flysystem
* Removed debugging
* Added missing use Storage directive
* Updated seeders to use Flysystem
* Default logo
* Set a default width
We can potentially override this in settings later
* Use Flysystem for logo upload
* Update downloadFile to use Flysystem
* Updated AssetFilesController to use Flysystem
* Updated acceptance signatures to use Flysystem
* Updated signature view to use Flysystem
This isn’t working 100% yet
* Use Flysystem facade for displaying asset image
* Set assets path
Should clean all these up when we’re done here
* Added Rackspace support for Flysystem
* Added Flysystem migrator console command
* Added use Storage directive for categories
* Added user avatars to Flysystem
* Added profile avatar to Flysystem
* Added the option to delete local files with the migrator
* Added a check to prevent people from trying to move from local to local
* Fixed the selectlists for Flysystem
* Fixed the getImageUrl method to reflect Flysystem
* Fixed AWS copy process
* Fixed models path
* More selectlist updates for Flysystem
* Updated example .envs with updated env variable names
* *sigh*
* Updated non-asset getImageUrl() methods to use Flysystem
* Removed S3 hardcoding
* Use Flysystem in email headers
* Fixed typo
* Removed camera support from asset file upload
We’ll find a way to add this in later (and add that support to all of the other image uploads as well)
* Fixed path for categories
* WIP - Switched to standard handleImages for asset upload.
This is currently broken as I refact the handleImages method. Because the assets store/create methods use their own Form Request, the handleImages method doesn’t exist in that Form Request so it wil error now.
* Fixed css URL error
* Updated Debugbar to latest version (#6265 )
v3.2 adds support for Laravel 5.7
* Fixed: Missing CSS file in basic.blade.php (#6264 )
* Fixed missing CSS file in basic.blade.php
* Added
* Changed stylesheet import for authorize.blade.php
* Updated composer lock
* Added AWS_BUCKET_ROOT as env variable
* Use nicer image preview for logo upload
* Removed AssetRequest form request
* Removed asset form request, moved custom field validation into model
* Added additional help text for logo upload
* Increased the size of the image resize - should make this a setting tho
* Few more formatting tweaks to logo section of branding blade preview
* Use Flysystem for asset/license file uploads
* Use Flysystem for removing images from models that have been deleted
* Enable backups to use Flysystem
This only handles part of the problem. This just makes it so we can ship files to S3 if we want, but does not account for how we backup files that are hosted on S3
* Use Flysystem to download license files
* Updated audits to use Flysystem
2018-09-29 21:33:52 -07:00
snipe
86c1f11bec
Change $request->has to $request->filled unilaterally
2018-07-24 22:51:31 -07:00
snipe
0714ac4248
Update withCounts because Laravel 5.5 :(
2018-07-24 22:40:05 -07:00
Till Deeke
48bbbe0f40
Fixing authorization issues ( #5807 )
...
* adds permission checks for companies
* adds permission checks for depreciations
* adds permission check for all reports
* fixes permissions for departments
* fixes permission naming (edit -> update)
* fixes authorization checking wrong permission in API
The authorization was checking for the non-existent „edit“ method where it should have checked for the „update“ method.
* adds authorization checks for select2 lists
* adds missing authorization checks for api
* fixes user authorization check for creating users
* adds additional check viewing assets on showing a users assets
* Removes authorization checks for select2 lists
Reference: https://github.com/snipe/snipe-it/pull/5807#pullrequestreview-136018755
2018-07-12 18:28:02 -07:00
snipe
0cf9cdd3b1
Make department columns sortable
2018-02-21 05:04:20 -08:00
snipe
6852b74317
Removed gates from selectlist method
2017-11-09 10:51:55 -08:00
snipe
6a3716a06d
Added new ajax dropdown menus for components, consumables, etc editing/creating
2017-10-28 09:21:39 -07:00
snipe
75b527ab59
Features/image uploads ( #4320 )
...
* Locations API support for image
* Added manufacturers API support for image
* Added manufacturers API support for image
* Added image support for locations add/update
* Added manufacturer image upload support to controller
* General image string
* Added blade support for image uploads/delete image
* Added $request support (from Input::)
* Added image support in API transformers
* Added image to Manufacturers presenter for data table
* Migration to create image fields
* Ignore the contents of the new image directories
* Create new image upload directories
* Created components/consumables uploads directory
* Fixed missing textSearch scope from companies
* Added ignore for companies uploads directory
* Added blade support for image upload
* Fixed path to upload directory on edit
* Added company image upport to transformers, controllers
* Added image support for categories
* Added support for images in Departments
* Added support for image in Consumables
* Added image support for components
2017-10-25 22:35:58 -07:00
snipe
eaaea303f4
Fixes #3860 - return JSON instead of redirect in API delete dept call
2017-08-22 14:15:13 -07:00
snipe
03f9d01aab
Fixes #3775 - added missing created_at and updated_at fields
2017-07-29 17:01:03 -07:00
snipe
a2d63dd3e4
Fixes #3776 - adds Company to Dept UI
2017-07-29 16:42:17 -07:00
snipe
cefb20d46f
Set dept manager ID for dept
2017-05-23 02:46:25 -07:00
snipe
bb323db685
Load relationships in query
2017-05-23 02:46:03 -07:00
snipe
eb3aa99e4f
Added destroy method to dept
2017-05-23 02:45:51 -07:00
snipe
6c623866c0
Additional API methods for departments
2017-05-23 01:08:55 -07:00
snipe
659e60fd12
Department controllers and transformer
2017-05-22 21:32:33 -07:00