Compare commits

...

7423 Commits

Author SHA1 Message Date
Brady Wetherington bf6c48d695 Clean up the fieldset experience for custom fields for users 2023-09-21 14:56:29 +01:00
Brady Wetherington 8428b2a04a Merge branch 'has_custom_fields_trait_rebase' into custom_fields_on_user 2023-09-18 13:45:35 +01:00
Brady Wetherington 71e745d966 Clean up this migration so it runs forwards and backwards OK 2023-09-14 21:14:26 +01:00
Brady Wetherington a3a786f2af Merge branch 'develop' into has_custom_fields_trait_rebase 2023-09-14 20:27:06 +01:00
snipe f6a11ac0ed Merge pull request #13586 from inietov/fixes/call_to_member_function_checkedOutToUser
Fixed Call to a member function checkedOutToUser() on null [rollbar-3598]
2023-09-12 08:35:30 +01:00
Ivan Nieto Vivanco 9cbd2d032c Add a boolean variable and condition to handle the call to checkedOutToUser() method 2023-09-11 17:40:59 -06:00
snipe a49d3fe131 Merge pull request #13526 from Godmartinz/asset-model-notifs
Added threshold notifications and min qty for Asset models
2023-09-11 17:55:34 +01:00
Godfrey Martinez a26b96185b Merge branch 'develop' into asset-model-notifs 2023-09-11 09:37:22 -07:00
Godfrey M 0eb50ceb3d removes commented code 2023-09-11 09:36:38 -07:00
snipe dc74fb133f Merge pull request #13577 from marcusmoore/fixes/improve-testcase
Fixed failing test
2023-09-08 07:08:21 +01:00
Marcus Moore 093bf57448 Update assertion and add failure messages 2023-09-07 16:42:49 -07:00
snipe 06836663c8 Merge pull request #13575 from marcusmoore/fixes/improve-api-messaging
Added validation around department_id in API patch request
2023-09-07 21:36:20 +01:00
Marcus Moore c6c1c64c1e Remove todo 2023-09-07 13:30:05 -07:00
Marcus Moore 4caa501996 Relax property type check 2023-09-07 13:28:32 -07:00
Marcus Moore a7a70f6981 Test permissions update 2023-09-07 13:21:27 -07:00
Marcus Moore 39ff575ac1 Remove unused test cases 2023-09-07 13:16:08 -07:00
snipe 02c187b0a0 Merge pull request #13566 from snipe/features/13562_add_inline_file_link
Fixed #13562 - Added inline file link
2023-09-07 20:50:13 +01:00
snipe 7f892bf5ef Merge pull request #13574 from inietov/fixes/unaccepted_assets_report_incorrect
Fixed Unaccepted Assets report has incorrect people [freshdesk-37808]
2023-09-07 20:49:40 +01:00
Marcus Moore 56e6205667 Formatting 2023-09-07 12:45:03 -07:00
Ivan Nieto Vivanco abd2ed3b81 Filter unaccepted assets that are not assigned to users 2023-09-07 13:39:16 -06:00
Marcus Moore 899c2eb19b Implement test case 2023-09-07 12:34:50 -07:00
snipe 894c34ff4f Update to only use relative paths
Signed-off-by: snipe <snipe@snipe.net>
2023-09-07 20:22:14 +01:00
snipe b7c2b9374c Merge pull request #13573 from snipe/upgrade_scim_server
Upgrade to new branch for our fork of laravel-scim-server
2023-09-07 20:07:59 +01:00
Brady Wetherington 3184f795c2 Upgrade to new branch for our fork of laravel-scim-server 2023-09-07 18:29:23 +01:00
snipe 67cad9c751 Merge pull request #13571 from inietov/fixes/require_acceptance_on_null
Fixed Attempt to read property require_acceptance on null [rollbar-3557]
2023-09-07 18:11:42 +01:00
snipe ec5238ff06 Merge pull request #13548 from marcusmoore/update-testing-documentation
Updated testing documentation
2023-09-07 11:25:53 +01:00
Marcus Moore 1c3c36f2a0 Begin to implement patch test 2023-09-06 16:14:14 -07:00
Ivan Nieto Vivanco 1509c512a5 Add guard clauses around some License and LicenseSeat models functions 2023-09-06 11:54:11 -06:00
snipe e920199626 Merge pull request #13567 from johnson-yi/fixes/add_default_location_to_checkin_actionlog
Add default location to tracked changes on checkin actionlog
2023-09-06 09:37:04 +01:00
johnson-yi 5897f4d6d9 Add rtd_location_id to tracked changes on checkin actionlog 2023-09-06 00:36:48 +00:00
Brady Wetherington 0086adab86 Refactor out common code for 'custom fields view' partial 2023-09-05 20:45:43 +01:00
snipe a67888f3d3 Merge pull request #13547 from inietov/fixes/Attempt_to_read_property_asset_tag
Fixed ErrorException: Attempt to read property "asset_tag" on null (rollbar #3541)
2023-09-05 20:26:21 +01:00
Ivan Nieto Vivanco 91b1cc7121 Move the early return to the controller instead of the Label model 2023-09-05 13:23:51 -06:00
Brady Wetherington 0f91e898fd Remove some code duplication 2023-09-05 19:18:04 +01:00
snipe d6dd332b09 Merge pull request #13557 from johnson-yi/fixes/add_changes_to_checkinout_actionlog
Added/Fixed: track changes on asset checkin/out
2023-09-05 19:08:49 +01:00
snipe 65a76c599c Added inline=true to image preview modal
Signed-off-by: snipe <snipe@snipe.net>
2023-09-05 18:35:07 +01:00
snipe f53db8ba75 Fixed #13562 - allow inline view for uploaded files
Signed-off-by: snipe <snipe@snipe.net>
2023-09-05 18:28:01 +01:00
snipe e486fe2794 Removed soft-delete query
Signed-off-by: snipe <snipe@snipe.net>
2023-09-05 16:10:20 +01:00
snipe 26452a8a29 Merge pull request #13565 from snipe/fixes/asset_history_500_on_hard_deleted_models
Account for hard-deleted models, suppliers
2023-09-05 16:06:40 +01:00
snipe f85df6bb8c Use same method of accessing companies as others
Signed-off-by: snipe <snipe@snipe.net>
2023-09-05 16:02:28 +01:00
Brady Wetherington 636da2ab5e Wiring up custom fields for users - still some big UI challenges tho 2023-09-05 16:01:53 +01:00
snipe 2acf2b880e Account for hard-deleted models, suppliers
Signed-off-by: snipe <snipe@snipe.net>
2023-09-05 15:58:21 +01:00
snipe b17af38d8e Merge pull request #12901 from Godmartinz/user_total_cost
Added users total cost of assets to user profile
2023-09-05 13:52:34 +01:00
snipe a62e2f092b Merge pull request #13498 from marcusmoore/feature/add-checkin-date-range-filter-to-custom-asset-report
Added last check in column and filter to custom asset report
2023-09-05 13:22:15 +01:00
Johnson Yi 09f7b3debe Track changes on asset checkin/out 2023-09-01 13:12:07 +10:00
Brady Wetherington 4f182c0a50 Got a chunk of Custom Fields for Users worked out, still needs cleanup 2023-08-31 19:34:25 +01:00
Marcus Moore da7d6f6f77 Merge branch 'develop' into update-testing-documentation 2023-08-31 10:36:06 -07:00
snipe f08cef8664 Merge pull request #13556 from snipe/feature/sc-23684
Added model name and number to dynamic url
2023-08-31 18:23:33 +01:00
snipe e192cbbbe1 Merge pull request #13550 from marcusmoore/remove-dusk
Removed Dusk
2023-08-31 18:06:04 +01:00
snipe 83b178f5b2 Added model name and number to dynamic url
Signed-off-by: snipe <snipe@snipe.net>
2023-08-31 18:03:32 +01:00
snipe c51574099f Merge pull request #13507 from Godmartinz/ignore_encrypt_and_other_changes
Added eager loading for `changedinfo` and removed encrypted values from Asset history
2023-08-31 13:04:39 +01:00
snipe 9a0f691f05 Merge pull request #13546 from snipe/fixes/make_boolean_user_fields_more_consistant
Don’t cast as boolean, do validate as boolean for User validation
2023-08-31 12:01:20 +01:00
Marcus Moore a799659610 Scaffold tests and add context 2023-08-30 17:33:23 -07:00
Marcus Moore 999605f832 Add failing test 2023-08-30 17:10:50 -07:00
Marcus Moore 5828d29952 Remove Dusk 2023-08-30 16:43:18 -07:00
Marcus Moore 417b2c8331 Update testing documentation 2023-08-30 11:27:26 -07:00
snipe 663faffcc1 Un-cast byod, validate as boolean
Signed-off-by: snipe <snipe@snipe.net>
2023-08-30 19:13:55 +01:00
snipe fb455be406 Added tests
Signed-off-by: snipe <snipe@snipe.net>
2023-08-30 19:13:38 +01:00
Brady Wetherington a384d0173a Merge branch 'snipeit_v7_laravel10' into has_custom_fields_trait_rebase 2023-08-30 18:33:17 +01:00
Ivan Nieto Vivanco 085a993340 Early return if no asset is found 2023-08-30 11:05:58 -06:00
Marcus Moore 07c3fe1fce Update assertions to account for type change 2023-08-30 09:42:53 -07:00
snipe 2a93c38830 Don’t cast as boolean, validate as boolean
Signed-off-by: snipe <snipe@snipe.net>
2023-08-30 16:40:28 +01:00
snipe c0cbdb1fc4 Fixed bug introduced in #13528
Signed-off-by: snipe <snipe@snipe.net>
2023-08-30 15:48:35 +01:00
snipe 5cf8c36698 Updated assets
Signed-off-by: snipe <snipe@snipe.net>
2023-08-30 15:43:06 +01:00
snipe 1bcc74f156 Upgrade @fortawesome/fontawesome-free from 6.4.0 to 6.4.2 #13527
Signed-off-by: snipe <snipe@snipe.net>
2023-08-30 15:41:11 +01:00
snipe 9ebcde4472 Upgrade less from 4.1.2 to 4.2.0 #13534
Signed-off-by: snipe <snipe@snipe.net>
2023-08-30 15:40:56 +01:00
snipe fbc04cfd47 Bumped hash
Signed-off-by: snipe <snipe@snipe.net>
2023-08-30 15:07:38 +01:00
snipe b109ee281a Merge pull request #13544 from marcusmoore/bug/sc-23675
Fixed user search not adhering to company scoping
2023-08-30 08:54:41 +01:00
Marcus Moore 806ab2cb9d Ensure users are scoped by company in index method 2023-08-29 16:17:29 -07:00
Marcus Moore aafa1ab70e Add failing test 2023-08-29 16:15:13 -07:00
snipe 22d136df46 Merge pull request #13528 from inietov/fixes/cloning_model_blanks_fieldset
Fixed #12548 Cloning a model blanks fieldset of new one
2023-08-29 19:14:38 +01:00
Godfrey Martinez 0ac5d4d582 Merge pull request #8 from Godmartinz/fix-companyable
Fix companyable
2023-08-28 19:38:27 -07:00
Godfrey Martinez d86c63cf23 Merge branch 'ignore_encrypt_and_other_changes' into fix-companyable 2023-08-28 19:38:16 -07:00
Godfrey M 74f45a4473 reworks company queries for asset history 2023-08-28 19:35:46 -07:00
Ivan Nieto Vivanco 4e4ba38038 Pass the model_id variable in the controller and get it only if we are cloning the asset model 2023-08-28 16:23:26 -06:00
snipe 367484a766 Merge pull request #13537 from snipe/fixes/13500_prevent_autocomplete_on_ldap_password
Fixed #13500 - Try to prevent the browser from pre-filling the LDAP password
2023-08-28 20:42:58 +01:00
snipe 81365ef911 Merge pull request #13518 from marcusmoore/chore/tests-via-github-actions
Run tests for PHP 7.4, 8.0, and 8.1.1 via GitHub Actions
2023-08-28 20:28:42 +01:00
snipe 6020927e24 Merge pull request #13538 from snipe/fixes/13516_use_int_not_string_for_port_default
Fixed #13516 - Use int not string if no DB_PORT specified
2023-08-28 19:38:41 +01:00
snipe 82981290d4 Use int not string if no DB_PORT specified
Signed-off-by: snipe <snipe@snipe.net>
2023-08-28 19:34:08 +01:00
snipe 7787ca328c Try to prevent the browser from pre-filling the LDAP password
Signed-off-by: snipe <snipe@snipe.net>
2023-08-28 18:36:06 +01:00
Godfrey Martinez 92e88a0ae2 Merge branch 'develop' into ignore_encrypt_and_other_changes 2023-08-28 10:14:41 -07:00
Brady Wetherington 427f8b1522 Merge branch 'develop' into snipeit_v7_laravel10
Upgraded composer due to lockfile conflicts
2023-08-28 16:04:21 +01:00
Brady Wetherington 8902145288 This is a squashed branch of all of the various commits that make up the new HasCustomFields trait.
This should allow us to add custom fields to just about anything we want to within Snipe-IT.

Below are the commits that have been squashed together:

Initial decoupling of custom field behavior from Assets for re-use

Add new DB columns to Custom Fields and fieldsets for 'type'

WIP: trying to figure out UI for custom fields for things other than Assets, find problematic places

Real progress towards getting to where this stuff might actually work...

Fix the table-name determining code for Custom Fields

Getting it closer to where Assets at least work

Rename the trait to it's new, even better name

Solid progress on the new Trait!

WIP: HasCustomFields, still working some stuff out

Got some basics working; creating custom fields and stuff

HasCustomFields now validates and saves

Starting to yank the other boilerplate code as things start to work (!)

Got the start of defaultValuesForCustomField() working

More progress (squash me!)

Add migrations for default_values_for_custom_fields table

WIP: more towards hasCustomFields trait

Progress cleaning up the PR, fixing FIXME's

New, passing HasCustomFieldsTrait test!

Fix date formatter helper for custom fields

Fixed more FIXME's
2023-08-28 13:07:33 +01:00
snipe 535ca0e3c0 Merge pull request #13535 from snipe/fixes/13521_make_modal_upload_button_wider
Fixed #13521 - make modal “select files” button wider
2023-08-28 12:41:27 +01:00
snipe 582cad2dc5 Fixed #13521 - make modal “select files” button wider
Signed-off-by: snipe <snipe@snipe.net>
2023-08-28 12:37:42 +01:00
snipe e3a9c34818 Merge pull request #13533 from snipe/improvements/labels_clearer_barcode_text
Clearer labels barcode text
2023-08-26 18:08:10 +01:00
snipe 20e9f05a64 Tighter layout
Signed-off-by: snipe <snipe@snipe.net>
2023-08-26 17:43:02 +01:00
snipe 844fe0938c Added link to the help docs
Signed-off-by: snipe <snipe@snipe.net>
2023-08-26 17:42:56 +01:00
Ivan Nieto Vivanco a12a68e4e9 Add a variable so I dont ended rewriting the original model 2023-08-24 15:28:12 -06:00
Ivan Nieto Vivanco 950536f59f Added a condition to send correct model id when cloning one 2023-08-24 15:18:51 -06:00
Godfrey M e56628499c fixed lost changes 2023-08-24 11:45:23 -07:00
Godfrey M 2b7a899ef8 removed unnecessary code 2023-08-24 11:43:44 -07:00
Godfrey M 0b956b2a46 revert changes of composer.lock 2023-08-24 10:45:59 -07:00
Godfrey M 18cb514a53 revert unwanted changes 2023-08-24 10:40:44 -07:00
Godfrey M a3b6e0fbe6 adds some spacing 2023-08-24 10:36:09 -07:00
Godfrey M 34ba0c4440 adds id to history info 2023-08-24 10:36:08 -07:00
Godfrey M 739fc152c2 Adds readable asset history in the action log transformer 2023-08-24 10:36:08 -07:00
Godfrey M 011c09a3dd working on getting notifications 2023-08-24 10:35:40 -07:00
Godfrey M 38d5691b88 fix conflicts 2023-08-24 10:35:40 -07:00
Godfrey M c26ef224f4 fixing my mess 2023-08-24 10:31:01 -07:00
Godfrey M 8ebb9afedd adds min_amt to asset model edit, index, and table 2023-08-24 10:30:07 -07:00
snipe 26dd992d3c Merge pull request #13525 from marcusmoore/bug/sc-23660
Fixed undeclared variable in ActionlogsTransformer
2023-08-24 17:09:30 +01:00
Marcus Moore e32c07be02 Clear commented log statements 2023-08-24 08:15:40 -07:00
Marcus Moore 5a0b0522b0 Explicitly declare $clean_meta variable 2023-08-24 08:15:07 -07:00
Marcus Moore 20457bd89e Run tests for PHP 7.4, 8.0, and 8.1.1 2023-08-23 15:53:34 -07:00
Godfrey Martinez 28cf533d19 Merge branch 'develop' into ignore_encrypt_and_other_changes 2023-08-23 00:42:59 -07:00
Godfrey M 0fc79ec936 fixes conflicts 2023-08-23 00:40:59 -07:00
Godfrey M ffe1b11419 merged develop 2023-08-23 00:38:58 -07:00
Godfrey M 27488c1009 adds soft deletes to eager loading 2023-08-23 00:34:09 -07:00
Godfrey M ce60db009c adds soft deletes to eager loading 2023-08-23 00:32:43 -07:00
snipe d393bd5c97 Merge pull request #13511 from snipe/fixes/13510_no_translations_in_migrations
Fixed #13510 - do not use translations in migrations
2023-08-23 08:21:18 +01:00
snipe ea37325806 Remove trans() from default values
Signed-off-by: snipe <snipe@snipe.net>
2023-08-23 08:19:05 +01:00
snipe 31a7758ab1 Merge pull request #13509 from marcusmoore/bug/sc-23636
Fixed asset model query in action log transformer
2023-08-23 06:58:41 +01:00
Marcus Moore bee680683d Add withTrashed to asset model query 2023-08-22 17:05:06 -07:00
Godfrey M 92ddf8fc67 removed dead space 2023-08-22 12:38:50 -07:00
Godfrey M 1019287c76 retarget key 2023-08-22 12:36:43 -07:00
Godfrey M 9e438c3ed0 eager loaded changedInfo queries, reworked encrypted data change log changes 2023-08-22 12:34:45 -07:00
Godfrey M c7f2acf2c6 removes encrypted info from change log, renames asset_eol_date in the change log 2023-08-22 11:39:38 -07:00
snipe 79b330f492 Merge pull request #13400 from inietov/fixes/asset_acceptance_user_error
Fixed Asset acceptance error when user company and asset company don't match
2023-08-22 15:49:56 +01:00
snipe 3da21e73e2 Merge pull request #13501 from snipe/fixes/checkbox_layout_in_settings
Small fixes to checkbox layout in general settings blade
2023-08-22 14:12:15 +01:00
snipe da38945a53 Small fixes to checkbox layout in general settings blade
Signed-off-by: snipe <snipe@snipe.net>
2023-08-22 14:10:39 +01:00
snipe a48762c64d Merge pull request #13496 from snipe/features/setting_for_name_order
Fixed #13495 added setting for name order
2023-08-22 12:50:58 +01:00
snipe 23237e5cd3 Removed unused translation
Signed-off-by: snipe <snipe@snipe.net>
2023-08-22 12:50:32 +01:00
snipe aafb7668f5 Merge pull request #13453 from inietov/fixes/accessories_declined_issue
Fixed #13317 Accessories declined by user remain assigned
2023-08-22 12:42:55 +01:00
snipe fea11ec7f1 Merge pull request #12761 from spencerrlongg/bulk_edit_custom_fields
Bulk Editing Custom Fields
2023-08-22 12:40:18 +01:00
snipe 303b45c9e9 Merge pull request #13485 from Godmartinz/history_info_clean_up
Added better handling of information of asset history
2023-08-22 12:25:17 +01:00
snipe 8c7925e703 Merge pull request #13436 from marcusmoore/chore/dependency-updates
Bumped dependencies
2023-08-21 22:58:52 +01:00
Marcus Moore 191c4f959f Bump guzzlehttp/psr7 to 2.4.5 2023-08-21 14:46:08 -07:00
Marcus Moore 1e10a7ee23 Bump nyholm/psr7 to 1.6.1 2023-08-21 14:45:21 -07:00
Marcus Moore 4e8537a1c7 Merge branch 'develop' into chore/dependency-updates
# Conflicts:
#	composer.lock
2023-08-21 14:44:15 -07:00
Marcus Moore 4e2ef4f056 Default to using the current date if last check in end date is not provided 2023-08-21 14:35:15 -07:00
snipe 79a4d915db Merge pull request #13456 from marcusmoore/fixes/auto-incrementing-on-74
Fixed passing invalid argument to `strpos()`
2023-08-21 22:25:52 +01:00
Marcus Moore c332b98456 Add last checkin options to report front end 2023-08-21 13:44:49 -07:00
Godfrey M b54aaefefb adds some spacing 2023-08-21 13:43:06 -07:00
Godfrey M 5076b45a0d adds id to history info 2023-08-21 13:40:39 -07:00
Marcus Moore 6fc06f2ee1 Add simple tests around asset check in 2023-08-21 12:31:51 -07:00
snipe 36a343365e Switched from fullName() to getFullNameAttribute()
Signed-off-by: snipe <snipe@snipe.net>
2023-08-21 20:14:07 +01:00
snipe c617bf89b6 Tweak layout
Signed-off-by: snipe <snipe@snipe.net>
2023-08-21 20:13:45 +01:00
snipe ba0643f6a4 Added name display format, tweaked some
Signed-off-by: snipe <snipe@snipe.net>
2023-08-21 20:13:28 +01:00
snipe bfd674b622 Switched to getFullNameAttribute() from fullName() in User Presenter
Signed-off-by: snipe <snipe@snipe.net>
2023-08-21 20:12:25 +01:00
snipe d73d15b8a2 Added form macro for name format
Signed-off-by: snipe <snipe@snipe.net>
2023-08-21 20:11:59 +01:00
snipe 8660d41aa3 Changed width of locale field
Signed-off-by: snipe <snipe@snipe.net>
2023-08-21 20:11:45 +01:00
snipe c39579b170 New strings
Signed-off-by: snipe <snipe@snipe.net>
2023-08-21 20:11:25 +01:00
snipe 354550b52e Removed getCompleteNameAttribute(), modified getFullNameAttribute()
Signed-off-by: snipe <snipe@snipe.net>
2023-08-21 20:11:17 +01:00
snipe f3460b5a4f Switch to getFullNameAttribute() in user transformer
Signed-off-by: snipe <snipe@snipe.net>
2023-08-21 20:10:48 +01:00
snipe 474c03e3fc Added name order to settings save controller method
Signed-off-by: snipe <snipe@snipe.net>
2023-08-21 20:10:03 +01:00
snipe 749002b768 Added migration to add name order to settings
Signed-off-by: snipe <snipe@snipe.net>
2023-08-21 20:09:48 +01:00
Marcus Moore 489d30c685 Set last_checkin in ui and api controllers 2023-08-21 11:57:33 -07:00
snipe 2346bab8ed Merge pull request #13492 from snipe/features/add_dymo_labelwriter
Added Dymo labelwriter
2023-08-18 23:27:37 +01:00
snipe 45898deb1a Don’t 500 if the 1D barcode doesn’t match the format requested - log an error instead
Signed-off-by: snipe <snipe@snipe.net>
2023-08-18 22:18:38 +01:00
snipe ffc7c4e99a use number format to constrain large number displays
Signed-off-by: snipe <snipe@snipe.net>
2023-08-18 22:18:09 +01:00
snipe 1e82c2bfad Changed example asset name
Signed-off-by: snipe <snipe@snipe.net>
2023-08-18 22:17:54 +01:00
snipe d12f4564e1 Added Dymo Labelwriter template
Signed-off-by: snipe <snipe@snipe.net>
2023-08-18 21:44:12 +01:00
snipe 1dcca14c37 Values are not sortable, so don’t show them as sortable
Signed-off-by: snipe <snipe@snipe.net>
2023-08-18 21:21:54 +01:00
snipe 63f847f125 Merge pull request #13491 from snipe/fixes/remove_border_from_default_label
Removed the black label from around the default labels
2023-08-18 18:40:45 +01:00
snipe d56c671410 Removed the black label from around the default labels
Signed-off-by: snipe <snipe@snipe.net>
2023-08-18 18:39:00 +01:00
snipe 802651a1b4 Merge pull request #13489 from snipe/fixes/override_0_cols_rows_in_default_for_new_engine
Make sure the columns and rows can never be 0
2023-08-18 18:14:01 +01:00
snipe 0cb76a049a Make sure the columns and rows can never be 0
Signed-off-by: snipe <snipe@snipe.net>
2023-08-18 18:13:16 +01:00
snipe 5645141f93 Merge pull request #13488 from snipe/fixes/13487_supplier_url_in_listing
Fixed #13487 - include supplier url in listing
2023-08-18 15:32:14 +01:00
snipe da2f22d504 Fixed #13487 - include supplier url in listing
Signed-off-by: snipe <snipe@snipe.net>
2023-08-18 15:31:15 +01:00
Marcus Moore 8b2716d2b7 Fix update statement 2023-08-17 18:33:01 -07:00
Marcus Moore 56fb45f1ea WIP: Add last_checkin to assets table 2023-08-17 18:01:26 -07:00
Godfrey M a62876d4bc Adds readable asset history in the action log transformer 2023-08-17 16:14:01 -07:00
snipe 0ee032a10d Merge pull request #13391 from Godmartinz/ldap_sync_field_clear_bug
Fixed Ldap sync field clear bug
2023-08-17 17:45:03 +01:00
snipe 03a01c02c4 Merge pull request #13483 from inietov/fixes/default_locations_advanced_search
Fixed #13359 Advanced search by Default Location does not work
2023-08-17 15:15:21 +01:00
Ivan Nieto Vivanco b607a59875 Add query to search default locations in advanced search 2023-08-16 15:04:17 -06:00
snipe 34f2221b02 Merge pull request #13471 from inietov/fixes/components_search
Fixed #13409 Search in component detail view not working
2023-08-16 21:59:40 +01:00
snipe b81c6825cf Merge pull request #13476 from uberbrady/accessry_checkin_fix_develop
Accessory checkin via API reported wrong target user
2023-08-16 13:05:54 +01:00
Brady Wetherington 852e9ff311 Accessory checkin via API reported wrong target user 2023-08-16 13:03:37 +01:00
Ivan Nieto Vivanco 92df32dfaa Move a couple assignation of variables inside an else to only execute once 2023-08-15 21:10:48 -06:00
snipe eacbde37e2 Merge pull request #13473 from snipe/fixes/check_for_company_on_labels
Check that there is a company before trying to get name property
2023-08-16 01:27:48 +01:00
snipe 74384f14e4 Use clearer translation (from original PR)
Signed-off-by: snipe <snipe@snipe.net>
2023-08-16 01:25:13 +01:00
snipe 027afa71f1 Check that there is a company before trying to get name property
Signed-off-by: snipe <snipe@snipe.net>
2023-08-16 01:09:22 +01:00
Ivan Nieto Vivanco 993918f47c Add query to search into the per-component view 2023-08-15 15:31:36 -06:00
Brady Wetherington 8b52bad16f Merge branch 'develop' into snipeit_v7_laravel10 2023-08-15 21:25:16 +01:00
Ivan Nieto Vivanco 25c58a8486 Fix typo in language variable name 2023-08-15 14:17:39 -06:00
snipe 7eaf3174ab Merge pull request #13457 from snipe/fixes/remove_autocomplete_off_on_login
Fixed #13365 - Added LOGIN_AUTOCOMPLETE as env var
2023-08-15 20:55:05 +01:00
snipe 297390ae63 Merge pull request #13470 from snipe/fixes/13464_typo_in_accessories_clone
Fixed #13464 typo in accessories clone
2023-08-15 20:41:54 +01:00
snipe 01ab360ef3 Fixed accessory clone typo
Signed-off-by: snipe <snipe@snipe.net>
2023-08-15 20:39:09 +01:00
snipe 1c2f3cd552 Fixed translation typo
Signed-off-by: snipe <snipe@snipe.net>
2023-08-15 20:39:00 +01:00
snipe bc4a47421a Merge pull request #13469 from snipe/fixes/missed_one_checkbox_in_label
Fixed checkboxes for accessibility
2023-08-15 20:30:39 +01:00
snipe 0763b5135d Fixed checkboxes
Signed-off-by: snipe <snipe@snipe.net>
2023-08-15 20:28:16 +01:00
snipe 253975ce72 Updated translation
Signed-off-by: snipe <snipe@snipe.net>
2023-08-15 20:27:55 +01:00
snipe 9af850dbaa Re-apply a change that was dropped
Signed-off-by: snipe <snipe@snipe.net>
2023-08-15 20:27:47 +01:00
snipe 96b616be89 Downgraded TCPDF
Signed-off-by: snipe <snipe@snipe.net>
2023-08-15 20:11:56 +01:00
snipe 2b9f8ce4a6 Merge pull request #13467 from snipe/fixes/more_label_html_tweaks
Fixes more label html tweaks
2023-08-15 20:05:03 +01:00
snipe fa6c8d864e Restore label engine checkbox
Signed-off-by: snipe <snipe@snipe.net>
2023-08-15 20:04:19 +01:00
snipe c957f136aa More label tweaks
Signed-off-by: snipe <snipe@snipe.net>
2023-08-15 20:03:40 +01:00
snipe 697dc10d76 More label tweaks
Signed-off-by: snipe <snipe@snipe.net>
2023-08-15 20:03:32 +01:00
snipe d47b502d86 Merge pull request #13466 from snipe/fixes/weird_label_engine_layout
Fixes weird label engine layout
2023-08-15 18:52:54 +01:00
snipe 6b02184e99 Fixed weird layout with checkbox
Signed-off-by: snipe <snipe@snipe.net>
2023-08-15 18:48:20 +01:00
snipe 64342838fd Return the user to the labels page on save
Signed-off-by: snipe <snipe@snipe.net>
2023-08-15 18:48:12 +01:00
snipe 346f243bc0 Merge pull request #13465 from snipe/fixes/parse_error_in_helper
Fixed unclosed brace
2023-08-15 18:14:55 +01:00
snipe 443adc50da Fixed unclosed brace
Signed-off-by: snipe <snipe@snipe.net>
2023-08-15 18:12:25 +01:00
snipe cebf0e0de1 Add @cram42 as a contributor 2023-08-15 18:07:56 +01:00
snipe e41368daac Merge pull request #12050 from cram42/develop
New Label Engine
2023-08-15 17:58:57 +01:00
Godfrey M d1efca2ae1 fixes conflicts 2023-08-15 09:28:42 -07:00
snipe c56f664811 Merge pull request #13442 from Robert-Azelis/Robert-Azelis-patch-add_email_to_companies
Add email to companies
2023-08-15 13:26:20 +01:00
snipe 6f373aed33 Merge pull request #13461 from snipe/localization/new_translations
Updated language strings from CrowdIn
2023-08-15 13:22:14 +01:00
snipe d1ce1b6f18 Updated language strings from CrowdIn
Signed-off-by: snipe <snipe@snipe.net>
2023-08-15 13:21:35 +01:00
Ivan Nieto Vivanco 71cb16118d Change error string for a better (?) one 2023-08-14 20:52:00 -06:00
Ivan Nieto Vivanco d365565b6d Add message in the acceptance assets view to indicate when the user can\'t accept nor deny the asset 2023-08-14 20:51:04 -06:00
snipe 24a3e0ee83 Added LOGIN_AUTOCOMPLETE as env var
Signed-off-by: snipe <snipe@snipe.net>
2023-08-15 01:56:01 +01:00
Marcus Moore dc1a8840f1 Ensure empty string is not passed to strpos() 2023-08-14 16:40:34 -07:00
Ivan Nieto Vivanco 96440834bd Move the declinedCheckout function so it don/'t separate the class properties 2023-08-14 16:16:28 -06:00
snipe d3fbbec92c Merge pull request #13455 from snipe/fixes/confusion_around_localization_date
Fixed #13382 - confusion around localization date
2023-08-14 22:50:30 +01:00
snipe 9820ab34d7 Use today’s date for date format selectlist
Signed-off-by: snipe <snipe@snipe.net>
2023-08-14 22:44:29 +01:00
snipe aa333bcf0b Merge pull request #13448 from Godmartinz/status-label-translations_fix
Fixed #13446 - added translations to status label type column
2023-08-14 22:25:46 +01:00
snipe ba56746f57 Merge pull request #13437 from marcusmoore/feature/improve-user-factory
Allowed permissions in the user factory to be chained
2023-08-14 22:23:55 +01:00
snipe dcec4ba5e2 Merge pull request #13454 from snipe/fixes/13450_removed_escaping_custom_fieldsets
Fixed #13450 - remove escaping on saveing new custom fields
2023-08-14 22:22:35 +01:00
snipe 12e9d2adeb Fixed #13450 - remove escaping on saveing new custom fields
Signed-off-by: snipe <snipe@snipe.net>
2023-08-14 22:21:41 +01:00
Ivan Nieto Vivanco 8da2a8a79c Allows to save signature for declined items 2023-08-14 14:58:10 -06:00
Ivan Nieto Vivanco 4796598bb6 Add declinedCheckout method to Accessory model 2023-08-14 14:35:31 -06:00
Godfrey M c3356ab765 fixed translation choice and color choice 2023-08-14 12:20:46 -07:00
Godfrey M 4446b2311d remove unnecessary changes 2023-08-14 12:14:15 -07:00
Godfrey M 6b94ef6adc fixes the statuslabeltypeforatter instead of the model 2023-08-14 12:13:01 -07:00
Godfrey M a0d5774635 adds translations to status label type column 2023-08-14 10:42:17 -07:00
snipe 291fa1cd29 Merge pull request #13445 from snipe/fixes/typo_in_formatter_for_asset_maintenances
Fixed case in BS table formatter for boolean
2023-08-14 13:02:27 +01:00
snipe 58286c9cab Fixed case in BS table formatter for boolean
Signed-off-by: snipe <snipe@snipe.net>
2023-08-14 13:01:32 +01:00
Robert-Azelis 1e43d88e06 Create 2023_08_13_172600_add_email_to_companies.php 2023-08-13 17:25:33 +02:00
Robert-Azelis da701677c7 Update edit.blade.php 2023-08-13 17:24:17 +02:00
Robert-Azelis 30d33310ae Update CompanyPresenter.php 2023-08-13 17:23:33 +02:00
Robert-Azelis bbb8ecfee4 Update Company.php 2023-08-13 17:21:55 +02:00
Robert-Azelis 8988a5dfc3 Update CompaniesTransformer.php 2023-08-13 17:20:15 +02:00
Robert-Azelis ed5b4ca0a2 Update CompaniesController.php 2023-08-13 17:18:25 +02:00
Robert-Azelis 07bafa9508 Update CompaniesController.php 2023-08-13 17:15:20 +02:00
snipe a1cfa45344 Merge pull request #13439 from snipe/fixes/500_error_when_cloning_invalid_accessory
Fixed route for accessory index
2023-08-11 09:42:00 +01:00
snipe df8f6a8d2b Correctly call the route for accessory index
Signed-off-by: snipe <snipe@snipe.net>
2023-08-11 09:40:49 +01:00
Marcus Moore 5b86c02366 Set permissions to empty object in user factory 2023-08-10 16:55:44 -07:00
Marcus Moore 41479b1ec7 Allow permissions in the user factory to be chained 2023-08-10 16:35:10 -07:00
Marcus Moore 3a2b15313c Bump guzzlehttp/psr7 to 2.4.5 2023-08-10 11:53:20 -07:00
Marcus Moore 6b6bb61400 Bump nyholm/psr7 to 1.6.1 2023-08-10 11:52:42 -07:00
snipe 6adaa32286 Merge pull request #13431 from marcusmoore/feature/custom-report-scoping
Removed unneeded `Company::scopeCompanyables` from `ReportsController`
2023-08-10 09:57:53 +01:00
snipe a599f0c923 Merge pull request #13434 from marcusmoore/chore/improve-test-stability
Improved test stability and messaging
2023-08-10 09:57:26 +01:00
snipe 4db4bf7be4 Merge pull request #13432 from marcusmoore/chore/remove-old-testing-code
Removed unused Codeception test code
2023-08-10 09:57:11 +01:00
Marcus Moore 04661d5441 Add help text to response assertion helpers 2023-08-09 17:09:31 -07:00
Marcus Moore 3a5ed031bf Escape values in response assertion helpers 2023-08-09 17:08:49 -07:00
Marcus Moore 60baaae192 Remove unused test bootstrap file 2023-08-09 16:22:58 -07:00
Marcus Moore 8508594a2f Remove old and unused Codeception test code 2023-08-09 13:32:15 -07:00
Marcus Moore e0b464dcec Merge branch 'develop' into feature/custom-report-scoping 2023-08-09 13:03:05 -07:00
snipe bd3ba9a5f7 Merge pull request #13428 from snipe/security/update_autotable
Updated autotable
2023-08-09 10:49:01 +01:00
snipe a65ac1ccdf Updated autotable
Signed-off-by: snipe <snipe@snipe.net>
2023-08-09 10:47:45 +01:00
snipe ffabc9c331 Merge pull request #13414 from marcusmoore/fixes/chipperci-config
Fixes ChipperCi Pipeline
2023-08-09 10:37:21 +01:00
snipe a6a742d8d8 Merge pull request #13407 from marcusmoore/feature/sc-23465
Added messaging to category edit page to improve clarity around when users will be emailed
2023-08-09 10:36:19 +01:00
Marcus Moore 2e632a3d2d Improve test readability 2023-08-08 17:40:02 -07:00
Marcus Moore c32f099053 Remove unneeded call to Company::scopeCompanyables 2023-08-08 17:22:15 -07:00
Marcus Moore c752e1670c Add test around company scoping in custom report 2023-08-08 17:21:39 -07:00
Marcus Moore 1405e17251 Add simple test around custom asset report response 2023-08-08 17:10:36 -07:00
snipe 15122bbb55 Merge pull request #13425 from snipe/security/upgrade_webpack_snyk_13416
Updated webpack
2023-08-08 22:24:59 +01:00
snipe c18349d75f Updated webpack
Signed-off-by: snipe <snipe@snipe.net>
2023-08-08 22:07:49 +01:00
snipe 521961457d Merge pull request #13424 from snipe/bug/sc-23552
Fixed tooltip not loading on encrypted field lock icon on asset detail view
2023-08-08 19:00:56 +01:00
snipe 6a3a38b6f6 Call tooltip again on custom fields jquery
Signed-off-by: snipe <snipe@snipe.net>
2023-08-08 18:53:57 +01:00
snipe 40aca9709a Added container to the tooltip invocation
Signed-off-by: snipe <snipe@snipe.net>
2023-08-08 18:52:26 +01:00
snipe 9e6f23c8c7 Merge pull request #13421 from uberbrady/re_add_asset_eol_date
Re-add the option for asset_eol_date as an import field
2023-08-08 17:52:05 +01:00
Brady Wetherington 6afbf1b152 Re-add the option for asset_eol_date as an import field 2023-08-08 17:45:33 +01:00
snipe af91ffb2da Merge pull request #13418 from snipe/fixes/add_mailgun_endpoint
Added mailgun endpoint option, defaulting to the US
2023-08-08 12:56:37 +01:00
snipe 94bef046b8 Added mailgun endpoint option, defaulting to the US
Signed-off-by: snipe <snipe@snipe.net>
2023-08-08 12:50:38 +01:00
snipe bd4061e023 Change text on dropdown
Signed-off-by: snipe <snipe@snipe.net>
2023-08-08 08:18:56 +01:00
snipe 5bda73f151 Ugh - messing with the blade layout
Signed-off-by: snipe <snipe@snipe.net>
2023-08-08 08:18:40 +01:00
Marcus Moore b56bcd3596 Troubleshooting pipeline: create both .env and .env.testing 2023-08-07 11:59:58 -07:00
Marcus Moore 999605b591 Troubleshooting pipeline: create .env.testing in place of .env 2023-08-07 11:57:34 -07:00
Marcus Moore d3a45f73cf Troubleshooting pipeline: re-add creating .env.testing 2023-08-07 11:48:09 -07:00
Marcus Moore 0d40979724 Troubleshooting pipeline: Remove commented commands 2023-08-07 11:36:51 -07:00
Marcus Moore 81efa7d84e Revert "Troubleshooting pipeline: use phpunit in place of artisan test"
This reverts commit a7d1657111.
2023-08-07 11:35:18 -07:00
Marcus Moore a7d1657111 Troubleshooting pipeline: use phpunit in place of artisan test 2023-08-07 11:31:00 -07:00
Marcus Moore 8ea8ff05e5 Troubleshooting pipeline: fix filename 2023-08-07 11:26:04 -07:00
Marcus Moore 6398805fc3 Troubleshooting pipeline: use .env.testing in place of .env.example 2023-08-07 11:24:38 -07:00
Marcus Moore 119ed9c882 Troubleshooting pipeline: remove comment to trigger build 2023-08-07 11:09:10 -07:00
snipe 32d8d8c50e Merge pull request #13397 from uberbrady/fix_locationless_ldap_sync
Fixed #13372: Put guard around assigning location via LDAP
2023-08-07 17:06:58 +01:00
Marcus Moore ae9cf1e5b6 Formatting 2023-08-02 18:24:32 -07:00
Ivan Nieto Vivanco 053d3fc9ed Prevent asset to be checked out if full company support is enabled and companies not match 2023-08-02 19:23:28 -06:00
Marcus Moore d019e62d39 Remove lazy from eula field to avoid race condition 2023-08-02 18:22:40 -07:00
Ivan Nieto Vivanco 9ca163e8cf Stop asset acceptances from shown to user if full company support is enabled and companies not match 2023-08-02 19:22:35 -06:00
Marcus Moore b70a5280f9 Remove unneed jquery 2023-08-02 18:04:21 -07:00
Marcus Moore cbe5a9bc8a Persist eula text even when field is disabled 2023-08-02 18:03:09 -07:00
Marcus Moore 3fd0853fd0 Ensure eula field enabled when not using default eula 2023-08-02 18:02:56 -07:00
Marcus Moore 2e7aa01abe Pass checkin_email value to backend even when unchecked 2023-08-02 17:45:39 -07:00
Marcus Moore 896f038054 Set send email back to original value when eulas cleared 2023-08-02 17:03:56 -07:00
Marcus Moore 48979ce177 Disable send email when it should not be modified 2023-08-02 16:52:56 -07:00
Marcus Moore e12935f7fa Disable eula textarea when using global eula 2023-08-02 16:18:57 -07:00
Marcus Moore 6400034435 Improve variable name 2023-08-02 16:06:59 -07:00
Marcus Moore 269414e4f2 Automatically check the send email to user checkbox in certain conditions 2023-08-02 16:04:01 -07:00
Marcus Moore dee6ebf8e0 Scaffold component test 2023-08-02 12:58:07 -07:00
Marcus Moore 105c94aea9 Implement toggling message when email will be sent 2023-08-02 11:36:20 -07:00
Brady Wetherington 0af205dade Put guard around assigning location via LDAP 2023-08-02 15:01:14 +01:00
Marcus Moore 6349d52803 WIP: migrate to livewire 2023-08-01 17:29:23 -07:00
Marcus Moore 65de9c5e07 Extract translation strings 2023-08-01 15:21:49 -07:00
Marcus Moore ebfc395e78 Improve messaging 2023-08-01 14:39:30 -07:00
Marcus Moore 5c8c2ca027 Improve variable names 2023-08-01 14:26:21 -07:00
snipe 924f5287f7 Merge pull request #13392 from Godmartinz/change_webhook_variable_type
Fixed `webhook_endpoint` data type from varchar to a text
2023-08-01 20:28:39 +01:00
Godfrey M 7560afb8c4 changes webhook_endpoint var to a text 2023-08-01 10:45:39 -07:00
Godfrey M 8a24a47475 removed unnecessary code 2023-08-01 09:45:48 -07:00
Godfrey M fb52038e7c applies a check if a sync field is designated 2023-08-01 09:39:58 -07:00
Brady Wetherington daed0b60bc Merge branch 'develop' into snipeit_v7_laravel10 2023-07-31 19:40:56 +01:00
snipe ffb605a37c Merge pull request #13309 from inietov/fixes/checkout_range_doesnt_include_today
Fixed #13300 Custom Asset Report, Checkout date range never includes current day
2023-07-31 15:04:22 +01:00
Brady Wetherington 4654f7aa37 Porting Snipe-IT v7 to Laravel v10 2023-07-31 14:07:12 +01:00
snipe 343aacab85 Merge pull request #13386 from snipe/security/dep_updates
Updated BS table and table export plugins
2023-07-31 13:46:41 +01:00
snipe 96d69b654d Updated BS table and table export plugins
Signed-off-by: snipe <snipe@snipe.net>
2023-07-31 13:45:15 +01:00
snipe 2e1c3fb51b Merge pull request #13295 from inietov/fixes/admins_cannot_view_encrypted_fields
Fixed #11794 Admins Cannot View Encrypted Field
2023-07-31 13:08:28 +01:00
snipe 3e4b371bf4 Merge pull request #13379 from inietov/fixes/component_checkout_via_api_returns_error
Fixed #13376 Component checkout via API returns error
2023-07-31 13:07:38 +01:00
Grant Le Roux b1464e028c Merge branch 'develop' into develop 2023-07-31 07:57:29 +08:00
Ivan Nieto Vivanco 0a841ddbb8 Change component validator to the correct asset id we're passing in the API call 2023-07-27 20:22:13 -06:00
Brady Wetherington 70e87dad1c Merge branch 'develop' into snipeit_v7 2023-07-27 16:21:31 +01:00
snipe af86c6138d Merge pull request #13361 from Godmartinz/bug/sc-19126
Fixed custom fieldset order
2023-07-26 08:55:18 +01:00
snipe f6545be410 Merge pull request #13363 from inietov/fixes/no_records_found_multipage_license_seats
Fixed #13298 "No records Found" when Switching between Single and Multi-Page Licenses
2023-07-26 08:48:44 +01:00
Ivan Nieto Vivanco c015264181 Adjust the license offset if it exceeds the total of license seats 2023-07-25 16:23:33 -06:00
Godfrey M 9c6e8d57aa removes typos 2023-07-25 11:44:16 -07:00
Godfrey M 11e3487263 custom field set order starts at 1 now 2023-07-25 11:41:08 -07:00
snipe a01cb26aac Merge pull request #12940 from akemidx/delete_asset_from_view_page
Delete button on asset view page
2023-07-25 12:11:35 +01:00
akemidx e289e95721 no ? needed 2023-07-24 17:22:10 -04:00
akemidx b082d27c42 removing :item 2023-07-24 17:12:12 -04:00
snipe 39ea15a27a Merge pull request #13347 from snipe/fixes/custom_report_error_on_bad_model
Possible alternative to fixing #13296 - custom report failing when th…
2023-07-21 15:18:16 +01:00
snipe 4fe6632167 Merge pull request #13349 from snipe/fixes/check_for_valid_model
Fixed: tighter check for valid model
2023-07-21 14:52:00 +01:00
snipe 1a771e6ab9 Check that the model is valid before trying to chain the relationship
Signed-off-by: snipe <snipe@snipe.net>
2023-07-21 14:46:58 +01:00
snipe 7f761000b4 Use slightly less terrifying and more accurate language
Signed-off-by: snipe <snipe@snipe.net>
2023-07-21 14:46:39 +01:00
Ivan Nieto Vivanco cb4ed92639 Use Carbon date objects instead of casting using DB::raw() 2023-07-20 16:17:06 -06:00
snipe 540b09c506 Possible alternative to fixing #13296 - custom report failing when the model is busted
Related: https://github.com/snipe/snipe-it/pull/13297
Signed-off-by: snipe <snipe@snipe.net>
2023-07-20 17:45:45 +01:00
Brady Wetherington ba8d8a6f05 Merge branch 'develop' into snipeit_v7 2023-07-20 17:16:04 +01:00
snipe 0b8a3ee9a5 Merge pull request #13346 from snipe/fixes/depreciable
Check that $this->get_depreciation() returns
2023-07-20 16:33:15 +01:00
snipe 1e09320ebe Check that $this->get_depreciation() returns
Signed-off-by: snipe <snipe@snipe.net>
2023-07-20 16:30:07 +01:00
snipe ee36497acf Merge pull request #13344 from snipe/fixes/added_manufacturer_to_licenses
Fixes bug/sc-23509: Added manufacturer back into license importer
2023-07-20 14:05:19 +01:00
snipe d7ac8ef618 Added manufacturer to licenses
Signed-off-by: snipe <snipe@snipe.net>
2023-07-20 14:02:54 +01:00
snipe 244e4ec11f Added manufacturer back into license importer
Signed-off-by: snipe <snipe@snipe.net>
2023-07-20 13:48:51 +01:00
snipe 917005ceb4 Merge pull request #13342 from Loemnk/develop
Fixes #13341: Clean up correct seats on license delete
2023-07-20 13:05:31 +01:00
Tobias Franzius 90a344af0b Fixes #13341 Clean up correct seats on license delete
Before this, we checked for the `id` collumn in the `license_seats` table, insteasd of
using `license_id` for this.

This way, we ensure that we only alter seats belonging to the correct license.
2023-07-20 13:48:57 +02:00
Ivan Nieto Vivanco ecf522243b Add the new rule to proper views and also in the Asset Transformer 2023-07-19 19:52:03 -06:00
Ivan Nieto Vivanco 705411eb4d Create the Gate that goes with the permission 2023-07-19 19:44:59 -06:00
Ivan Nieto Vivanco 3b4a2b0f5b Add permission to view and modify encrypted custom fields 2023-07-19 14:57:57 -06:00
snipe a19a508a80 Merge pull request #13197 from akemidx/current_value_for_assets
Current value added to asset index page
2023-07-19 19:06:15 +01:00
akemidx 9e2987e680 changing book value to be NOT searchable or sortable 2023-07-19 13:44:31 -04:00
snipe 1e1aea2eb0 Merge pull request #13299 from ubc-cpsc/bugfix/CVE-2023-37260
Update league/oauth2-server for CVE-2023-3726
2023-07-19 13:14:35 +01:00
Brady Wetherington 605d267fe8 Merge branch 'develop' into snipeit_v7 2023-07-19 11:47:51 +01:00
snipe 33fd904c18 Merge pull request #13330 from akemidx/merge_users_typo
merge users page typo fix
2023-07-19 10:26:57 +01:00
snipe dc20305db6 Merge pull request #13333 from snipe/fixes/strtolower_on_catgories
Added strtolower for category type
2023-07-19 09:00:55 +01:00
snipe a0a5ca1f40 Added strtolower for category type
Signed-off-by: snipe <snipe@snipe.net>
2023-07-19 08:56:17 +01:00
akemidx 064e696521 merge users page typo fix 2023-07-18 15:33:33 -04:00
snipe c1949ffb0d Merge pull request #13319 from marcusmoore/chore/user-search-test-cases
Added test cases around user search
2023-07-18 13:27:22 +01:00
snipe 18e2ec4dad Merge pull request #13310 from marcusmoore/bug/sc-23478
Fixed the inability to load location select when editing profile
2023-07-18 13:26:30 +01:00
snipe 6f8c3ca167 Merge pull request #13322 from uberbrady/fix_ldap_location_3
Fix to ldap_location attribute
2023-07-18 13:24:59 +01:00
snipe cbdce994b8 Merge pull request #13318 from inietov/fixes/employee_id_not_importing
Fixed Employee Number no longer importing [sc-23497]
2023-07-18 11:08:43 +01:00
Brady Wetherington 051830dff4 Fix to ldap_location attribute 2023-07-17 20:42:02 +01:00
Marcus Moore 2eaab6d9fb Change message to a callout 2023-07-17 12:23:31 -07:00
Marcus Moore fa0a88289a Add tests around user search
Follow up to #13311
2023-07-17 11:29:22 -07:00
Ivan Nieto Vivanco 88c40c9c14 Change the field name to the same the model uses 2023-07-17 12:08:10 -06:00
snipe f15e14f905 Merge pull request #13315 from snipe/features/add_warranty_link_even_if_no_warranty_set
Moved warranty into manufactuer’s section
2023-07-15 10:47:44 +01:00
snipe c21a7db3c1 Moved warranty into manufactuer’s section
Signed-off-by: snipe <snipe@snipe.net>
2023-07-15 10:45:36 +01:00
snipe bb0eaf8b8d Merge pull request #13312 from snipe/features/add_show_hide_option_on_custom_fields
Added ability to show/hide custom fields in list views by default
2023-07-14 09:38:35 +01:00
snipe 3078cab7ee Added ability to show/hide custom fields in list views by default
Signed-off-by: snipe <snipe@snipe.net>
2023-07-14 09:09:43 +01:00
snipe 15bb943210 Merge pull request #13311 from snipe/fixes/deleted_users_showing_in_current_users
Fixed: deleted users showing in current users
2023-07-14 07:47:36 +01:00
snipe f51dd15893 Moved deleted scope down
Signed-off-by: snipe <snipe@snipe.net>
2023-07-14 07:44:19 +01:00
Marcus Moore 346ace9444 Allow users that have permission to edit their own location to see locations in select list 2023-07-13 17:37:46 -07:00
Ivan Nieto Vivanco ecac4718fe Add date casting to the SQL query, so the BETWEEN range doesn't care about time of day in custom report datetimes 2023-07-13 16:02:47 -06:00
snipe 4027acee46 Merge pull request #13184 from akemidx/department_in_side_bar
User department now visible in side pane of asset view page
2023-07-13 21:01:48 +01:00
snipe 5aa99a15d8 Merge pull request #13288 from snipe/fixes/line_based_markdown
Added Inline markdown method
2023-07-13 13:16:50 +01:00
snipe 016502f637 Added notesFormatter
Signed-off-by: snipe <snipe@snipe.net>
2023-07-13 13:14:10 +01:00
snipe 5d1f294f0e Added parseEscapedMarkedownInline to accessories API
Signed-off-by: snipe <snipe@snipe.net>
2023-07-13 12:03:01 +01:00
snipe 981c3a430d Merge pull request #13301 from uberbrady/better_auto_increment_tags
Better auto increment asset-tags [FD-32892]
2023-07-13 09:49:44 +01:00
Joël Pittet 24adcdb586 Revert lock file changes for PHP 7 support 2023-07-12 17:58:52 -07:00
akemidx 1163af3c10 change to make sure department actually exists 2023-07-12 15:57:44 -04:00
snipe 232e84acf7 Merge pull request #13302 from snipe/features/env_setting_for_bs_tables
Fixed #13256 - Added option to switch to localStorage instead of cookies
2023-07-12 20:10:33 +01:00
snipe 5d60a38a0e Added comment with link
Signed-off-by: snipe <snipe@snipe.net>
2023-07-12 20:08:20 +01:00
snipe c1c2c38995 Fixed #13256 - Added option to switch to localStorage instead of cookies
Signed-off-by: snipe <snipe@snipe.net>
2023-07-12 20:06:17 +01:00
snipe 44231fa52c Merge pull request #13225 from inietov/fixes/change_default_location_at_checkin
Fixed #13167 Default location not being set/updated upon check-in
2023-07-12 19:14:53 +01:00
snipe 44b8558e38 Merge pull request #13233 from Godmartinz/barcode_adjusts_if_qr_code_
fixed margin if qr_code present
2023-07-12 17:11:58 +01:00
snipe d3c44a462e Merge pull request #13268 from inietov/fixes/license_importer_missing_dropdown_items
Fixed License importer missing Checkout to: Username and Checkout to: Email in dropdown [sc-23456]
2023-07-12 17:11:27 +01:00
snipe a569a99e61 Used inline markdown in views
Signed-off-by: snipe <snipe@snipe.net>
2023-07-12 16:57:04 +01:00
Brady Wetherington e648da9dc5 Also do a sanity-check that the normal asset autoincrementing works 2023-07-12 16:51:23 +01:00
Brady Wetherington 76191a09ed Improvements to asset_tag auto-incrementing, with auto-fixups for gaps 2023-07-12 16:39:45 +01:00
snipe 1b8b117f4e Merge pull request #13292 from marcusmoore/guard-against-wiping-local-db
Avoid accidentally wiping local database when running tests
2023-07-12 15:23:11 +01:00
Marcus Moore 3df175fb3e Improve variable name 2023-07-11 16:36:38 -07:00
Marcus Moore 44d8b2fd5e Handle default eula checkbox 2023-07-11 16:36:03 -07:00
Ivan Nieto Vivanco e0df8cc4aa Add admin role to show encrypted customfield values 2023-07-11 17:21:32 -06:00
Marcus Moore af681d8190 Display message and update checkbox depending on EULA status 2023-07-11 16:12:43 -07:00
snipe 2bc4235368 Merge pull request #13293 from marcusmoore/run-chipper-on-all-prs
Run ChipperCI on all PRs (take three)
2023-07-11 20:36:49 +01:00
Marcus Moore 5b33c00e9f Run ChipperCI on all PRs 2023-07-11 12:34:39 -07:00
Marcus Moore 48e4ec8cf5 Guard against wiping database when running tests and test specific envs are not created 2023-07-11 12:16:37 -07:00
snipe b5695c9ab7 Test parsedown in notes
Signed-off-by: snipe <snipe@snipe.net>
2023-07-11 12:20:47 +01:00
snipe 6d3bf1e5f5 Added additional method for inline
Signed-off-by: snipe <snipe@snipe.net>
2023-07-11 11:41:58 +01:00
snipe 9b5a67e31f Use $Parsedown->line instead of $Parsedown->text
Signed-off-by: snipe <snipe@snipe.net>
2023-07-11 11:33:29 +01:00
snipe ba37a9db8c Merge pull request #13277 from snipe/features/added_phone_fax_to_locations
Added phone, fax to departments, locations, companies
2023-07-11 11:15:13 +01:00
snipe 9dc7fc93fb Small fixes
Signed-off-by: snipe <snipe@snipe.net>
2023-07-11 11:14:19 +01:00
snipe a5555a1c67 Merge pull request #13281 from inietov/fixes/error_showing_requested_assets
Fixed #13276 Error Showing Requested Assets
2023-07-11 11:11:33 +01:00
snipe d76f420f4e Merge pull request #13282 from marcusmoore/fixes/allow-installing-on-74-v2
Fixes dev dependency on PHP 7.4
2023-07-11 11:10:52 +01:00
Marcus Moore d8f22880d6 Allow installing on PHP 7.4 2023-07-10 17:35:21 -07:00
Ivan Nieto Vivanco ec8cb1b09e Add the withTrashed() method to requestingUser() method in CheckoutRequest model, so the view of requestable assets doesn't crash 2023-07-10 16:34:00 -06:00
snipe 4845a88c68 Merge pull request #13280 from snipe/security/webpack-upgade
[Snyk] Upgrade webpack from 5.86.0 to 5.87.0 #13267
2023-07-10 20:17:44 +01:00
snipe 73c2202d94 [Snyk] Upgrade webpack from 5.86.0 to 5.87.0 #13267
Signed-off-by: snipe <snipe@snipe.net>
2023-07-10 20:16:09 +01:00
snipe 0d37d1a905 Merge pull request #13279 from snipe/security/acorn-upgrade
Upgraded acorn
2023-07-10 20:08:46 +01:00
snipe 83cf106ce5 Upgraded acorn
Signed-off-by: snipe <snipe@snipe.net>
2023-07-10 20:06:57 +01:00
snipe 7debf126d6 Dev assets
Signed-off-by: snipe <snipe@snipe.net>
2023-07-10 20:03:12 +01:00
snipe c5c87ea0ca Merge pull request #13278 from snipe/security/bs-tables-update
Applied Snyk #13272
2023-07-10 20:01:41 +01:00
snipe 8169206943 Applied Snyk #13272
Signed-off-by: snipe <snipe@snipe.net>
2023-07-10 19:59:08 +01:00
snipe 22d9df304b Merge pull request #13265 from marcusmoore/chore/chipperci-on-prs
Have ChipperCi run on each PR
2023-07-10 19:48:40 +01:00
snipe 14c61e4c17 Added phone, fax to departments, locations, companies
Signed-off-by: snipe <snipe@snipe.net>
2023-07-10 19:44:21 +01:00
Joël Pittet a4a676ef0b Update league/oauth2-server for CVE-2023-3726 and lcobucci/clock to semver to allow dependencies to update 2023-07-10 11:19:54 -07:00
Brady Wetherington 8f2a17585e Merge branch 'develop' into snipeit_v7
Had to do a lot of conflict work here, so this could get ugly :(
2023-07-10 16:53:35 +01:00
Ivan Nieto Vivanco 299e546021 Adds the Username and Email to License Importer dropdown 2023-07-06 18:36:13 -06:00
snipe 5a9c2925c3 Merge pull request #13264 from marcusmoore/bug/sc-23451
Fix label wrapping on category edit page
2023-07-06 19:01:36 +01:00
Marcus Moore 149184dc3c Have ChipperCI on on each PR
Following up on #13218
2023-07-06 11:00:03 -07:00
Marcus Moore ef160b0e15 Add span tag so label is displayed properly 2023-07-06 10:49:57 -07:00
Ivan Nieto Vivanco f4ca29b4a8 Only show radio inputs for location in checkin view 2023-07-06 11:36:55 -06:00
Ivan Nieto Vivanco 9591442f1e Evaluate the radio input to update location only or default location too 2023-07-06 10:46:21 -06:00
Ivan Nieto Vivanco 743e852998 Add radio buttons to alter asset checkin location behavior 2023-07-06 10:38:48 -06:00
snipe 2faa73f983 Merge pull request #13169 from akemidx/license_sn_check1
Making Serial Number the logic checked against for new imports
2023-07-06 16:40:27 +01:00
snipe d37aaee4c8 Merge pull request #13257 from snipe/fixes/check_for_ceiling_in_upgrader
Check for max PHP version in upgrader
2023-07-06 16:07:10 +01:00
snipe a9d175a396 Check for max PHP version
Signed-off-by: snipe <snipe@snipe.net>
2023-07-05 18:47:48 +01:00
snipe 35039cd590 Merge pull request #13255 from snipe/fixes/larger_field_for_idp_meta
Change settings table `saml_idp_metadata` to MEDIUMTEXT
2023-07-05 17:30:02 +01:00
snipe c85a33be6a Change settings table saml_idp_metadata to MEDIUMTEXT
Signed-off-by: snipe <snipe@snipe.net>
2023-07-05 17:28:08 +01:00
snipe d890d923ff Bumped version
Signed-off-by: snipe <snipe@snipe.net>
2023-07-05 14:40:54 +01:00
snipe 4b4983e550 Merge pull request #13253 from uberbrady/improve_scim_404s
Properly return SCIM Exceptions
2023-07-05 14:37:32 +01:00
Brady Wetherington a6a89ddd6c Also log(debug) the error - could be useful for troubleshooting 2023-07-05 14:31:08 +01:00
Brady Wetherington 1f4d2f1e4a Properly return SCIM Exceptions 2023-07-05 14:27:10 +01:00
Godfrey M d44e667697 fixed margin if qr_code present 2023-06-29 13:37:38 -07:00
snipe bbbeaaee2b Merge pull request #13232 from Godmartinz/labels_overlapping_issue
fixed barcode and info from overlapping
2023-06-29 21:23:31 +01:00
Godfrey M df90e924b4 prevent labels from overlapping 2023-06-29 13:18:17 -07:00
snipe 630b6496ec Merge pull request #13231 from snipe/fixes/small_fix_for_error_during_seeding
Redirect if the license can’t be found
2023-06-29 21:18:02 +01:00
snipe 7937542dcb Redirect if the license can’t be found
Signed-off-by: snipe <snipe@snipe.net>
2023-06-29 21:15:50 +01:00
akemidx d0212d4bda formatting fix 2023-06-29 15:39:19 -04:00
snipe e236bf412c Merge pull request #13230 from snipe/fixes/windows_backup_filename_colon_wtf_issue
Fixed windows backup filename - swapped colon in timestamp to hyphen to handle windows filesystems
2023-06-29 20:37:09 +01:00
snipe fb9b3a5453 Switched from a colon to a hyphen to handle windows filesystems
Signed-off-by: snipe <snipe@snipe.net>
2023-06-29 20:32:20 +01:00
snipe faf2a235fb Updated dev assets
Signed-off-by: snipe <snipe@snipe.net>
2023-06-29 20:31:13 +01:00
snipe 9f99f8275c Merge pull request #13229 from Godmartinz/status_label_color
fixed custom fields labels being unreadable
2023-06-29 20:21:46 +01:00
slong753 8cee3a8218 ok, @marcusmoore was right all along
i just didn't get it
2023-06-29 14:06:52 -05:00
Godfrey M f83effbb85 removed unnecessary css rule 2023-06-29 11:25:40 -07:00
Godfrey M d4cddebba5 fixes custom fields labels being unreadable 2023-06-29 11:21:21 -07:00
snipe 825e988dfa Merge pull request #13228 from snipe/bug/sc-23434
Use proper alias for table scope
2023-06-29 17:11:50 +01:00
snipe bcefe73c9c Use proper alias for table scope
Signed-off-by: snipe <snipe@snipe.net>
2023-06-29 16:52:09 +01:00
slong753 826ea0ded8 move colon to blade based on a comment 2023-06-29 10:40:04 -05:00
snipe a3096e1b47 Merge pull request #13219 from inietov/features/cancel_request_asset
Cancel requested assets without checkin/out [ch-17606]
2023-06-29 16:18:13 +01:00
snipe 16ce06a3cc Merge pull request #13222 from snipe/feature/sc-23427
Fixed #13213 - Use the Helper::parseEscapedMarkedown in notes
2023-06-29 16:16:25 +01:00
snipe 8be3a6985b Merge pull request #13227 from snipe/bug/sc-23433
More reshuffling of scopes in assets API
2023-06-29 16:10:26 +01:00
snipe 4c3a306a6e More shuffling of scopes
Signed-off-by: snipe <snipe@snipe.net>
2023-06-29 13:35:41 +01:00
Ivan Nieto Vivanco 011726154c Set rtd_location if a location is given at checkin 2023-06-29 03:16:59 -06:00
slong753 ea61f634fb get rid of nice nullsafe 2023-06-28 16:48:52 -05:00
slong753 afe6fe207a resolved, missed adding errors in a case 2023-06-28 16:45:18 -05:00
akemidx af03b9f140 user department clarification & translation for that phrase. will be used in a later PR 2023-06-28 17:45:13 -04:00
snipe f7f2d799f2 Merge pull request #13223 from inietov/fixes/delete_notes_map_from_asset_importer
Delete notes column map from assets importer
2023-06-28 20:06:33 +01:00
slong753 8923206ac8 translation string 2023-06-28 13:08:34 -05:00
slong753 3b8ab2d682 clean formatting a little 2023-06-28 13:00:59 -05:00
slong753 2d27941105 added to textarea too 2023-06-28 12:59:54 -05:00
slong753 50a518e5f3 disable input when field is unique 2023-06-28 12:57:23 -05:00
Ivan Nieto Vivanco a4b8723dcb Delete notes column map from assets importer 2023-06-28 11:38:51 -06:00
Ivan Nieto Vivanco e2c2736a9c Delete (gulp) Form for bulk edit since is not used in this view 2023-06-28 11:23:37 -06:00
Ivan Nieto Vivanco 85e717bc4e Fix cancel button style and translate title 2023-06-28 10:38:44 -06:00
snipe 161f4c8d83 Merge pull request #13045 from akemidx/feature/sc-23261
Checkin/out info on side bar
2023-06-28 16:41:21 +01:00
slong753 8b8e7cb5ee couple translation strings 2023-06-28 10:17:28 -05:00
snipe e1fdfd01f6 Merge pull request #13211 from marcusmoore/company-scoping
Improve testing around company scoping
2023-06-28 16:17:07 +01:00
snipe 4278471d81 Merge pull request #13207 from Godmartinz/half_year_dep_fix
adds half_year fix from jdickerson71388
2023-06-28 15:12:30 +01:00
snipe e3f381a1e1 Merge pull request #13212 from marcusmoore/feature/sc-23419
Allow running tests in parallel
2023-06-28 15:12:13 +01:00
snipe 8d8adc1639 Use the Helper::parseEscapedMarkedown in notes
Signed-off-by: snipe <snipe@snipe.net>
2023-06-28 15:02:32 +01:00
Brady Wetherington 51424d01a9 Merge branch 'develop' into snipeit_v7 2023-06-28 14:25:33 +01:00
snipe a455f67d62 Merge pull request #13216 from marcusmoore/bug/sc-23420
Fix translation string in user importer
2023-06-28 07:03:11 +01:00
snipe b6a11cde65 Merge pull request #13218 from marcusmoore/chore/sc-23424
Have ChipperCI run on each PR
2023-06-28 07:01:14 +01:00
snipe a8d4494e68 Merge pull request #13220 from marcusmoore/bug/sc-23425
Add missing relationship check in Asset Transformer
2023-06-28 06:59:33 +01:00
Marcus Moore ab51857854 Check to see if model relationship exists before using it 2023-06-27 19:35:55 -07:00
Ivan Nieto Vivanco 8496e64e16 Adds ternary to set a quantity when needed 2023-06-27 18:37:22 -06:00
Ivan Nieto Vivanco b4b84f91d0 Redirect to correct page after cancel action 2023-06-27 18:25:38 -06:00
Ivan Nieto Vivanco 1c29bd37a6 Added feature to cancel requests from the Requested Assets view 2023-06-27 18:11:10 -06:00
Marcus Moore 6df7be8c13 Have ChipperCI run on each PR 2023-06-27 16:55:20 -07:00
Ivan Nieto Vivanco eb4d764601 Refactor Requestable@cancelRequest() firm to admit a user_id so we can cancel a request of whatever user we want 2023-06-27 17:13:11 -06:00
Ivan Nieto Vivanco b647a8fcd2 Change the inline form HTML label to the Form:: facade 2023-06-27 17:02:25 -06:00
Ivan Nieto Vivanco 62347a56ba Add button with cancel action in requested assets view 2023-06-27 16:41:30 -06:00
Marcus Moore b0177d513a Fix translation 2023-06-27 12:37:19 -07:00
slong753 e8988bf51e add list 2023-06-26 20:22:27 -05:00
Marcus Moore 3f09e6017b Install paratest to allow for parallel test running 2023-06-26 16:22:28 -07:00
slong753 2736161909 oops, fixed translation 2023-06-26 16:37:06 -05:00
slong753 8cbff0179c translation strings 2023-06-26 16:35:53 -05:00
slong753 2a352619f7 clean up 2023-06-26 16:25:48 -05:00
Marcus Moore 2abdb8a5fd Revert unneeded changes 2023-06-26 14:01:09 -07:00
Marcus Moore 7cb22d3d49 Remove incomplete tests 2023-06-26 14:00:53 -07:00
slong753 691faf6340 ok, this kind of works - pr needs some clean up 2023-06-26 14:56:07 -05:00
Marcus Moore 3cb0920411 Merge branch 'develop' into company-scoping 2023-06-26 12:32:10 -07:00
Godfrey M 114d946437 adds half_year fix from jdickerson71388 2023-06-26 11:26:46 -07:00
snipe 49b50d81ee Merge pull request #13200 from snipe/bug/sc-23417
Set table alias for model number sort scope
2023-06-26 08:29:16 +01:00
snipe 4f7b2836b5 Set table alias for model number sort scope
Signed-off-by: snipe <snipe@snipe.net>
2023-06-26 08:27:17 +01:00
Marcus Moore acd06927ac Add helper method for authenticating with passport 2023-06-22 17:37:30 -07:00
Spencer Long f646623a5e Merge branch 'develop' into bulk_edit_custom_fields 2023-06-22 18:00:31 -05:00
Marcus Moore a35d83d14a Migrate to response macros for readability 2023-06-22 14:41:56 -07:00
akemidx 8df9db76bc column ordering fix 2023-06-22 17:12:40 -04:00
akemidx 8725d40f8d current value added to asset index page. translations for this in reports 2023-06-22 17:00:42 -04:00
snipe 8c6bde335e Merge pull request #13196 from inietov/fixes/default_status_labels_when_import
Fixed issue when importing Assets and no status labels exists [sc-23359]
2023-06-22 21:34:25 +01:00
snipe b2d74f7e95 Merge pull request #13186 from snipe/bug/sc-23386
Moved logic for tighter constraints when ids are passed
2023-06-22 21:32:36 +01:00
snipe 78d8e32a22 Fixed weird order number thing
Signed-off-by: snipe <snipe@snipe.net>
2023-06-22 21:16:24 +01:00
snipe 4029efebfd Merge pull request #13159 from Godmartinz/audit_image_bug
fixed audit log image not appearing
2023-06-22 21:11:39 +01:00
Marcus Moore 8aae5beaba Add explicit select back to query 2023-06-22 13:09:08 -07:00
Marcus Moore a8133f62e8 Add explicit select back to query 2023-06-22 13:07:49 -07:00
Ivan Nieto Vivanco 67e47a7d8b Add guard clause to obtain the default ID of imported asset's status label 2023-06-22 13:53:58 -06:00
Marcus Moore a333d7b72f Add context to incomplete tests 2023-06-22 12:48:09 -07:00
Marcus Moore ab5fed09db Remove scopeCompanyables call from AssetsController@requestable 2023-06-22 12:36:43 -07:00
Marcus Moore 74b072f1b5 Improve messaging in testing helper 2023-06-22 12:36:30 -07:00
Marcus Moore 0a5e1e3190 Remove scopeCompanyables call from AssetsController@selectlist 2023-06-21 17:21:36 -07:00
Marcus Moore effd969284 Scaffold test before removing scopeCompanyables call from AssetsController@selectlist 2023-06-21 17:15:02 -07:00
Marcus Moore fd55c99b87 Remove scopeCompanyables call from AssetsController@index 2023-06-21 16:29:44 -07:00
Marcus Moore af77fefc61 Scaffold test before removing scopeCompanyables call from AssetsController 2023-06-21 16:19:56 -07:00
Marcus Moore 65e8e4e163 Guard against attempting to use invalid property 2023-06-21 16:18:09 -07:00
snipe 17a10a4342 Bumped hash
Signed-off-by: snipe <snipe@snipe.net>
2023-06-21 19:06:21 +01:00
snipe 5d4e704fac Added a comment
Signed-off-by: snipe <snipe@snipe.net>
2023-06-21 09:26:54 +01:00
snipe 2d9ddab3f0 Moved logic for tighter constraints when ids are passed
Signed-off-by: snipe <snipe@snipe.net>
2023-06-21 09:24:17 +01:00
akemidx 4b8a08edc1 typo 2023-06-20 19:32:16 -04:00
akemidx 1a407dc05b user department now in side view of asset view page 2023-06-20 19:17:14 -04:00
akemidx 00fd541963 improve logging clarity 2023-06-15 15:09:14 -04:00
snipe f890e1f8b1 Merge pull request #13171 from snipe/features/importer/allow_update_by_user_id
Accept user ID as authoratative field for updates
2023-06-15 20:08:20 +01:00
akemidx eda5bbf305 fix to allow empty SN 2023-06-15 14:42:34 -04:00
snipe 7a425f8a49 Merge pull request #13093 from NojoudAlshehri/features/added_asset_tag_colum_in_requestable_assets
feature: Added asset_tag column in requestable assets page
2023-06-15 19:37:18 +01:00
snipe 21a27f43a9 Merge pull request #13158 from Godmartinz/asset_maint_warranty_bug
Added warranty confirmation to asset maintenance table
2023-06-15 19:34:16 +01:00
snipe 09d65f810e Merge pull request #13124 from m4us1ne/fix_dompdf_chroot
Fixed #12434: Include Docker Specific Paths for dompdf chroot
2023-06-15 19:32:34 +01:00
snipe 004992086e Merge pull request #13098 from ak-piracha/feature/snipe-13049-status-label-chart-color
Fixed #13098: Status Label Chart Color, resets to default when editing a Status Label
2023-06-15 16:55:32 +01:00
snipe 6c684bccd0 Accept user ID as authoratative field for updates
Signed-off-by: snipe <snipe@snipe.net>
2023-06-15 10:02:05 +01:00
akemidx df6b4ff349 tagging code 2023-06-14 15:51:14 -04:00
akemidx efaed3d02c making serial number logic checked against for new imports 2023-06-14 15:32:47 -04:00
Godfrey M ee50906e44 attempt to add warranty to api controller 2023-06-13 11:20:55 -07:00
snipe 157a4341ea Merge pull request #13041 from snipe/features/refactor_importer_for_localization
Refactor importer for localization
2023-06-13 18:12:07 +01:00
snipe f1bf7267f7 Merge pull request #13164 from snipe/localizations/updated_strings
Updated translation strings
2023-06-13 17:24:01 +01:00
snipe 0bb8cc63c5 Updated translation strings
Signed-off-by: snipe <snipe@snipe.net>
2023-06-13 17:12:01 +01:00
Godfrey M fc86530c94 uses the trueFalseFormatter now 2023-06-13 09:10:42 -07:00
Godfrey M 6dd7181d09 fixed audit log image not appearing 2023-06-12 12:10:19 -07:00
Godfrey M 69325beddb adds warranty confirmation to asset maintenance table 2023-06-12 11:03:32 -07:00
Brady Wetherington f5ff9b2208 Merge branch 'develop' into snipeit_v7 - 2023-06-12 2023-06-12 16:56:23 +01:00
snipe d1ab139b0f Add @qay21 as a contributor 2023-06-12 14:05:43 +01:00
snipe dc43985884 Applied #13143 to develop
Signed-off-by: snipe <snipe@snipe.net>
2023-06-12 14:05:26 +01:00
Lukas Jung 9fca8c2438 Fixed #12434: Include Docker Specific Paths for dompdf chroot 2023-06-09 11:00:46 +02:00
snipe c78c69700f Bumped hash
Signed-off-by: snipe <snipe@snipe.net>
2023-06-08 08:49:55 +01:00
snipe 4775eef392 Merge pull request #13140 from snipe/security/misc_libraries
Updated libraries and dev assets
2023-06-08 08:48:55 +01:00
snipe 14727700ab Updated libraries and dev assets
Signed-off-by: snipe <snipe@snipe.net>
2023-06-08 08:48:18 +01:00
snipe a6b1320b39 Add @stefanstidlffg as a contributor 2023-06-08 08:11:34 +01:00
snipe 4672f6a699 Merge pull request #13139 from snipe/security/updated_webpack
Updated webpack, added new dev assets
2023-06-08 08:11:07 +01:00
snipe 03233465c7 Updated webpack, added new dev assets
Signed-off-by: snipe <snipe@snipe.net>
2023-06-08 08:10:12 +01:00
snipe 8a72056bfd Merge pull request #13123 from osterr-forschungsforderungsges-mbh/fix-slack-notifications
fix slack channel notifications
2023-06-08 05:51:08 +01:00
Marcus Moore 7672861b96 Scaffold test before removing scopeCompanyables call from DashboardController 2023-06-07 17:38:23 -07:00
Marcus Moore 6f5252449e Scaffold test before removing scopeCompanyables call from UsersController 2023-06-07 16:25:18 -07:00
Marcus Moore 0f6051bbe5 Inline method call 2023-06-07 16:18:02 -07:00
Marcus Moore abaf59c990 Extract and use helper methods 2023-06-07 16:16:30 -07:00
Marcus Moore 27d4d107bb Scaffold test before removing scopeCompanyables call from DepartmentsController 2023-06-07 16:10:29 -07:00
Marcus Moore 8e6e525b47 Remove scopeCompanyables call from LicensesController 2023-06-07 16:09:45 -07:00
Marcus Moore a18f5e7fc0 Remove scopeCompanyables call from ConsumablesController 2023-06-07 14:22:22 -07:00
snipe adb2757532 Add @NojoudAlshehri as a contributor 2023-06-07 16:52:22 +01:00
snipe b57730ee9d Added missing assets_fields declaration
Signed-off-by: snipe <snipe@snipe.net>
2023-06-07 15:52:18 +01:00
snipe 9335bf7033 Merge pull request #13122 from marcusmoore/fixes/increase-consumable-factory-name-length
Fixes potentially invalid name in consumable factory
2023-06-07 11:43:13 +01:00
snipe 45b76c4c75 Merge pull request #13127 from NojoudAlshehri/fixes/typo-in-a-html-tag
Fix of typo in an HTML tag
2023-06-07 09:21:51 +01:00
NojoudAlshehri d06bdc2db4 Fix of typo in an HTML tag 2023-06-07 13:46:17 +07:00
Marcus Moore 48850f3597 Remove scopeCompanyables call from ComponentsController 2023-06-06 18:02:18 -07:00
Marcus Moore 4fb86ad2fb Get name as a string and not an array 2023-06-06 16:31:26 -07:00
Marcus Moore 42a4941ad2 Ensure consumable name is valid in factory 2023-06-06 16:31:26 -07:00
Marcus Moore 6585aa0cf0 Add unit tests for company scoping 2023-06-06 16:31:14 -07:00
Stefan Stidl ad8c36a51a fix: slack channel 2023-06-06 10:30:01 +02:00
Marcus Moore d3a0bacb98 Get name as a string and not an array 2023-06-05 12:57:09 -07:00
Marcus Moore 371d11305b Ensure consumable name is valid in factory 2023-06-05 12:17:44 -07:00
snipe 7ae260b489 More license translations
Signed-off-by: snipe <snipe@snipe.net>
2023-06-01 19:51:06 +01:00
snipe ff480a7247 Merge pull request #13114 from inietov/fixes/broken_sorting_manufacturers
Fixed Broken order by manufacturer in Assets table [sc-23313]
2023-06-01 19:40:16 +01:00
Ivan Nieto Vivanco f9a20bc917 Replace join with left join in pertinent eloquent query 2023-06-01 12:08:51 -06:00
ak-piracha daf6bcb6d5 follow best practices when working with blade and javascript 2023-06-01 11:07:21 +09:30
snipe e431cd5146 Merge pull request #13085 from inietov/fixes/checkboxes_not_holding_value
Fixed #12978 Custom Field Checkboxes not holding assigned values
2023-05-31 10:55:37 -04:00
snipe 35942361b6 Add @ak-piracha as a contributor 2023-05-31 15:51:39 +01:00
snipe 596b510a25 Merge pull request #13108 from ak-piracha/fixes/component_delete_showing_in_assest
Fixes: issue #13073: deleted component addearing in asset component t…
2023-05-31 10:50:34 -04:00
ak-piracha 1cdf089306 Fixes: issue #13073: deleted component addearing in asset component tab fixed 2023-05-31 00:11:11 +09:30
snipe 13e8f91a59 Fixed typo
Signed-off-by: snipe <snipe@snipe.net>
2023-05-29 18:18:46 -04:00
ak-piracha 825a9a384d Fixed 2023-05-29 14:07:53 +09:30
NojoudAlshehri 980cb53efa Added asset_tag column in requestable assets page 2023-05-27 07:05:59 +07:00
snipe 60d2046b6d Updated dev assets
Signed-off-by: snipe <snipe@snipe.net>
2023-05-24 16:13:33 -07:00
snipe 67e0eb3193 Merge pull request #13046 from Godmartinz/asset_info_overflow
Added Asset info overflow-wrap
2023-05-24 16:13:01 -07:00
snipe 44cbb0c2e9 Merge branch 'develop' into asset_info_overflow 2023-05-24 16:11:34 -07:00
snipe fb5e33c50f Updated hash
Signed-off-by: snipe <snipe@snipe.net>
2023-05-24 16:03:15 -07:00
snipe d7f4fa146b Updated dev assets
Signed-off-by: snipe <snipe@snipe.net>
2023-05-24 16:02:28 -07:00
snipe 064dbdd3d4 Fixed missing brace from conflict
Signed-off-by: snipe <snipe@snipe.net>
2023-05-24 16:02:23 -07:00
snipe cc07921608 Updated dev assets
Signed-off-by: snipe <snipe@snipe.net>
2023-05-24 15:59:52 -07:00
snipe 267a0ffc59 Merge pull request #13077 from Godmartinz/fix_unclickable_nav_bar_and_notifcation_block
fixes mobile nav bar and notification position
2023-05-24 15:58:27 -07:00
snipe 9086cb5310 Merge branch 'develop' into fix_unclickable_nav_bar_and_notifcation_block 2023-05-24 15:56:01 -07:00
Ivan Nieto Vivanco f4947bfa93 Use trim() function when format the custom field values as array 2023-05-24 04:06:31 -06:00
snipe 5e96fd200f Refactor to remove general_fields
Signed-off-by: snipe <snipe@snipe.net>
2023-05-23 20:31:53 -07:00
snipe d020825a17 Renamed import samples
Signed-off-by: snipe <snipe@snipe.net>
2023-05-23 19:31:42 -07:00
snipe 3ef081e739 Indenting
Signed-off-by: snipe <snipe@snipe.net>
2023-05-23 19:28:42 -07:00
snipe 47fa490e8a More translations
Signed-off-by: snipe <snipe@snipe.net>
2023-05-23 19:28:23 -07:00
snipe 01768bf649 Renamed sample csv
Signed-off-by: snipe <snipe@snipe.net>
2023-05-23 19:23:29 -07:00
snipe 52cf54d211 New assets CSV
Signed-off-by: snipe <snipe@snipe.net>
2023-05-23 19:22:08 -07:00
snipe 55683c29dc Removed method that does the same return
Signed-off-by: snipe <snipe@snipe.net>
2023-05-23 19:22:00 -07:00
snipe f355a6e9e1 Added first name and last name
Signed-off-by: snipe <snipe@snipe.net>
2023-05-23 19:21:31 -07:00
snipe 3e4426c68c Clearer comments
Signed-off-by: snipe <snipe@snipe.net>
2023-05-23 19:20:52 -07:00
snipe 2e5486a62e Merge pull request #13076 from marcusmoore/fixes/allow-multi-column-search-in-sqlite
Dynamically adapt concatenation searches for MySQL and sqlite
2023-05-23 16:27:12 -07:00
Marcus Moore 0a3d46824e Automatically add table prefixes when building multi-column search string 2023-05-23 15:58:58 -07:00
snipe f69caf77e5 Updated dev assets
Signed-off-by: snipe <snipe@snipe.net>
2023-05-23 14:57:57 -07:00
snipe 61d5bd8567 Removed comment
Signed-off-by: snipe <snipe@snipe.net>
2023-05-23 14:57:15 -07:00
snipe 80e8022c76 Merge pull request #13044 from Godmartinz/bug/sc-23260_multi_select_example_text
Bug/sc 23260 multi select example text
2023-05-23 14:45:55 -07:00
Marcus Moore 6300909fee Add test for searching for user's first and last name 2023-05-23 13:39:01 -07:00
Marcus Moore b2b6f0cf96 Use new dynamic scope where possible 2023-05-23 13:38:50 -07:00
Marcus Moore 054d71aedc Add docblock 2023-05-23 13:37:04 -07:00
Marcus Moore 9078d4c71c Add dynamic scope for prettier multiple column search 2023-05-23 13:35:19 -07:00
snipe d4c5a4eb2e More aliases
Signed-off-by: snipe <snipe@snipe.net>
2023-05-23 13:18:32 -07:00
snipe 35794c8ba2 More translations
Signed-off-by: snipe <snipe@snipe.net>
2023-05-23 12:57:48 -07:00
snipe 62384260bc Clarifying comment
Signed-off-by: snipe <snipe@snipe.net>
2023-05-23 12:57:40 -07:00
snipe f2e9b41199 More user fields in asset importer
Signed-off-by: snipe <snipe@snipe.net>
2023-05-23 12:57:34 -07:00
snipe 479350ed7b Removed unneeded mapping file
Signed-off-by: snipe <snipe@snipe.net>
2023-05-23 12:57:24 -07:00
Godfrey M 68a43cb590 fixes mobile nav bar and notification position 2023-05-23 12:43:32 -07:00
snipe 809dcdc50c Updated CSVs
Signed-off-by: snipe <snipe@snipe.net>
2023-05-23 12:13:17 -07:00
snipe d0f5a044ba More refactoring
Signed-off-by: snipe <snipe@snipe.net>
2023-05-23 12:13:06 -07:00
Marcus Moore 05a2e568d7 Add comment 2023-05-23 11:37:09 -07:00
snipe fbed18a984 Merge pull request #13075 from inietov/fixes/api_incorrect_remaining_accessories
Fixed #13074 [API] Remaining accessories quantity not correct
2023-05-23 11:08:37 -07:00
Ivan Nieto Vivanco 086265455d Pass user count to the eloquent query 2023-05-23 11:53:09 -06:00
Marcus Moore f40e722397 Add docblock 2023-05-22 17:44:17 -07:00
Marcus Moore 50234bc9a5 Formatting 2023-05-22 17:40:06 -07:00
Marcus Moore 9b512648a3 Update searchRelations in Searchable trait 2023-05-22 17:33:19 -07:00
Marcus Moore 64e83ed9f5 Update scopeAssignedSearch in Asset 2023-05-22 16:54:54 -07:00
snipe 0c7acd6a3b Merge pull request #13070 from inietov/fixes/accessory_image_shown_when_disabled
Fixed #12947 Accessory image in checkin email when Show images in emails is disabled
2023-05-22 15:30:14 -07:00
Ivan Nieto Vivanco 6df9a33eab Add a condition to check if images should be shown in notification 2023-05-22 16:24:16 -06:00
snipe f9449aa81f Merge pull request #13069 from marcusmoore/fixes/add-eager-load-to-asset-model-endpoint
Add eager loading to Asset Models controller
2023-05-22 14:39:32 -07:00
Marcus Moore a6eeae6541 Eager load fieldset default values in asset model endpoint 2023-05-22 14:19:03 -07:00
snipe b2d922f127 New user import sample CSV
Signed-off-by: snipe <snipe@snipe.net>
2023-05-22 13:20:20 -07:00
snipe 96e86501ad Additional alias fields
Signed-off-by: snipe <snipe@snipe.net>
2023-05-22 13:20:08 -07:00
snipe 4dfe6f0a28 Added gravatar, avatar, start_date and end_date to user importer
Signed-off-by: snipe <snipe@snipe.net>
2023-05-22 13:19:57 -07:00
snipe 511d83cc47 Added/fixed a few more translations
Signed-off-by: snipe <snipe@snipe.net>
2023-05-20 14:52:42 -07:00
snipe 2171d8c83c Removed requestable field in sample consumable CSV
Signed-off-by: snipe <snipe@snipe.net>
2023-05-20 14:52:28 -07:00
snipe 0ea29a0224 Updated translations
Signed-off-by: snipe <snipe@snipe.net>
2023-05-20 14:21:36 -07:00
snipe 18bedb736e Removed item number, since not everything will have it
Signed-off-by: snipe <snipe@snipe.net>
2023-05-20 14:21:29 -07:00
snipe 1396e314c4 Updated arrays with translations
Signed-off-by: snipe <snipe@snipe.net>
2023-05-20 14:21:13 -07:00
snipe b75109dcac Added component mapping switch
Signed-off-by: snipe <snipe@snipe.net>
2023-05-20 14:20:49 -07:00
snipe b7149d8339 Added translation
Signed-off-by: snipe <snipe@snipe.net>
2023-05-20 14:20:38 -07:00
Marcus Moore 2d86c8f030 Update advancedTextSearch methods in Asset and User models 2023-05-18 17:06:41 -07:00
Marcus Moore 3a9670930d Define required fields in Custom Field seeder so sqlite can be seeded 2023-05-18 13:17:35 -07:00
Marcus Moore 85974c7f65 Apply formatting 2023-05-18 13:16:52 -07:00
Marcus Moore ffbde46180 Simplify sqlite query 2023-05-18 13:06:50 -07:00
Marcus Moore d8d672c4c1 Move multiple column search function to Searchable trait 2023-05-18 13:05:40 -07:00
Marcus Moore 9cb0decf35 Adapt multiple column search based on database driver 2023-05-18 12:54:00 -07:00
Brady Wetherington a9c7dbd17a Shift PHP version requiremeents for Snipe-IT v7 to be php 8.0-8.2 2023-05-17 17:51:02 -07:00
Brady Wetherington 09fdc946a0 Merge branch 'develop' into snipeit_v7
Had to do some asset rebuilds, and a composer update
2023-05-17 17:37:10 -07:00
Godfrey M 608d07d03c adds overflow-wrap to asset info table 2023-05-17 13:08:53 -07:00
Godfrey M addd806653 testing overflow solutions 2023-05-17 10:47:50 -07:00
Godfrey M fe60309dfd adds padding to multi select2 inputs 2023-05-17 10:19:25 -07:00
akemidx deca80ba71 checkin/out info on side bar 2023-05-17 13:17:48 -04:00
Godfrey M 448472b6d3 testing input paddings 2023-05-17 09:45:45 -07:00
snipe 2c4c9a16c9 Refactored the static arrays into mount arrays for translations
Signed-off-by: snipe <snipe@snipe.net>
2023-05-16 22:31:58 -07:00
snipe d228b7f347 Remove 99% of the defaultMap stuff (might pull all of this later)
Signed-off-by: snipe <snipe@snipe.net>
2023-05-16 22:31:01 -07:00
snipe 7012018e22 Removed todo
Signed-off-by: snipe <snipe@snipe.net>
2023-05-16 22:30:17 -07:00
snipe 13c6a7f89b Merge pull request #13039 from snipe/features/add_eol_date_to_importer
Added EOL date to importer
2023-05-16 20:12:10 -07:00
snipe 3296716dfa Added EOL date to importer
Signed-off-by: snipe <snipe@snipe.net>
2023-05-16 19:06:35 -07:00
snipe c4876865cf Updated dev assets
Signed-off-by: snipe <snipe@snipe.net>
2023-05-16 17:36:58 -07:00
snipe 3cbb4620c3 Merge pull request #13008 from Godmartinz/importer_happy_changes
Added standardized colors to the importer
2023-05-16 17:26:32 -07:00
snipe 5a1e6c8e29 Merge pull request #13003 from marcusmoore/chipper-config-updates
Disable browser tests in ChipperCI
2023-05-16 17:26:09 -07:00
snipe f1575d2020 Merge pull request #13024 from Godmartinz/adds_localization_to_checkout_notif
adds translation to checkout notification
2023-05-16 17:25:50 -07:00
snipe 71234228b4 Merge pull request #13025 from Godmartinz/archived_clears_assigned_to
removes assigned_to if archived
2023-05-16 17:25:24 -07:00
snipe 4ca914d773 Merge pull request #13038 from uberbrady/fix_asset_checkout_on_update
Importer fix for non-Location imports
2023-05-16 16:41:27 -07:00
Brady Wetherington 2eb34d423f Importer fix for non-Location imports 2023-05-16 16:33:07 -07:00
snipe b9b9eb86d9 Merge pull request #13036 from snipe/features/multiselect_locations_custom_report
Added multi-select option for location, more to custom report
2023-05-16 16:29:13 -07:00
snipe 9e4e9cc708 Merge pull request #13037 from snipe/fixes/actions_text
Uses actions text in backups table
2023-05-16 16:06:05 -07:00
snipe fe92667812 Use actions text in backups table
Signed-off-by: snipe <snipe@snipe.net>
2023-05-16 16:02:48 -07:00
snipe 02cacf76c6 Additional multi-select options for custom report
Signed-off-by: snipe <snipe@snipe.net>
2023-05-16 13:58:21 -07:00
Godfrey M 8e3cbdad90 removes assigned_to if archived 2023-05-15 11:52:57 -07:00
Godfrey M 46d6783fc5 adds translation to checkout notification 2023-05-15 09:01:30 -07:00
akemidx ba4fc146e2 Merge branch 'delete_asset_from_view_page' of https://github.com/akemidx/snipe-it into delete_asset_from_view_page 2023-05-10 19:30:11 -04:00
akemidx 1916594d27 fixing translation 2023-05-10 19:16:11 -04:00
Godfrey M 763176c86b standardizes the importer colors no matter the theme 2023-05-10 14:52:08 -07:00
snipe 0f3b77ee2d Added multi-select option to custom report
Signed-off-by: snipe <snipe@snipe.net>
2023-05-10 14:45:31 -07:00
snipe 869d195b35 Merge pull request #13007 from snipe/fixes/multiselect_company
Fixed multiselect for companies
2023-05-10 13:17:36 -07:00
snipe a49257ad4b Wrong eval
Signed-off-by: snipe <snipe@snipe.net>
2023-05-10 13:16:59 -07:00
snipe c6eef86661 Fixed multiselect for companies
Signed-off-by: snipe <snipe@snipe.net>
2023-05-10 13:15:22 -07:00
snipe 71c7c82398 Merge pull request #13006 from snipe/fixes/12831_array_for_company_id
Fixes PR #12831 use array bracket for multi select company
2023-05-10 12:36:59 -07:00
snipe 23e3d18931 Used brackets for multiselect company
Signed-off-by: snipe <snipe@snipe.net>
2023-05-10 12:35:30 -07:00
slong753 5e34ffa2b0 wip 2023-05-10 14:08:12 -05:00
snipe 5f6e528560 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2023-05-10 11:36:28 -07:00
snipe 9f39d71f16 Merge pull request #12831 from Godmartinz/adds_multi_select_to_custom_report
Added Multiselect of companies for custom reports
2023-05-10 11:36:21 -07:00
snipe 4c78b49b97 Add @vikaas-cyper as a contributor 2023-05-10 11:31:26 -07:00
snipe aca287d28c Merge pull request #13004 from snipe/security/upgrade_webpack
Updated webpack, new asset files
2023-05-10 11:23:02 -07:00
snipe 1f5e4309fa Updated webpack, new asset files
Signed-off-by: snipe <snipe@snipe.net>
2023-05-10 11:20:06 -07:00
Marcus Moore a1a11d788f Disable browser tests in ChipperCI 2023-05-10 11:06:05 -07:00
snipe b8a59cc2d8 Merge branch 'master' into develop 2023-05-10 09:32:26 -07:00
snipe 04aedce47e Bumped hash
Signed-off-by: snipe <snipe@snipe.net>
2023-05-10 09:29:42 -07:00
snipe d648e9a01c Added Google test user
Signed-off-by: snipe <snipe@snipe.net>
2023-05-10 09:13:34 -07:00
snipe 7c77f4a697 Extra debugging
Signed-off-by: snipe <snipe@snipe.net>
2023-05-10 09:10:53 -07:00
akemidx 537aa04c9a Merge branch 'develop' into delete_asset_from_view_page 2023-05-10 09:30:54 -04:00
snipe 27e0484072 I lied. Missed one
Signed-off-by: snipe <snipe@snipe.net>
2023-05-10 03:12:22 -07:00
snipe ec76de607b Final google login tweaks
Signed-off-by: snipe <snipe@snipe.net>
2023-05-10 03:08:29 -07:00
snipe 14da8934c5 Few more login page tweaks
Signed-off-by: snipe <snipe@snipe.net>
2023-05-10 02:53:11 -07:00
snipe ed370a0104 Added translations
Signed-off-by: snipe <snipe@snipe.net>
2023-05-10 02:47:28 -07:00
snipe b99640ecb2 Added ends_with validation message
Signed-off-by: snipe <snipe@snipe.net>
2023-05-10 02:40:55 -07:00
snipe 8bad72a80f Added validation on google client ID
Signed-off-by: snipe <snipe@snipe.net>
2023-05-10 02:40:45 -07:00
snipe f3c977aa9d Nicer button
Signed-off-by: snipe <snipe@snipe.net>
2023-05-10 02:37:01 -07:00
snipe 788c03ef57 Hide client secret if app is locked
Signed-off-by: snipe <snipe@snipe.net>
2023-05-10 02:22:49 -07:00
snipe 3c00f68bda Added translation string for google auth failure
Signed-off-by: snipe <snipe@snipe.net>
2023-05-10 02:18:50 -07:00
snipe 7062583710 Check for http or https in avatar value
Signed-off-by: snipe <snipe@snipe.net>
2023-05-10 02:18:38 -07:00
snipe 2dd32d8785 Re-add the image update
Signed-off-by: snipe <snipe@snipe.net>
2023-05-10 02:18:27 -07:00
snipe ff66a938c1 Clearer comments
Signed-off-by: snipe <snipe@snipe.net>
2023-05-10 02:18:15 -07:00
snipe 7f0e677908 Use normal translation style
Signed-off-by: snipe <snipe@snipe.net>
2023-05-10 02:18:05 -07:00
snipe e8a0c7f2ce Remove avatar update, since we don’t take URLs for that
Signed-off-by: snipe <snipe@snipe.net>
2023-05-10 01:59:33 -07:00
snipe e950cf4279 Switch to using username as match for google login
Signed-off-by: snipe <snipe@snipe.net>
2023-05-10 01:58:36 -07:00
snipe 567a800c51 Added debugging
Signed-off-by: snipe <snipe@snipe.net>
2023-05-10 01:47:52 -07:00
snipe e5eb5932ca Create constructor to override expected config variables
Signed-off-by: snipe <snipe@snipe.net>
2023-05-10 01:37:03 -07:00
snipe a90fc1ab59 Merge pull request #12994 from snipe/features/google_socialite
Google OAuth login
2023-05-10 01:23:37 -07:00
snipe 3612526632 Disallow saving data if app is locked
Signed-off-by: snipe <snipe@snipe.net>
2023-05-10 01:14:54 -07:00
snipe 1ef4ea6381 Very ugly login shim just to test functionality
Signed-off-by: snipe <snipe@snipe.net>
2023-05-10 01:14:31 -07:00
snipe 37bc47290c Disabled fields in demo mode
Signed-off-by: snipe <snipe@snipe.net>
2023-05-10 01:12:55 -07:00
snipe 4da40792ea Use google logo
Signed-off-by: snipe <snipe@snipe.net>
2023-05-10 01:08:28 -07:00
snipe 63bf93b786 Pulled redirect from settings
Signed-off-by: snipe <snipe@snipe.net>
2023-05-10 00:56:04 -07:00
snipe f57e39191d Added google settings blade
Signed-off-by: snipe <snipe@snipe.net>
2023-05-10 00:55:16 -07:00
snipe 6ab214d3a6 Added google option to settings index
Signed-off-by: snipe <snipe@snipe.net>
2023-05-10 00:55:04 -07:00
snipe 3fb5188037 Removed redirect option
Signed-off-by: snipe <snipe@snipe.net>
2023-05-10 00:54:46 -07:00
snipe aefd330e4e Added methods for google settings
Signed-off-by: snipe <snipe@snipe.net>
2023-05-10 00:54:28 -07:00
snipe b7e8ce3064 Changed redirect
Signed-off-by: snipe <snipe@snipe.net>
2023-05-10 00:54:14 -07:00
snipe b183e53c45 Added settings routes for google auth
Signed-off-by: snipe <snipe@snipe.net>
2023-05-10 00:34:48 -07:00
snipe 054a2ab9d4 Add validation and fillable fields
Signed-off-by: snipe <snipe@snipe.net>
2023-05-10 00:34:31 -07:00
snipe bc9b47c46d Removed env dependency, switched to DB
Signed-off-by: snipe <snipe@snipe.net>
2023-05-10 00:27:47 -07:00
snipe 72d1c08fbc Added migration
Signed-off-by: snipe <snipe@snipe.net>
2023-05-10 00:21:17 -07:00
snipe c52b48c383 Google oauth login
Signed-off-by: snipe <snipe@snipe.net>
2023-05-10 00:14:28 -07:00
snipe 11cd875c6d Merge remote-tracking branch 'origin/develop' 2023-05-09 22:42:45 -07:00
snipe a1ec8cf490 Merge pull request #12993 from snipe/fixes/checkbox_layout_in_ldap
Tightened up some layout issues, checkbox issues in LDAP settings
2023-05-09 22:37:49 -07:00
snipe 0680405f4d Tightened up some layout issues, checkbox issues in LDAP settings
Signed-off-by: snipe <snipe@snipe.net>
2023-05-09 22:34:46 -07:00
snipe cbe70c9cc1 Merge remote-tracking branch 'origin/develop' 2023-05-09 20:14:44 -07:00
snipe 6a7bab453f Made spacing more compact
Signed-off-by: snipe <snipe@snipe.net>
2023-05-09 20:14:00 -07:00
snipe 7412bc32e2 Merge pull request #12991 from snipe/fixes/accessories_view
Fixed width of columns in details
2023-05-09 20:11:36 -07:00
snipe ec4697fd3e Merge remote-tracking branch 'origin/develop' 2023-05-09 19:45:10 -07:00
snipe 5a461d62bc Merge pull request #12990 from snipe/fixes/12881_missing_icon
Added icon field back into assets page
2023-05-09 19:44:30 -07:00
snipe 999dc3c358 Added icon field back into assets page
Signed-off-by: snipe <snipe@snipe.net>
2023-05-09 19:43:37 -07:00
snipe a10652797f Fixed width of columns in details
Signed-off-by: snipe <snipe@snipe.net>
2023-05-09 19:42:32 -07:00
snipe 090cbab60e Merge pull request #12989 from marcusmoore/chipper-ci
Add ChipperCI configuration
2023-05-09 18:09:23 -07:00
Marcus Moore 1e7986d75b Limit ChipperCI to running on push to master or develop 2023-05-09 16:39:56 -07:00
snipe a43dea3c04 Merge remote-tracking branch 'origin/develop' 2023-05-09 16:29:53 -07:00
Marcus Moore 1f11a8a2c1 Configure Dusk for ChipperCI 2023-05-09 14:45:18 -07:00
Marcus Moore 8d205e80e5 Add ejected pipeline configuration for ChipperCI 2023-05-09 14:44:43 -07:00
snipe 2d5da67b1e Merge pull request #12982 from akemidx/feature/sc-23214
Buttons on the Accessory View Page
2023-05-09 14:26:28 -07:00
slong753 1d2596fc54 wip 2023-05-09 14:58:59 -05:00
snipe 7dd41aa574 Removed whitespace
Signed-off-by: snipe <snipe@snipe.net>
2023-05-08 15:49:12 -07:00
snipe c4d40cdbd4 Merge remote-tracking branch 'origin/develop' 2023-05-08 15:11:25 -07:00
snipe b76c5206ff Merge pull request #12986 from snipe/features/import_backup_filename
Pass filename to pre-import backup
2023-05-08 15:08:59 -07:00
snipe 17efc78816 Merge pull request #12985 from snipe/fixes/increase_state_from_3_chars
Increase state from 3 chars
2023-05-08 15:08:44 -07:00
snipe 332b017dcc Pass filename for manual backups
Signed-off-by: snipe <snipe@snipe.net>
2023-05-08 15:00:02 -07:00
snipe 5960a5425d Pass filename to pre-import backup
Signed-off-by: snipe <snipe@snipe.net>
2023-05-08 14:48:26 -07:00
snipe 277618bf16 Added maxlenth to form fields
Signed-off-by: snipe <snipe@snipe.net>
2023-05-08 14:13:24 -07:00
snipe f84f4ffe99 Migration to embiggen state fields
Signed-off-by: snipe <snipe@snipe.net>
2023-05-08 14:13:06 -07:00
snipe f1d85c67f1 Make validation match database fields
Signed-off-by: snipe <snipe@snipe.net>
2023-05-08 14:12:54 -07:00
snipe 6cb6beb6c7 Merge remote-tracking branch 'origin/develop' 2023-05-08 13:21:43 -07:00
snipe 6486ea4fb7 Merge pull request #12976 from inietov/fixes/validate_soft-deleted_models_in_asset_model
Refactor of #12955
2023-05-08 13:14:02 -07:00
snipe d685335aea Merge pull request #12975 from inietov/fixes/import_asset_notes
Fixed Notes field doesn't get populate when creating/updating assets via Importer [sc-23222]
2023-05-08 13:11:50 -07:00
snipe d70e14de61 Merge pull request #12972 from marcusmoore/bug/sc-23177
Fixes user name missing in accessory acceptance notifications
2023-05-08 13:04:37 -07:00
snipe 480ef23505 Merge remote-tracking branch 'origin/develop' 2023-05-08 12:44:01 -07:00
snipe 4503815ad7 Merge pull request #12984 from snipe/features/check_for_zip_in_backup_filename
Check that the filename we pass ends in zip, add it if not
2023-05-08 12:43:34 -07:00
snipe ba462d1e93 Check that the filename we pass ends in zip, add it if not
Signed-off-by: snipe <snipe@snipe.net>
2023-05-08 12:41:32 -07:00
snipe 3429d1f4b4 Merge remote-tracking branch 'origin/develop' 2023-05-08 12:22:22 -07:00
snipe 0f76eda4af Merge pull request #12983 from snipe/features/add_optional_filename_to_backup_artisan
Add optional filename to backup
2023-05-08 12:21:55 -07:00
snipe 85243423cf Add optional filename to backup
Signed-off-by: snipe <snipe@snipe.net>
2023-05-08 12:20:43 -07:00
snipe a73205f228 Merge remote-tracking branch 'origin/develop' 2023-05-08 11:24:03 -07:00
snipe 06ffe64f62 Merge pull request #12981 from snipe/fixes/wonky_div_when_saml_disabled
Fixed misplaced div when saml is disabled
2023-05-08 11:22:54 -07:00
snipe 223ff5e97e Fixed misplaced div when saml is disabled
Signed-off-by: snipe <snipe@snipe.net>
2023-05-08 11:20:26 -07:00
snipe fe40902765 Merge remote-tracking branch 'origin/develop' 2023-05-06 06:37:29 -07:00
snipe 689ef433b3 Merge pull request #12979 from snipe/fixes/added_use_for_fieldsets_controller
Added missing use statement
2023-05-06 06:37:01 -07:00
snipe 8b73fa0053 Added missing use statement
Signed-off-by: snipe <snipe@snipe.net>
2023-05-06 06:36:09 -07:00
snipe 3d345d15ac Merge remote-tracking branch 'origin/develop' 2023-05-04 11:01:15 -07:00
snipe 4efa84270a Merge pull request #12974 from snipe/fixes/show_sig_column_regardless_of_sig_status
Show signature column in asset history regardless of “require sig” state
2023-05-04 11:00:51 -07:00
snipe 60515f1262 Show signature column regardless of “require sig” state
Signed-off-by: snipe <snipe@snipe.net>
2023-05-04 10:56:35 -07:00
Ivan Nieto Vivanco fbb7c55450 Tweak 'exist' rule in Asset->model_id field so it ignores soft-deleted models 2023-05-04 03:12:36 -06:00
Ivan Nieto Vivanco 89fbd60d97 Restore the 'Asset Notes' and 'Model Notes' in the Map Asset Import Fields form 2023-05-04 02:00:04 -06:00
Marcus Moore 96c6d8896f Add additional information to acceptance notifications for assets, accessories, and consumables 2023-05-03 17:04:01 -07:00
Marcus Moore 9efe13bb5e Capitalize "declined" in acceptance in notification 2023-05-03 17:03:22 -07:00
Marcus Moore 4a0b3efd1f Include user's name in Acceptance result notifications for accessories 2023-05-03 14:22:05 -07:00
Marcus Moore f96d8fe674 Add CheckoutAcceptance factory 2023-05-03 14:21:13 -07:00
snipe 5950ec27ab Merge remote-tracking branch 'origin/develop'
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	config/version.php
#	public/css/build/app.css
#	public/css/build/overrides.css
#	public/css/dist/all.css
#	public/css/dist/skins/skin-black-dark.css
#	public/css/dist/skins/skin-black-dark.min.css
#	public/css/dist/skins/skin-blue-dark.css
#	public/css/dist/skins/skin-blue-dark.min.css
#	public/css/dist/skins/skin-green-dark.css
#	public/css/dist/skins/skin-green-dark.min.css
#	public/css/dist/skins/skin-orange-dark.css
#	public/css/dist/skins/skin-orange-dark.min.css
#	public/css/dist/skins/skin-red-dark.css
#	public/css/dist/skins/skin-red-dark.min.css
#	public/css/dist/skins/skin-yellow-dark.css
#	public/css/dist/skins/skin-yellow-dark.min.css
#	public/mix-manifest.json
2023-05-03 13:49:36 -07:00
snipe cd6f6ee8ff Bumped version to 6.1.1-pre
Signed-off-by: snipe <snipe@snipe.net>
2023-05-03 13:47:46 -07:00
akemidx 526c089424 Buttons on the accessory view page 2023-05-03 16:40:06 -04:00
akemidx 67105528d1 Buttons on the accessory view page 2023-05-03 16:31:56 -04:00
akemidx 12f0c42545 buttons added 2023-05-03 16:31:56 -04:00
slong753 815c77f943 wip 2023-05-03 14:49:31 -05:00
snipe fe710efb40 Merge pull request #12874 from Godmartinz/feature/sc-23130
Adds a checkout range for custom asset reports
2023-05-03 11:43:44 -07:00
snipe fc53b56481 Merge pull request #12955 from inietov/fixes/error_500_after_sign_and_accept_asset
Fixed Error 500 after sign and accept asset
2023-05-03 11:43:14 -07:00
akemidx 889be83762 replacing route. sorry! 2023-05-03 14:14:18 -04:00
snipe b716f9f55e Merge pull request #12916 from snipe/features/auto_add_to_fieldset
Added ability to auto-add fields to new fieldsets
2023-05-03 11:04:33 -07:00
snipe ea17fdeba5 Merge pull request #12846 from snipe/features/livewire_location_import
Location importer via Livewire Importer
2023-05-03 11:02:06 -07:00
snipe f5cd58e9b7 Unmix return type variables
Signed-off-by: snipe <snipe@snipe.net>
2023-05-03 10:57:02 -07:00
snipe da4841987e Use translation string
Signed-off-by: snipe <snipe@snipe.net>
2023-05-03 10:55:30 -07:00
snipe 4a643c1252 Merge pull request #12880 from Godmartinz/asset_total_cost
Added component costs to asset view
2023-05-03 10:49:03 -07:00
snipe cdbd68012f Merge pull request #12878 from joelpittet/patch-2
Use environment variable and default to PHP's sendmail_path
2023-05-03 10:48:39 -07:00
snipe 577fff7d65 Updated dev assets
Signed-off-by: snipe <snipe@snipe.net>
2023-05-03 10:45:36 -07:00
snipe 79a27085c9 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2023-05-03 10:43:45 -07:00
snipe 27600e1553 Snyk webpack upgrade
Signed-off-by: snipe <snipe@snipe.net>
2023-05-03 10:43:05 -07:00
snipe 914b2658cc Merge pull request #12943 from marcusmoore/fixes/avoid-loading-unused-models-for-report
Remove the loading of asset maintenances that are not used by view
2023-05-03 10:41:52 -07:00
snipe 6a12d5d9a0 Merge pull request #12964 from marcusmoore/fixes/restrict-php-version
Restrict PHP version to <8.2
2023-05-03 10:40:52 -07:00
snipe 31f1bce16b Merge pull request #12958 from uberbrady/snipeit_v7_merge_develop_05_01_2022
Snipeit v7 merge develop 05 01 2022
2023-05-03 10:40:18 -07:00
snipe 466c2fd47c Merge pull request #12966 from Godmartinz/bug/sc-23161
fixed color differences in dark themes
2023-05-03 10:38:54 -07:00
slong753 cdda4a56d8 aha, ok thisd kind of works 2023-05-02 19:11:43 -05:00
slong753 b2c2097e8b just more troubleshooting stuff, still no solution 2023-05-02 18:54:20 -05:00
Godfrey M 87d1a82e35 moar changes to red 2023-05-02 15:15:02 -07:00
Godfrey M 1d494252ef corrections for dark red 2023-05-02 14:05:29 -07:00
Godfrey M 786e8deb91 removed dead space 2023-05-02 13:54:14 -07:00
Godfrey M 0a3cb5286d fixes dark red 2023-05-02 12:37:05 -07:00
Godfrey M f91e76e0f2 fixes dark blue and btn-warning bg 2023-05-02 12:33:40 -07:00
Godfrey M af2f288286 fixes dark orange theme 2023-05-02 12:17:22 -07:00
Godfrey M 5de30db0a9 fixes dark green theme 2023-05-02 12:10:55 -07:00
Marcus Moore 48ef8443f5 Restrict PHP to >=7.4.3 <8.2 2023-05-02 12:01:09 -07:00
Godfrey M 47370da924 adds fixes to dark black theme 2023-05-02 11:08:37 -07:00
Brady Wetherington 2f3ddaec20 Merge branch 'develop' into snipeit_v7 2023-05-01 18:09:12 -07:00
snipe 7cd37e6e95 Merge pull request #12957 from uberbrady/fix_webpack_for_v7
Fix webpack for v7
2023-05-01 18:08:46 -07:00
Brady Wetherington a938009074 Rebuilt assets with new Node and node_modules and package.json 2023-05-01 18:06:51 -07:00
Brady Wetherington 21d08ff742 Whoops! Forgot to commit this before 2023-05-01 18:05:06 -07:00
snipe da8b41b12a Merge pull request #12956 from uberbrady/upgrade_node_and_packages_for_v7
Updated Node version, and various packages to more recent
2023-05-01 17:33:20 -07:00
Brady Wetherington 6e031727fa Updated Node version, and various packages to more recent 2023-05-01 17:05:10 -07:00
akemidx 2cb1545b83 removing route 2023-05-01 19:51:52 -04:00
snipe 63af17da74 Merge pull request #12954 from marcusmoore/fixes/test-suite-fixes
Clear the settings cache on app destruction
2023-05-01 16:28:47 -07:00
Godfrey M 7711938f4b fixes dark yellow 2023-05-01 16:27:21 -07:00
Marcus Moore f7d2b62d87 Improve method name 2023-05-01 16:06:28 -07:00
Marcus Moore da08f6ef8c Add InteractsWithSettings trait to required tests 2023-05-01 16:05:26 -07:00
Marcus Moore 6d594faae7 Clear the settings cache on app destruction 2023-05-01 16:04:43 -07:00
Ivan Nieto Vivanco 6936d76661 Prevent hard fail when retrieving acceptance data 2023-05-01 16:50:18 -06:00
Ivan Nieto Vivanco 1b2d830380 Check if model exists before create asset via API 2023-05-01 16:05:03 -06:00
akemidx ad7a1d6c3b edits from Github comments 2023-05-01 15:50:48 -04:00
snipe 609b1646e9 Merge remote-tracking branch 'origin/develop' 2023-04-30 18:40:52 -07:00
snipe 031c9c1204 Added nobr tag to prevent external link icon and link from breaking
Signed-off-by: snipe <snipe@snipe.net>
2023-04-30 18:40:40 -07:00
snipe 77b51136cf Merge remote-tracking branch 'origin/develop' 2023-04-30 18:38:19 -07:00
snipe 0222a922a1 Added tooltip
Signed-off-by: snipe <snipe@snipe.net>
2023-04-30 18:20:23 -07:00
snipe 8ad600085a Moved external link icon into link
Signed-off-by: snipe <snipe@snipe.net>
2023-04-30 18:17:56 -07:00
snipe 7fdbc10122 Merge remote-tracking branch 'origin/develop' 2023-04-29 13:49:14 -07:00
snipe 4c27b65d45 Merge pull request #12950 from snipe/fixes/warranty_lookup_validation
Fixed  #12946 - warranty lookup url was not nullable
2023-04-29 13:48:54 -07:00
snipe aa814cf761 Fixed #12946 - warranty lookup url was not nullable
Signed-off-by: snipe <snipe@snipe.net>
2023-04-29 13:47:52 -07:00
Marcus Moore 3cae32b236 Eager load default locations 2023-04-27 17:13:09 -07:00
Marcus Moore 429c4cb99f Remove the loading of asset maintenances that are not used by view 2023-04-27 17:12:53 -07:00
snipe e250d4c884 Merge remote-tracking branch 'origin/develop' 2023-04-27 17:00:29 -07:00
snipe 8b476e55b6 Merge pull request #12941 from akemidx/feature/sc-23153
Created At and Updated At fields on License table view
2023-04-27 16:59:30 -07:00
snipe b76d2973f7 Merge pull request #12928 from snipe/features/make_hashing_work_rounds_an_env
Env-ify hashing variables, setting the normal defaults
2023-04-27 16:57:45 -07:00
snipe b001f6771d Merge remote-tracking branch 'origin/develop' 2023-04-27 16:28:42 -07:00
snipe 956bc41e48 Merge pull request #12942 from snipe/bug/sc-23197
Added missing case for licenses for item_count
2023-04-27 16:28:12 -07:00
snipe 567e19bcc0 Added missing case for licenses for item_count
Signed-off-by: snipe <snipe@snipe.net>
2023-04-27 16:26:50 -07:00
akemidx 67a2b796a4 requested edits 2023-04-27 19:19:53 -04:00
akemidx 1c60d686bd Merge remote-tracking branch 'origin/delete_asset_from_view_page' into delete_asset_from_view_page
# Conflicts:
#	resources/views/hardware/view.blade.php
2023-04-27 19:08:51 -04:00
akemidx cd389368f7 adding in script 2023-04-27 19:00:17 -04:00
akemidx d3675831bb snippet rewrite 2023-04-27 18:58:59 -04:00
akemidx 84134b45e6 form work 2023-04-27 18:58:59 -04:00
akemidx b1e68be545 delete button progress 2023-04-27 18:58:59 -04:00
akemidx d94bed3f57 push for testing 2023-04-27 18:58:59 -04:00
akemidx aabcf22b40 commiting 2023-04-27 18:58:59 -04:00
akemidx af549a0be9 Mock Up of the Buttons 2023-04-27 18:58:59 -04:00
Brady Wetherington 381890b578 Merge branch 'develop' into laravel_v9 2023-04-27 13:56:04 -07:00
snipe 1384ca658a Merge remote-tracking branch 'origin/develop' 2023-04-26 18:42:58 -07:00
snipe e25dc42121 Switch to externalLinkFormatter
Signed-off-by: snipe <snipe@snipe.net>
2023-04-26 18:42:34 -07:00
snipe dcb7eadfc7 Merge pull request #12933 from snipe/features/unlink_dynamic_urls_if_variables_used
Remove auto-link from from manufacturer warranty
2023-04-26 18:40:33 -07:00
snipe 99ef435d40 Fixed translation
Signed-off-by: snipe <snipe@snipe.net>
2023-04-26 18:32:38 -07:00
snipe e853f8b7fd Removed SR text for exporting
Signed-off-by: snipe <snipe@snipe.net>
2023-04-26 18:23:21 -07:00
snipe deff312381 Remove auto-link from from manufacturer warranty
Signed-off-by: snipe <snipe@snipe.net>
2023-04-26 18:16:23 -07:00
snipe 7bffe30fae Merge remote-tracking branch 'origin/develop' 2023-04-26 17:55:48 -07:00
snipe 73d45bb587 Merge pull request #12932 from snipe/features/add_warranty_url_to_mfgs
Added dynamic warranty URL to manufacturers
2023-04-26 17:55:03 -07:00
snipe 7974c172fd Switch back to “normal” url for support
Signed-off-by: snipe <snipe@snipe.net>
2023-04-26 16:48:38 -07:00
snipe 54a766c4f9 Added dynamic warranty URL to manufacturers
Signed-off-by: snipe <snipe@snipe.net>
2023-04-26 16:39:15 -07:00
snipe 27de5c62c5 Merge remote-tracking branch 'origin/develop' 2023-04-26 15:15:43 -07:00
snipe ef69df2cdf Merge pull request #12930 from snipe/fixes/added_help_text_to_support_url
Added help text to the now-dynamic manufacturer URLS
2023-04-26 15:15:19 -07:00
snipe 7c0ef581c5 Added help text to the now-dynamic manufacturer URLS
Signed-off-by: snipe <snipe@snipe.net>
2023-04-26 15:12:36 -07:00
snipe 0c5837e4a0 Merge pull request #12929 from snipe/fixes/use_asset_tag_if_no_asset_name_given
Use the asset tag instead of asset name if no name is given
2023-04-26 14:49:38 -07:00
snipe 5eac314f4d Merge pull request #12906 from akemidx/feature/sc-20622
Dynamic warranty link for manufacturers' support urls
2023-04-26 14:49:22 -07:00
snipe b5b335a2ca Use the asset tag instead of asset name if no name is given
Signed-off-by: snipe <snipe@snipe.net>
2023-04-26 14:41:19 -07:00
akemidx 497d17835f requested edits 2023-04-26 17:06:08 -04:00
slong753 52c9fefbe0 ok, this works except error display 2023-04-26 15:06:50 -05:00
snipe 68417a4c15 Env-ify hashing variables, setting the normal defaults
Signed-off-by: snipe <snipe@snipe.net>
2023-04-26 13:01:42 -07:00
akemidx aab53cf683 remove regex, add in starts_with 2023-04-26 15:18:13 -04:00
snipe 75fdd0ac96 Merge remote-tracking branch 'origin/develop' 2023-04-26 09:54:44 -07:00
snipe 4c16dcf5d0 Merge pull request #12922 from snipe/fixes/12918_route_name_for_clone_locations
Fixed #12918 - wrong route for clone location
2023-04-26 09:54:18 -07:00
snipe b6889ff399 Fixed #12918 - wrong toite for clone location
Signed-off-by: snipe <snipe@snipe.net>
2023-04-26 09:52:13 -07:00
snipe 12cc576b52 Merge remote-tracking branch 'origin/develop' 2023-04-25 23:41:45 -07:00
snipe 19554a7dc2 Merge pull request #12917 from snipe/fixes/applies_pr_12868
Applies #12868 - fixes EOL date on asset creation
2023-04-25 23:40:43 -07:00
snipe 8f0b823fb3 Applies #12868
Signed-off-by: snipe <snipe@snipe.net>
2023-04-25 23:39:32 -07:00
snipe 2299771e10 Add @zacharyfleck as a contributor 2023-04-25 22:37:17 -07:00
snipe 37b881b906 Add @dboth as a contributor 2023-04-25 22:32:45 -07:00
snipe 22d73f503a Merge pull request #12756 from dboth/develop
Fixed #8208, #8896, #8985 and #9789:  Currency issues when using non-english locales (resubmission)
2023-04-25 22:32:13 -07:00
snipe 970b5e556c Merge pull request #12903 from marcusmoore/bug/sc-15034
Fixes sending webhook notifications for checkout and checkin
2023-04-25 22:22:58 -07:00
snipe 17275cbeb8 Merge pull request #12905 from marcusmoore/fixes/checkout-via-artisan
Fixes where clause operator in artisan checkout command
2023-04-25 22:21:59 -07:00
snipe d6ea5de5b8 Merge remote-tracking branch 'origin/develop' into features/auto_add_to_fieldset 2023-04-25 22:20:50 -07:00
snipe 42f0975414 Merge remote-tracking branch 'origin/develop'
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	public/css/dist/all.css
#	public/css/dist/bootstrap-table.css
#	public/js/dist/bootstrap-table.js
#	public/mix-manifest.json
2023-04-25 22:19:27 -07:00
snipe 470a36a7c9 Updated dev assets
Signed-off-by: snipe <snipe@snipe.net>
2023-04-25 22:12:56 -07:00
snipe b7632cdbb7 Updated js packages
Signed-off-by: snipe <snipe@snipe.net>
2023-04-25 22:12:47 -07:00
snipe 9529cd8235 Merge pull request #12891 from snipe/snyk-upgrade-38ca074c3dd0aada16ad8b85f20ebaa8
[Snyk] Upgrade bootstrap-table from 1.21.3 to 1.21.4
2023-04-25 22:04:40 -07:00
snipe fcddd0827c Merge pull request #12888 from snipe/snyk-upgrade-4c8ffc584b299eb1e71d6be555624f4e
[Snyk] Upgrade webpack from 5.76.2 to 5.77.0
2023-04-25 22:03:49 -07:00
snipe c8c6f879d4 Merge pull request #12912 from Godmartinz/ldap_location_sync
added ldap_location to settings
2023-04-25 21:54:28 -07:00
snipe 31a3be4c6a Small refactor of HTML, added top submit button
Signed-off-by: snipe <snipe@snipe.net>
2023-04-25 21:51:59 -07:00
snipe 27477085fe Merge branch 'develop' into features/auto_add_to_fieldset 2023-04-25 21:31:50 -07:00
snipe 45f22e7561 Updated the sync to disassociate if all boxed are unchecked
Signed-off-by: snipe <snipe@snipe.net>
2023-04-25 21:31:23 -07:00
snipe 5759d2c948 Added a check to fail validation if the associated fieldsets are not value
Signed-off-by: snipe <snipe@snipe.net>
2023-04-25 21:30:47 -07:00
snipe 15dc4e4779 Added fieldset sync
Signed-off-by: snipe <snipe@snipe.net>
2023-04-25 21:29:57 -07:00
slong753 6bec9cf880 fix a couple things 2023-04-25 23:26:16 -05:00
snipe 5eeca937cb Added logic for syncing fieldset info
Signed-off-by: snipe <snipe@snipe.net>
2023-04-25 21:08:26 -07:00
snipe 662b7787a1 Updated redirect return
Signed-off-by: snipe <snipe@snipe.net>
2023-04-25 21:07:50 -07:00
snipe 28d9cec1e3 Added auto_add_to_fieldsets to API response
Signed-off-by: snipe <snipe@snipe.net>
2023-04-25 20:59:48 -07:00
snipe 67212f9d57 Changed layout, added fieldsets
Signed-off-by: snipe <snipe@snipe.net>
2023-04-25 20:59:29 -07:00
snipe 6cd3cfe1ea Added new field to factory
Signed-off-by: snipe <snipe@snipe.net>
2023-04-25 20:57:03 -07:00
snipe 4a063d23b9 We don’t actually use this test?
Signed-off-by: snipe <snipe@snipe.net>
2023-04-25 19:36:52 -07:00
snipe 705bb7375a Merge pull request #12914 from marcusmoore/fixes/fix-test-cases
Fixes state leak between tests
2023-04-25 17:22:56 -07:00
snipe 4e3ccb74bc Fixed slightly weird padding
Signed-off-by: snipe <snipe@snipe.net>
2023-04-25 15:59:19 -07:00
snipe 4954b50280 Added new strings
Signed-off-by: snipe <snipe@snipe.net>
2023-04-25 15:57:46 -07:00
snipe 07336bbc6a Added auto_add_to_fieldsets field
Signed-off-by: snipe <snipe@snipe.net>
2023-04-25 15:51:36 -07:00
snipe 0e73923c24 Merge pull request #12913 from uberbrady/fix_scim_id_string
Change from a standard Eloquent mapping for ID to a custom setRead
2023-04-25 12:02:36 -07:00
Marcus Moore a528ebeab0 Use superuser instead of admin state 2023-04-25 11:53:47 -07:00
Brady Wetherington 3da5df0127 Change from a standard Eloquent mapping for ID to a custom setRead 2023-04-25 11:50:55 -07:00
Godfrey M 20d8ff2a4f removed a typo 2023-04-25 11:49:33 -07:00
snipe a7e2182ec9 Merge pull request #12904 from zacharyfleck/develop
Fixed #8342: Add ARM64 architecture to Docker Builds
2023-04-25 11:45:27 -07:00
Godfrey M cb68f41d9c added ldap_location to settings 2023-04-25 11:44:04 -07:00
Zachary Fleck af0a0276e0 Merge branch 'snipe:develop' into develop 2023-04-25 14:43:41 -04:00
Zachary Fleck ef07f39ccf remove space 2023-04-25 14:43:34 -04:00
Zachary Fleck aa223359d4 remove space 2023-04-25 14:42:09 -04:00
snipe b0e342508f Merge remote-tracking branch 'origin/develop' 2023-04-25 08:09:59 -07:00
snipe efc0929bbc Merge pull request #12910 from snipe/fixes/finer_permissions_for_bulk_assets
Added more granular permissions on bulk actions for assets
2023-04-25 08:09:30 -07:00
snipe 66ce02fc48 Added permission on restore
Signed-off-by: snipe <snipe@snipe.net>
2023-04-25 08:09:16 -07:00
snipe 6e7f0728fd Added more granular permissions on bulk actions for assets
Signed-off-by: snipe <snipe@snipe.net>
2023-04-25 08:06:45 -07:00
Marcus Moore b4f162f316 Fix operator in where clause 2023-04-24 17:26:06 -07:00
akemidx 9cd2783185 Regex added for link instead 2023-04-24 20:07:21 -04:00
zacharyfleck 63ade327a5 add ARM64 architecture 2023-04-24 16:24:44 -04:00
Godfrey M b8c424fca0 adds users total cost to user profile 2023-04-24 09:17:42 -07:00
snyk-bot 056790e9cd fix: upgrade bootstrap-table from 1.21.3 to 1.21.4
Snyk has created this PR to upgrade bootstrap-table from 1.21.3 to 1.21.4.

See this package in npm:
https://www.npmjs.com/package/bootstrap-table

See this project in Snyk:
https://app.snyk.io/org/snipe/project/3d53e1dd-b8bf-46b5-ba61-18ce26933166?utm_source=github&utm_medium=referral&page=upgrade-pr
2023-04-22 14:47:28 +00:00
snipe 0c425ed0e7 Merge remote-tracking branch 'origin/develop' 2023-04-21 05:19:19 -07:00
snipe 7d9062c065 Merge pull request #12877 from joelpittet/patch-1
Allow an environment variable to set the session cookie path
2023-04-21 04:45:17 -07:00
snipe fc721a9388 Merge pull request #12887 from marcusmoore/bug/sc-23158
Fix: Ensure users editing themselves do not deactivate their account
2023-04-21 04:42:04 -07:00
snyk-bot 6af3ab8954 fix: upgrade webpack from 5.76.2 to 5.77.0
Snyk has created this PR to upgrade webpack from 5.76.2 to 5.77.0.

See this package in npm:
https://www.npmjs.com/package/webpack

See this project in Snyk:
https://app.snyk.io/org/snipe/project/3d53e1dd-b8bf-46b5-ba61-18ce26933166?utm_source=github&utm_medium=referral&page=upgrade-pr
2023-04-21 06:57:42 +00:00
Marcus Moore 2aba8252f3 Ensure users editing themselves do not deactivate their account 2023-04-20 21:59:55 -07:00
akemidx 16a5a883e5 new request, preparing support_url for validation 2023-04-20 16:34:25 -04:00
snipe c3c22fae3c Merge pull request #12885 from inietov/fixes/error_call_member_function_totalSeatsByLicenseID
Fixed Call to a member function totalSeatsByLicenseID() on null
2023-04-20 10:43:28 -07:00
Ivan Nieto Vivanco 747d6cfdb4 Change the flow of the condition using an early return 2023-04-20 10:37:26 -06:00
Ivan Nieto Vivanco ae53609b1b Declare variables only if license is found 2023-04-20 10:16:11 -06:00
Marcus Moore c357d9f01e Update data provider name 2023-04-19 18:10:23 -07:00
Marcus Moore 645f6ed692 Remove unneeded doc block 2023-04-19 17:52:44 -07:00
Godfrey M 97df39001d adds optional breakdowns for total cost 2023-04-19 17:51:37 -07:00
Marcus Moore dd40798c43 Remove unneeded comments 2023-04-19 17:49:31 -07:00
Godfrey M 6872f8da7b adding total cost to user view 2023-04-19 17:31:09 -07:00
Marcus Moore e92c1e7bea Minor docblock update 2023-04-19 17:22:56 -07:00
Godfrey M bd212b3108 adds component costs to asset view 2023-04-19 16:35:06 -07:00
Joel Pittet 608c5d037f Use environment variable and default to PHP's sendmail_path
Use sendmail_path in PHP instead of hardcoded path and options
2023-04-19 15:25:48 -07:00
Joel Pittet 351928adff Allow an environment variable to set the session cookie path 2023-04-19 15:18:50 -07:00
Marcus Moore 144382e57a Update docblock types 2023-04-19 12:31:12 -07:00
Marcus Moore 835f8876c4 Move notification sending into try catch block 2023-04-19 12:26:48 -07:00
snipe 4a5426f959 Merge pull request #12875 from Godmartinz/sidebar_undeployable_runaway_parenthesis
Fixed space from un deployable total in sidebar
2023-04-19 11:49:42 -07:00
Marcus Moore 15280c435e Merge branch 'develop' into bug/sc-15034 2023-04-19 11:45:16 -07:00
Godfrey M 0e1f50c226 adds checkout-range to jquery 2023-04-19 10:11:26 -07:00
Godfrey M d2118ba230 removed space from un deployable total in sidebar 2023-04-19 09:46:15 -07:00
Godfrey M 8a5612d1c9 fixes comment 2023-04-19 09:13:43 -07:00
Godfrey M bdd1045272 adds a checkout range for custom asset reports 2023-04-19 09:11:44 -07:00
snipe fd5cb32dd9 Honor the “update” flag
Signed-off-by: snipe <snipe@snipe.net>
2023-04-18 16:34:47 -07:00
snipe 345662c5c2 Rearrange some of the user creation logic
Signed-off-by: snipe <snipe@snipe.net>
2023-04-18 16:34:10 -07:00
snipe 003cd372dd New location same CSV
Signed-off-by: snipe <snipe@snipe.net>
2023-04-18 16:23:07 -07:00
snipe aedfef78d3 Update app/Importer/LocationImporter.php
Co-authored-by: Marcus Moore <contact@marcusmoore.io>
2023-04-18 13:26:23 -07:00
Marcus Moore bad2eead4c Remove test method 2023-04-18 13:13:57 -07:00
Marcus Moore 508660b1df Skip notifications for component checkouts and checkins 2023-04-18 13:07:55 -07:00
snipe c68563ae08 Merge remote-tracking branch 'origin/develop' 2023-04-18 13:01:37 -07:00
snipe a84a9a8dec Merge pull request #12867 from snipe/fixes/clearer_tooltip_text_for_non_assets_undeployable
Small tooltip improvements for undeployable items in table view
2023-04-18 13:00:11 -07:00
snipe d3bdaf7cd3 Fixed destination name
Signed-off-by: snipe <snipe@snipe.net>
2023-04-18 12:59:46 -07:00
snipe 92f516484e Small tooltip improvements for undeployable items
Signed-off-by: snipe <snipe@snipe.net>
2023-04-18 12:54:06 -07:00
snipe b626e5a3bf Merge remote-tracking branch 'origin/develop' 2023-04-18 12:33:32 -07:00
snipe bfda46276a Merge pull request #12849 from snipe/features/adds_license_checkin_checkout_to_all_in_gui
Added license checkin/checkout to all in license GUI
2023-04-18 12:32:30 -07:00
snipe 031586495a Small cosmetic tweaks to 2FA reset class, fixed weird layout on 2FA reset button
Signed-off-by: snipe <snipe@snipe.net>
2023-04-18 12:09:41 -07:00
snipe d871a14687 Added fa-fw for nicer display
Signed-off-by: snipe <snipe@snipe.net>
2023-04-18 11:49:40 -07:00
snipe 00a9591c4c Added autoassign_licenses in view, added fa-fw
Signed-off-by: snipe <snipe@snipe.net>
2023-04-18 11:49:29 -07:00
snipe 4d9d75379f Improved translation string
Signed-off-by: snipe <snipe@snipe.net>
2023-04-18 11:39:16 -07:00
snipe 41358eba85 Updated label
Signed-off-by: snipe <snipe@snipe.net>
2023-04-18 11:29:28 -07:00
snipe 59f4fe67d6 Removed duplicate tooltip
Signed-off-by: snipe <snipe@snipe.net>
2023-04-18 11:28:35 -07:00
Brady Wetherington 71fa6d765f Update to Latest Livewire files 2023-04-18 11:05:35 -07:00
Brady Wetherington 9793130f6c Merge branch 'develop' into laravel_v9 2023-04-18 11:01:00 -07:00
snipe 2c5c4ab974 Nicer layout
Signed-off-by: snipe <snipe@snipe.net>
2023-04-18 04:40:06 -07:00
snipe 95767c46ac Fixed delete modal
Signed-off-by: snipe <snipe@snipe.net>
2023-04-18 04:37:13 -07:00
snipe 0eadc00f4d Removed unneeded css class
Signed-off-by: snipe <snipe@snipe.net>
2023-04-18 04:37:04 -07:00
snipe df7b19bc1e Removed unused validations
Signed-off-by: snipe <snipe@snipe.net>
2023-04-18 04:35:06 -07:00
snipe 7aab4290c7 Updated tooltips with data-tooltip=true from old method
Signed-off-by: snipe <snipe@snipe.net>
2023-04-18 02:44:50 -07:00
snipe 3a808aa806 Updated method for available seat count
Signed-off-by: snipe <snipe@snipe.net>
2023-04-18 02:44:33 -07:00
snipe 4d09021e9c Compact tooltip for un-deletable
Signed-off-by: snipe <snipe@snipe.net>
2023-04-18 02:44:19 -07:00
snipe beba31afbf Added tooltip for disabled delete buttons
Signed-off-by: snipe <snipe@snipe.net>
2023-04-18 02:44:09 -07:00
snipe 41490f1e3a Use “name” instead of “license” for consistency
Signed-off-by: snipe <snipe@snipe.net>
2023-04-18 02:43:59 -07:00
snipe 9da36833be Removed unused method
Signed-off-by: snipe <snipe@snipe.net>
2023-04-18 02:43:44 -07:00
snipe dc6eb6f104 Throw a warning if there were no users affected
Signed-off-by: snipe <snipe@snipe.net>
2023-04-18 02:07:17 -07:00
snipe a8a3ca3624 Use count on availSeats
Signed-off-by: snipe <snipe@snipe.net>
2023-04-18 02:06:42 -07:00
snipe e84ba0c7a0 Revert back to old method name
Signed-off-by: snipe <snipe@snipe.net>
2023-04-18 02:06:32 -07:00
snipe 3e53870b37 Updated language
Signed-off-by: snipe <snipe@snipe.net>
2023-04-18 02:00:13 -07:00
snipe 8a41f37054 Persists buttons through tabs
Signed-off-by: snipe <snipe@snipe.net>
2023-04-18 02:00:06 -07:00
snipe 9f7058a128 Revert "Renamed/refactorered licenses method"
This reverts commit de78f8d41f.

Signed-off-by: snipe <snipe@snipe.net>
2023-04-18 01:36:34 -07:00
snipe ec0413254e Removed action menu
Signed-off-by: snipe <snipe@snipe.net>
2023-04-18 01:09:40 -07:00
snipe f21d9c27e6 Use new translations for logs
Signed-off-by: snipe <snipe@snipe.net>
2023-04-18 01:07:26 -07:00
snipe 725adebffe Translate log message
Signed-off-by: snipe <snipe@snipe.net>
2023-04-18 01:07:12 -07:00
snipe bfcbd9628a Refactored license controller with new counts
Signed-off-by: snipe <snipe@snipe.net>
2023-04-18 01:02:58 -07:00
snipe 220e20d208 Changed tooltip invocation
Signed-off-by: snipe <snipe@snipe.net>
2023-04-18 01:02:36 -07:00
snipe d3b087b5da Clearer padding between buttons, added tooltips
Signed-off-by: snipe <snipe@snipe.net>
2023-04-18 01:02:19 -07:00
snipe 25a83c2915 Removed moved translations
Signed-off-by: snipe <snipe@snipe.net>
2023-04-18 01:02:01 -07:00
snipe 3f4159f058 Added translations
Signed-off-by: snipe <snipe@snipe.net>
2023-04-18 01:01:52 -07:00
snipe de78f8d41f Renamed/refactorered licenses method
Signed-off-by: snipe <snipe@snipe.net>
2023-04-18 01:01:44 -07:00
snipe 6ab4314221 Removed unused method
Signed-off-by: snipe <snipe@snipe.net>
2023-04-18 01:01:13 -07:00
snipe 087f0e596a Fixed has to where
Signed-off-by: snipe <snipe@snipe.net>
2023-04-17 22:44:05 -07:00
snipe 0dd967cf2b Merge remote-tracking branch 'origin/develop' 2023-04-17 21:05:09 -07:00
snipe 912f6c45ee Reverted #12832
Signed-off-by: snipe <snipe@snipe.net>
2023-04-17 21:04:47 -07:00
snipe 9a73f5eca3 Updated production assets
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	public/css/build/app.css
#	public/css/build/overrides.css
#	public/css/dist/all.css
#	public/css/dist/skins/skin-black-dark.css
#	public/css/dist/skins/skin-black-dark.min.css
#	public/css/dist/skins/skin-blue-dark.css
#	public/css/dist/skins/skin-blue-dark.min.css
#	public/css/dist/skins/skin-green-dark.css
#	public/css/dist/skins/skin-green-dark.min.css
#	public/css/dist/skins/skin-orange-dark.css
#	public/css/dist/skins/skin-orange-dark.min.css
#	public/css/dist/skins/skin-purple-dark.css
#	public/css/dist/skins/skin-purple-dark.min.css
#	public/css/dist/skins/skin-red-dark.css
#	public/css/dist/skins/skin-red-dark.min.css
#	public/css/dist/skins/skin-yellow-dark.css
#	public/css/dist/skins/skin-yellow-dark.min.css
#	public/mix-manifest.json
2023-04-17 20:27:49 -07:00
snipe 9698c3b07b Updated dev assets
Signed-off-by: snipe <snipe@snipe.net>
2023-04-17 20:14:50 -07:00
snipe 3153013715 Fixed semicolon parse error from #12832
Signed-off-by: snipe <snipe@snipe.net>
2023-04-17 20:14:45 -07:00
snipe c12ac9912c Merge pull request #12832 from Godmartinz/fix_footer_space
Fixed footer space when customized
2023-04-17 20:11:15 -07:00
snipe 2b10357c4e Updated dev assets
Signed-off-by: snipe <snipe@snipe.net>
2023-04-17 19:06:27 -07:00
Marcus Moore f6cff90829 Migrate to new test settings interface 2023-04-17 17:31:12 -07:00
Marcus Moore 2d56675ade Merge branch 'develop' into bug/sc-15034
# Conflicts:
#	database/factories/SettingFactory.php
2023-04-17 17:22:55 -07:00
snipe c70cb36c80 Merge pull request #12828 from Godmartinz/bug/sc-20783
Fixed dark themes pagination and notification drop menu
2023-04-17 16:26:36 -07:00
Godfrey M 247f47ce69 adjusts button color 2023-04-17 15:29:53 -07:00
snipe 99cecee4b5 Merge branch 'develop' into features/adds_license_checkin_checkout_to_all_in_gui 2023-04-17 14:54:30 -07:00
Godfrey M aabd5e92a8 surrounding text aligns correctly 2023-04-17 12:44:06 -07:00
Godfrey M 247c881d87 add back casts 2023-04-17 12:10:54 -07:00
Godfrey M 1001b52c4f removes unncessary files 2023-04-17 12:01:09 -07:00
slong753 52dc99588e pushing for now, needs validation work 2023-04-17 13:57:48 -05:00
Godfrey M 0cca45d858 footer now uses flex 2023-04-17 11:57:35 -07:00
snipe b22cad9ced Merge pull request #12855 from koelle25/fixes/last_component_checkout
Allow checkout of available components down to zero stock (fixes #12854)
2023-04-17 09:49:14 -07:00
snipe 071a620144 Merge remote-tracking branch 'origin/develop' 2023-04-17 09:36:07 -07:00
snipe 920711dd16 Merge pull request #12857 from snipe/fixes/wtf_datetime_stuff
Remove start/end dates form casts array
2023-04-17 09:35:03 -07:00
snipe e0c53d8d09 Remove start/end dates form casts array
Signed-off-by: snipe <snipe@snipe.net>
2023-04-17 09:33:31 -07:00
Kevin Köllmann 04f3c4bf69 Fixed #12854: Allow checkout of available components down to zero stock 2023-04-17 11:45:11 +02:00
snipe a83991041a Better placement for errors
Signed-off-by: snipe <snipe@snipe.net>
2023-04-16 16:08:06 -07:00
snipe 0afaaa4a6b Added autoassign_licenses option to create admin
Signed-off-by: snipe <snipe@snipe.net>
2023-04-16 15:28:08 -07:00
snipe 16ab2bec06 Added sorting and searching on autoassign_licenses via user API
Signed-off-by: snipe <snipe@snipe.net>
2023-04-16 15:27:39 -07:00
snipe 4b66ca6ac5 Added method to bulk checkin (much simpler than checking out)
Signed-off-by: snipe <snipe@snipe.net>
2023-04-16 15:27:15 -07:00
snipe 844ad83431 Added method to bulk checkout license seats
Signed-off-by: snipe <snipe@snipe.net>
2023-04-16 15:26:59 -07:00
snipe 9833d861d4 Added autoassign_licenses tp bulk users conditional
Signed-off-by: snipe <snipe@snipe.net>
2023-04-16 15:26:33 -07:00
snipe 03cc55cb6a Set autoassign_licenses to false if unchecked
Signed-off-by: snipe <snipe@snipe.net>
2023-04-16 15:25:52 -07:00
snipe 6a94a2f515 Return true/false for autoassign_licenses in the API
Signed-off-by: snipe <snipe@snipe.net>
2023-04-16 15:25:26 -07:00
snipe f40bef8f9b Added autoassign_licenses to user importer
Signed-off-by: snipe <snipe@snipe.net>
2023-04-16 15:25:08 -07:00
snipe 6acce098c9 Added autoassign_licenses on user model
Signed-off-by: snipe <snipe@snipe.net>
2023-04-16 15:24:56 -07:00
snipe 73cf62e060 Added autoassign_licenses to presenter
Signed-off-by: snipe <snipe@snipe.net>
2023-04-16 15:24:00 -07:00
snipe dd78d2fc66 Added language strings
Signed-off-by: snipe <snipe@snipe.net>
2023-04-16 15:23:51 -07:00
snipe add9e561f9 Added buttons on license page, greyed out where appriate
Signed-off-by: snipe <snipe@snipe.net>
2023-04-16 15:23:42 -07:00
snipe ff9af7ea74 Added genetic modal partial
Signed-off-by: snipe <snipe@snipe.net>
2023-04-16 15:23:15 -07:00
snipe bc7c0aa80d Fixed clone tooltip
Signed-off-by: snipe <snipe@snipe.net>
2023-04-16 15:23:00 -07:00
snipe 73188df090 Added autoassign_licenses to bulk user edit
Signed-off-by: snipe <snipe@snipe.net>
2023-04-16 15:22:37 -07:00
snipe cf7f244942 Added (clarified?) edit autoassign_licenses in user edit
Signed-off-by: snipe <snipe@snipe.net>
2023-04-16 15:19:37 -07:00
snipe 06d46a4523 Indenting change for clarity
Signed-off-by: snipe <snipe@snipe.net>
2023-04-16 15:17:55 -07:00
snipe 8e5042418a Added buttons
Signed-off-by: snipe <snipe@snipe.net>
2023-04-16 12:30:32 -07:00
snipe 79ff6a8fc2 Disallow deleting in the API view if there are things checked out
Signed-off-by: snipe <snipe@snipe.net>
2023-04-16 12:30:23 -07:00
snipe 8183b8deba Added stub method
Signed-off-by: snipe <snipe@snipe.net>
2023-04-16 12:30:02 -07:00
snipe 0210ecde88 Include confirm modal
Signed-off-by: snipe <snipe@snipe.net>
2023-04-16 12:29:55 -07:00
snipe b2940f9915 Added confirm modal
Signed-off-by: snipe <snipe@snipe.net>
2023-04-16 12:29:48 -07:00
snipe b093e428b3 Merge remote-tracking branch 'origin/develop' 2023-04-16 08:54:38 -07:00
snipe 144a6f28ec Added intval
Signed-off-by: snipe <snipe@snipe.net>
2023-04-16 08:54:23 -07:00
snipe 65ac877918 Merge remote-tracking branch 'origin/develop' 2023-04-16 08:50:20 -07:00
snipe f50b958b63 Merge pull request #12848 from snipe/fixes/make_limit_into_singletons
Used a singleton to filter API limit value
2023-04-16 08:48:28 -07:00
snipe 64256351d8 Used a singleton to filter API limit value
Signed-off-by: snipe <snipe@snipe.net>
2023-04-16 08:46:39 -07:00
snipe 62edc0ab7d Merge remote-tracking branch 'origin/develop' 2023-04-16 08:02:44 -07:00
snipe 2c6d4d6b7f Merge pull request #12847 from snipe/features/moar_labels
Adds a few more auto-labels
2023-04-16 08:01:06 -07:00
snipe 2b11c96ce0 Adds a few more auto-labels
Signed-off-by: snipe <snipe@snipe.net>
2023-04-16 08:00:25 -07:00
snipe 78ec21acc4 Added location case
Signed-off-by: snipe <snipe@snipe.net>
2023-04-16 07:47:49 -07:00
snipe 5a1d03c1dc Added alias maps
Signed-off-by: snipe <snipe@snipe.net>
2023-04-16 07:47:42 -07:00
snipe a831a34594 New field mapping
Signed-off-by: snipe <snipe@snipe.net>
2023-04-16 07:47:26 -07:00
snipe bcf9188dcd Made default password longer
Signed-off-by: snipe <snipe@snipe.net>
2023-04-16 07:47:19 -07:00
snipe c149885ceb Skip the magical user creation if it’s a location
Signed-off-by: snipe <snipe@snipe.net>
2023-04-16 07:47:04 -07:00
snipe 1509672463 Added location importer
Signed-off-by: snipe <snipe@snipe.net>
2023-04-16 07:46:36 -07:00
snipe bceb0b8a47 Allowed slightly longer zip codes
Signed-off-by: snipe <snipe@snipe.net>
2023-04-16 07:46:29 -07:00
snipe 7534d27a03 Added CSV sample
Signed-off-by: snipe <snipe@snipe.net>
2023-04-16 07:46:18 -07:00
snipe 46cce0115e Merge remote-tracking branch 'origin/develop'
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	public/css/dist/all.css
#	public/css/dist/bootstrap-table.css
#	public/js/dist/bootstrap-table.js
#	public/mix-manifest.json
2023-04-16 05:46:26 -07:00
snipe 485f5f3a45 Merge pull request #12845 from snipe/security/update_bs_tables
Upgrade bootstrap-table from 1.20.2 to 1.21.3 (Formerly #12733)
2023-04-16 05:44:52 -07:00
snipe 21f5d39fa1 Upgrade bootstrap-table from 1.20.2 to 1.21.3 (Formerly #12733)
Signed-off-by: snipe <snipe@snipe.net>
2023-04-16 05:43:42 -07:00
snipe 21e78bee71 Merge remote-tracking branch 'origin/develop'
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	package-lock.json
#	public/js/dist/bootstrap-table.js
#	public/mix-manifest.json
2023-04-15 21:05:18 -07:00
snipe 2eeb7ddf58 Merge pull request #12844 from snipe/fixes/small_blade_parial_fixes
Small blade parial fixes
2023-04-15 21:04:35 -07:00
snipe 589f7fa183 Larger qty box
Signed-off-by: snipe <snipe@snipe.net>
2023-04-15 21:03:09 -07:00
snipe 9ff62c966e Check for $item (matters mostly in custom report blade)
Signed-off-by: snipe <snipe@snipe.net>
2023-04-15 21:03:00 -07:00
snipe 86b04c7294 Updated prod assets
Signed-off-by: snipe <snipe@snipe.net>
2023-04-15 20:50:36 -07:00
snipe 2d03ea943b Applied webpack change from master to develop
Signed-off-by: snipe <snipe@snipe.net>
2023-04-15 20:49:34 -07:00
snipe 20ab412e1e Updated dev assets
Signed-off-by: snipe <snipe@snipe.net>
2023-04-15 20:45:35 -07:00
snipe 513b95e8d7 Merge pull request #12768 from snipe/snyk-upgrade-291b556667d6ffe966495405775b3255
[Snyk] Upgrade tableexport.jquery.plugin from 1.26.0 to 1.27.0
2023-04-15 20:44:57 -07:00
snipe 50153717f6 Merge pull request #12798 from snipe/snyk-upgrade-cec198178187b64d2348f74ddc10c797
[Snyk] Upgrade webpack from 5.76.1 to 5.76.2
2023-04-15 20:36:48 -07:00
snipe 32030c4f71 Merge remote-tracking branch 'origin/develop' 2023-04-15 18:44:25 -07:00
snipe 955539807c Merge pull request #12830 from snipe/features/adds_supplier_id_to_components
Added supplier to components and consumables
2023-04-15 18:42:23 -07:00
snipe 8c09226b76 Merge pull request #12834 from marcusmoore/mxm/improve-test-setup
Introduced improved way to interact with settings in tests
2023-04-15 18:37:34 -07:00
snipe b73aed2b69 Merge remote-tracking branch 'origin/develop' 2023-04-15 18:30:21 -07:00
snipe b9a5a8a500 Merge pull request #12843 from snipe/fixes/temp_fix_seeder
Temp fix for the seeders
2023-04-15 18:30:00 -07:00
snipe 8ae14c43f3 This is a temp fix for the seeders
Signed-off-by: snipe <snipe@snipe.net>
2023-04-15 18:27:53 -07:00
snipe fc7f1f907d Fixed variable name
Signed-off-by: snipe <snipe@snipe.net>
2023-04-15 17:37:25 -07:00
snipe f6cfec1e49 Merge pull request #12842 from snipe/fixes/take_two_better_handling_limits
Use abs() instead of max
2023-04-15 17:33:12 -07:00
snipe 4cbb9c2409 Use abs() instead of max
Signed-off-by: snipe <snipe@snipe.net>
2023-04-15 17:28:25 -07:00
snipe a97b2d141d Merge pull request #12827 from snipe/fixes/tighter_handling_of_offset_and_limit
Better handling for weird data passed to the API via limit and offset
2023-04-15 16:52:33 -07:00
snipe f407a551da Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2023-04-15 16:48:07 -07:00
snipe 36665fde31 Merge pull request #12833 from svpernova09/bump-dockerfile-22-04-php81
Update Dockerfile to Ubuntu 22.04 and PHP 8.1
2023-04-14 17:16:42 -07:00
Joe Ferguson 785d2f3558 Update alpine Dockerfiles to PHP 8.1 and Snipe-IT v6.1.0 2023-04-14 13:35:36 -05:00
Joe Ferguson 1d8a4ca090 Update Dockerfile to Ubuntu 22.04 and PHP 8.1 2023-04-14 07:59:16 -05:00
Marcus Moore 473241edca Move initialization of settings to trait 2023-04-13 16:52:20 -07:00
Godfrey M 42f198ffed fixes footer space when customized 2023-04-13 12:24:59 -07:00
Godfrey M b16c062485 fixes partial 2023-04-13 12:05:59 -07:00
snipe b690ed97d5 Fixed unclosed parens in translation file
Signed-off-by: snipe <snipe@snipe.net>
2023-04-13 12:05:06 -07:00
Godfrey M ab67d903b5 adds multi select to custom report for companies 2023-04-13 12:02:11 -07:00
snipe 2fe7fcecdb Added case switch for sorting on suppliers
Signed-off-by: snipe <snipe@snipe.net>
2023-04-13 11:13:45 -07:00
snipe d2b3e251ad Added counters to API controllers
Signed-off-by: snipe <snipe@snipe.net>
2023-04-13 11:12:16 -07:00
snipe 07c0a1927b Added supplier id to controllers
Signed-off-by: snipe <snipe@snipe.net>
2023-04-13 11:12:01 -07:00
snipe ab7c75232b Added supplier to transformers
Signed-off-by: snipe <snipe@snipe.net>
2023-04-13 11:10:51 -07:00
snipe 6e183f2ced Added counters for consumables and components
Signed-off-by: snipe <snipe@snipe.net>
2023-04-13 11:10:32 -07:00
snipe 6097d534e9 Added eloquent model relationships
Signed-off-by: snipe <snipe@snipe.net>
2023-04-13 11:10:16 -07:00
snipe 3aac8bccd2 Added presenters for suppliers
Signed-off-by: snipe <snipe@snipe.net>
2023-04-13 11:09:59 -07:00
snipe e7c6771e73 Added supplier to components and consumables factories for seeding
Signed-off-by: snipe <snipe@snipe.net>
2023-04-13 11:07:22 -07:00
snipe 45142c6888 Migration to add supplier ID to components and consumables
Signed-off-by: snipe <snipe@snipe.net>
2023-04-13 11:06:49 -07:00
snipe 607ab3988a Added supplier to edit/creatre blade
Signed-off-by: snipe <snipe@snipe.net>
2023-04-13 11:06:07 -07:00
snipe b6d3f2827b Switched to standardized require check
Signed-off-by: snipe <snipe@snipe.net>
2023-04-13 11:05:52 -07:00
snipe 65bb0486d4 Changed blade to use standard required check
Signed-off-by: snipe <snipe@snipe.net>
2023-04-13 11:04:29 -07:00
snipe a40bad0972 Added consumables and components columns to supplier list
Signed-off-by: snipe <snipe@snipe.net>
2023-04-13 11:04:13 -07:00
snipe 6eed89df91 Added components and consumables tab to suppliers
Signed-off-by: snipe <snipe@snipe.net>
2023-04-13 11:03:26 -07:00
Godfrey M d476f0de3a forgot dark blue 2023-04-13 10:34:17 -07:00
Godfrey M bbb4032050 fixes rest of dark mode themes 2023-04-13 10:32:42 -07:00
Godfrey M b83daea265 fixes dark orange 2023-04-13 10:27:38 -07:00
Marcus Moore 7c95e45178 Introduce trait to conditionally interact with settings 2023-04-12 17:28:47 -07:00
Godfrey M 46ff738494 fixes the notification dropdown menu 2023-04-12 16:12:48 -07:00
akemidx 0a993b2aa1 added external link icon to warranty link 2023-04-12 18:52:21 -04:00
Godfrey M cbb25025d5 fixes pagination for rest of skins 2023-04-12 15:41:04 -07:00
Godfrey M f3d12351a6 fixes paginiation for black-dark 2023-04-12 15:23:56 -07:00
Godfrey M 2d27f0155a targeting paginiation 2023-04-12 15:06:06 -07:00
slong753 8b9aea8874 very much WIP, but dupe queries reduced
but i think this can be cleaned up a bit more
2023-04-12 14:46:48 -05:00
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 9a37273750 Merge remote-tracking branch 'origin/develop' 2023-04-12 08:28:50 -07:00
snipe 1a7201d3d9 Merge pull request #12826 from snipe/fixes/added_invalid_parse_to_dont_report
Added invalid parse to dontReport
2023-04-12 08:28:26 -07:00
snipe 74babfa081 Added maxlength="10"
Signed-off-by: snipe <snipe@snipe.net>
2023-04-12 08:26:36 -07:00
snipe 04f83d34ff Added withInput to carry over older fields
Signed-off-by: snipe <snipe@snipe.net>
2023-04-12 08:25:03 -07:00
snipe aac76d40fe Merge remote-tracking branch 'origin/develop' 2023-04-12 06:37:01 -07:00
snipe 14ec96cf45 Merge pull request #12825 from snipe/fixes/wrong_button_string_on_bulk_user_edit
Fixed #12822 - Missing translation on bulk edit user submit button
2023-04-12 06:36:39 -07:00
snipe 0f3702b0fc Fixed incorrect translation string for bulk user edit
Signed-off-by: snipe <snipe@snipe.net>
2023-04-12 06:35:28 -07:00
snipe 0e93a9229d Merge remote-tracking branch 'origin/develop' 2023-04-12 06:32:06 -07:00
snipe a119484277 Merge pull request #12824 from snipe/fixes/radio_button_submit_on_merge_users
Removed iCheck code from merge users script
2023-04-12 06:31:43 -07:00
snipe 89b031d64d Removed iCheck code from merge users script
Signed-off-by: snipe <snipe@snipe.net>
2023-04-12 06:30:52 -07:00
snipe 9ae9ea7f68 Merge remote-tracking branch 'origin/develop' 2023-04-12 04:36:30 -07:00
snipe d3d464e179 Improved commenting
Signed-off-by: snipe <snipe@snipe.net>
2023-04-12 04:36:05 -07:00
snipe 28e0891645 Merge remote-tracking branch 'origin/develop' 2023-04-11 23:36:59 -07:00
snipe c02bd54826 Merge pull request #12818 from snipe/fixes/better_error_handling_on_dates
Check for Carbon exception
2023-04-11 23:36:42 -07:00
snipe afd01869a5 Check for Carbon exception
Signed-off-by: snipe <snipe@snipe.net>
2023-04-11 23:35:41 -07:00
akemidx 2453913080 dynamic link w/ dynamic image 2023-04-11 14:53:44 -04:00
akemidx 71ff987e3c dynamic link w/ dynamic image 2023-04-11 14:32:11 -04:00
akemidx a65b8025b6 push for testing 2023-04-11 13:53:56 -04:00
akemidx 968701b971 starting to implant the str lower solution 2023-04-10 17:28:19 -04:00
snipe 22336da362 Merge remote-tracking branch 'origin/develop' 2023-04-09 14:08:03 -07:00
snipe 79a8effa25 Merge pull request #12810 from snipe/fixes/maintain_checkbox_state_on_user
Maintain activated state on editing a user
2023-04-09 14:07:41 -07:00
snipe 70ce0d9ee6 Maintain activated state on editing a user
Signed-off-by: snipe <snipe@snipe.net>
2023-04-09 14:06:29 -07:00
snipe b3fab6d47d Merge remote-tracking branch 'origin/develop' 2023-04-07 10:47:48 -07:00
snipe b886f57d92 Merge pull request #12807 from snipe/fixes/handle_arrays_on_validation_failure
Echo out the array values in withInput()
2023-04-07 10:47:15 -07:00
snipe 19d5d34ffb Echo out the array values in withInput()
Signed-off-by: snipe <snipe@snipe.net>
2023-04-07 10:16:35 -07:00
snipe b09b562f3a Merge remote-tracking branch 'origin/develop' 2023-04-07 09:46:02 -07:00
snipe 42eef7eb3f Merge pull request #12803 from snipe/fixes/small_component_fixes
Small component UI/validation/API fixes
2023-04-07 09:45:36 -07:00
snipe baf267e2e9 Small cleanups
Signed-off-by: snipe <snipe@snipe.net>
2023-04-07 09:45:16 -07:00
snipe cb76815e8b Removed if check on assets, since that’s already handled via validation
Signed-off-by: snipe <snipe@snipe.net>
2023-04-07 09:42:31 -07:00
snipe 42a60a9ccb Merge remote-tracking branch 'origin/develop'
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	config/version.php
2023-04-07 08:22:24 -07:00
snipe 734b888de4 Merge pull request #12804 from insert-waffle/remove-unnecessary-vulgar-text
Remove "FARTS" from bpay.blade.php
2023-04-07 08:19:40 -07:00
Jens Maes c42078ea4a Update bpay.blade.php
Removed FARTS from the file. This was shown in production on the master branch.
2023-04-07 10:15:34 +02:00
snipe 4c88c751ef Code cleanup, better validation
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 22:03:40 -07:00
snipe 358b0548fa Added string for translations
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 22:03:26 -07:00
snipe 43ad0f58b5 SLightly cleaner layout - still needs work
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 22:03:15 -07:00
snipe 0abb993600 General cleanup and standardization for component API
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 22:02:57 -07:00
snipe 87c7d1aaca Bumped hash
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 20:43:42 -07:00
snipe 1ee1cf1d78 Merge pull request #12802 from snipe/fixes/consumables_checkout_when_0_qty
Check for available quantity on consumables before checkout
2023-04-06 20:39:57 -07:00
snipe 4840046f44 Check for available quantity on consumables before checkout
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 20:38:02 -07:00
snipe 0414954d3e Merge pull request #12801 from snipe/translations/updated_for_v6.1.0
Translations/updated for v6.1.0
2023-04-06 19:58:41 -07:00
snipe 574b0184fc Updated Zulu
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:57:35 -07:00
snipe 9db5e328c9 Updated Chinese Traditional
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:57:28 -07:00
snipe 0a77216b6f Updated Chinese Traditional, Hong Kong
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:57:03 -07:00
snipe 44b4274a49 Updated Chinese Simplified
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:56:43 -07:00
snipe 7711540514 Updated Vietnamese
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:55:47 -07:00
snipe 4d7b2b5747 Updated Urdu (Pakistan)
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:55:06 -07:00
snipe 6f92144b96 Updated Ukrainian
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:54:41 -07:00
snipe 8446f456ab Updated Turkish
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:54:06 -07:00
snipe d5b4971371 Updated Tagalog
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:53:35 -07:00
snipe 0686e1e7c4 Updated Thai
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:52:36 -07:00
snipe 6143f28bb9 Updated Tamil
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:52:03 -07:00
snipe 0e2dd5d76c Updated Swedish
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:51:37 -07:00
snipe eae5e7b35d Updated Serbian (Latin)
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:51:15 -07:00
snipe 4f8dc54872 Updated Slovenian
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:50:34 -07:00
snipe 81129ed91f Updated Slovak
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:49:54 -07:00
snipe 48dff4681b Updated Sinhala
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:48:25 -07:00
snipe 40bb5bb4f0 Updated Russian
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:47:56 -07:00
snipe 51f1ad6693 Updated Romanian
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:46:22 -07:00
snipe ca49923371 Updated Portuguese, European
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:45:54 -07:00
snipe d9d3d11cc6 Updated Portuguese, Brazilan
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:45:42 -07:00
snipe b7537a73b2 Updated Polish
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:45:10 -07:00
snipe 98aa8623d3 Updated Norwegian
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:44:48 -07:00
snipe aa9420cbad Updated Dutch
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:44:15 -07:00
snipe 9b7ab63277 Updated Malay
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:43:38 -07:00
snipe d588b2905d Updated Mongolian
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:43:12 -07:00
snipe c176f3d030 Updated Malayalam
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:42:40 -07:00
snipe 173e2add88 Updated Macedonian
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:42:14 -07:00
snipe 359d8d0e08 Updated Maori
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:41:36 -07:00
snipe 2ea03f66a2 Updated Latvian
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:40:55 -07:00
snipe d2301dae63 Updated Lithuanian
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:40:21 -07:00
snipe e24a9ccf1c Updated Korean
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:39:35 -07:00
snipe 227d7e75a3 Updated Japanese
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:38:59 -07:00
snipe 8befc23178 Updated Inuktitut
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:38:17 -07:00
snipe 9eac3c2e64 Updated Italian
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:37:42 -07:00
snipe 4c220df181 Updated Icelandic
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:36:58 -07:00
snipe 0703d037d6 Updated Indonesian
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:35:48 -07:00
snipe 28498857c2 Updated Hungarian
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:35:12 -07:00
snipe 7c4e73d660 Updated Croatian
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:34:31 -07:00
snipe c42c9cc832 Updated Hebrew
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:33:41 -07:00
snipe 7cebbf48ee Updated Irish
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:32:55 -07:00
snipe 70745952b9 Updated French
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:32:12 -07:00
snipe 807509030c Updated Filipino
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:27:32 -07:00
snipe 0a673f4ffe Updated Finnish
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:27:01 -07:00
snipe f1caf69f05 Updated Persian
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:26:15 -07:00
snipe 86532746b1 Updated Estonian
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:25:35 -07:00
snipe 94035e5e4b Updated Spanish, Venezuela
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:24:19 -07:00
snipe 5a84a1d15c Updated Spanish, Mexico
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:23:41 -07:00
snipe 48c924e0b2 Updated Spanish, Spain
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:23:16 -07:00
snipe 54deaf18d1 Updated Spanish, Colombia
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:22:57 -07:00
snipe 4f3617d271 Updated Indonesian English
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:21:43 -07:00
snipe 096be6e095 Updated British English
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:21:33 -07:00
snipe 02601a95e0 Updated Greek
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:20:09 -07:00
snipe 70653419cd Updated German Informal
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:19:24 -07:00
snipe 8f258d8454 Updated German
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:18:50 -07:00
snipe 9f26a30256 Updated Danish
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:18:16 -07:00
snipe 0b392286ce Updated Welsh
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:17:33 -07:00
snipe 5f56b30d19 Updated Czech
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:16:42 -07:00
snipe ba7d8f1c07 Updated Catalan
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:15:38 -07:00
snipe e391c1322c Updated Bulgarian
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:14:50 -07:00
snipe f634640425 Updated Arabic
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:13:56 -07:00
snipe 4bcc1c6aa9 Updated Amharic
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:12:55 -07:00
snipe 88b98e6cf7 Updated Afrikaans
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:11:43 -07:00
snipe a9bb2f78cc Fixed borked English string
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 19:11:35 -07:00
snipe a8ca3ad2a9 Merge remote-tracking branch 'origin/develop' 2023-04-06 18:49:51 -07:00
Marcus Moore cd0796ddda Allow Settings to be chainable 2023-04-06 18:46:29 -07:00
snipe 38a2f535ad Merge pull request #12799 from snipe/features/bm_script
Added BM JS
2023-04-06 18:46:16 -07:00
snipe d120fd2a16 Merge remote-tracking branch 'origin/develop' 2023-04-06 18:42:22 -07:00
snipe 6b319bffff Merge pull request #12800 from snipe/fixes/accessories_checkout
Fixed accessories verifying that enough remain to be checked out
2023-04-06 18:42:01 -07:00
snipe ffdc0d76f7 Fixed accessories verifying that enough remain to be checked out
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 18:40:29 -07:00
Marcus Moore 9561b66613 Add return types and docblock 2023-04-06 17:58:53 -07:00
Marcus Moore 95f195046d Move cache flush to testing helper 2023-04-06 17:50:24 -07:00
Marcus Moore 52c733b31d Add ability to set provided settings 2023-04-06 17:48:23 -07:00
Marcus Moore 8ac4d3aeea Move to a static constructor 2023-04-06 17:42:15 -07:00
Marcus Moore bbfb6c338a Remove unused method 2023-04-06 17:28:16 -07:00
Marcus Moore f767cc082f Introduce improved way to interact with settings in tests 2023-04-06 17:27:18 -07:00
snipe 74b471bbad Check for more specifics in env vars
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 16:24:46 -07:00
snipe 6ff3745adf Added BM JS
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 16:19:33 -07:00
snipe 3d26fbd82f Merge remote-tracking branch 'origin/develop' 2023-04-06 15:13:13 -07:00
snipe 383d48fd9c Merge pull request #12787 from Godmartinz/accessory_unavailable_message
Added unavailable message to prevent over-checkout of Accessories
2023-04-06 15:05:18 -07:00
snipe c683233aa3 Updated production assets
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	public/css/build/app.css
#	public/css/build/overrides.css
#	public/css/dist/all.css
#	public/js/build/app.js
#	public/js/build/vendor.js
#	public/js/dist/all.js
#	public/mix-manifest.json
2023-04-06 15:00:38 -07:00
snipe bd4757ad7a Merge pull request #12779 from snipe/features/replace_icheck_with_only_css
Move from iCheck to pure CSS for radio and checkboxes
2023-04-06 14:58:33 -07:00
snipe 3d29748f7d Merge remote-tracking branch 'origin/develop' 2023-04-06 13:11:45 -07:00
Godfrey M 3d7c55deb3 removed an unncessary query 2023-04-06 13:06:05 -07:00
akemidx cc88a361ca commiting 2023-04-06 15:01:01 -04:00
Godfrey M 55943d8897 uses numRemaining now 2023-04-06 10:05:17 -07:00
snipe c1daac153b Updated string
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 09:17:47 -07:00
snipe 2a9f816bfe Prevent wrapping on buttons
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 09:04:56 -07:00
snipe 506021dbe3 Remove iCheck calls, fixed some bootstrap HTML
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 09:03:41 -07:00
snipe f90a6fed91 Downgraded error logging to debug
Signed-off-by: snipe <snipe@snipe.net>
2023-04-06 09:02:15 -07:00
snyk-bot 4c05da37c1 fix: upgrade webpack from 5.76.1 to 5.76.2
Snyk has created this PR to upgrade webpack from 5.76.1 to 5.76.2.

See this package in npm:
https://www.npmjs.com/package/webpack

See this project in Snyk:
https://app.snyk.io/org/snipe/project/3d53e1dd-b8bf-46b5-ba61-18ce26933166?utm_source=github&utm_medium=referral&page=upgrade-pr
2023-04-06 14:48:49 +00:00
snipe 39e6ca82bb Merge pull request #12793 from snipe/fixes/use_app_url_more_consistently
Fixed #12772 - use the APP_URL config more consistently
2023-04-05 16:48:45 -07:00
snipe 161999fbca Fixed #12772 - use the APP_URL config more consistently
Signed-off-by: snipe <snipe@snipe.net>
2023-04-05 16:05:40 -07:00
snipe 6aec73c720 Merge pull request #12792 from snipe/fixes/eol_size
Fixed  #12776 - larger EOL field
2023-04-05 16:00:49 -07:00
snipe 5e6a6a81d5 Fixed #12776 - larger EOL text
Signed-off-by: snipe <snipe@snipe.net>
2023-04-05 16:00:02 -07:00
snipe c24b398b6f Merge pull request #12790 from snipe/fixes/support_url
Updated support URL
2023-04-05 14:55:41 -07:00
snipe 752365aa85 Updated support URL
Signed-off-by: snipe <snipe@snipe.net>
2023-04-05 14:54:40 -07:00
snipe 4b4d4e98b6 Use enclosing span for HTML text in grid
Signed-off-by: snipe <snipe@snipe.net>
2023-04-05 14:10:57 -07:00
slong753 830e3e5594 cleanup 2023-04-05 15:27:28 -05:00
slong753 d56a4e7173 cleanup+formatting 2023-04-05 15:16:46 -05:00
snipe 9af2d0a6de Merge branch 'develop' into features/replace_icheck_with_only_css 2023-04-05 13:04:12 -07:00
snipe 2e45c4370c Merge pull request #12782 from marcusmoore/chore/update-crowdin-config
Update CrowdIn configuration to allow nested translations
2023-04-05 12:59:20 -07:00
Marcus Moore 5b4d5cadf4 Add tests for sending webhooks on asset and license seat checkin 2023-04-05 12:57:53 -07:00
Marcus Moore 3054d633b0 Improve comments and remove unused imports 2023-04-05 12:39:41 -07:00
Marcus Moore 3cc3662992 Send webhook notifications for accessory checkins when enabled 2023-04-05 12:36:24 -07:00
Marcus Moore 2187310abb Simplify test case names 2023-04-05 12:27:18 -07:00
Marcus Moore b41902976b Improve test class names 2023-04-05 12:23:11 -07:00
Marcus Moore 6df8f0f35c Merge branch 'develop' into bug/sc-15034 2023-04-05 11:49:53 -07:00
Godfrey M b038fe8f2e adds unavailable message to overcheckout 2023-04-05 10:00:39 -07:00
slong753 3929526a57 ok, this works but needs to be tested more 2023-04-04 18:57:51 -05:00
Marcus Moore 32351d0e48 Allow downloading nested CrowdIn translations 2023-04-04 15:35:31 -07:00
akemidx f5122b01b1 Mock Up of the Buttons 2023-04-04 15:51:04 -04:00
snipe ead5293ee0 Merge pull request #12765 from spencerrlongg/chore/sc-20230
Change protected $dates to casts
2023-04-04 01:29:24 -07:00
snipe b376181cef Merge pull request #12769 from marcusmoore/chore/publish-test-stubs
Publishes test stubs
2023-04-04 01:28:47 -07:00
snipe 723ef36608 Merge pull request #12781 from snipe/fixes/color-picker-fix
Color picker UI fix
2023-04-04 00:34:07 -07:00
snipe 55857c910a Color picker UI fix
Signed-off-by: snipe <snipe@snipe.net>
2023-04-04 00:33:05 -07:00
snipe 5919f3843d Small fixes to the color picker (sorry)
Signed-off-by: snipe <snipe@snipe.net>
2023-04-04 00:27:05 -07:00
snipe 6164e8b3fa Changed colors for disabled, removed dupe checkmark
Signed-off-by: snipe <snipe@snipe.net>
2023-04-03 23:53:57 -07:00
snipe 0e68b8e9f2 Small fixes for profile edits
Signed-off-by: snipe <snipe@snipe.net>
2023-04-03 23:06:09 -07:00
snipe 3bd87a2785 Removed iCheck
Signed-off-by: snipe <snipe@snipe.net>
2023-04-03 22:52:54 -07:00
snipe 5df34d0058 Diable SAML submit if in demo mode
Signed-off-by: snipe <snipe@snipe.net>
2023-04-03 22:40:25 -07:00
snipe 9a3e727390 Updated other form fields to use new label class, fixed HTML for accessibility
Signed-off-by: snipe <snipe@snipe.net>
2023-04-03 22:38:56 -07:00
snipe aca64dc088 Updated check groups for permissions to skip iCheck
Signed-off-by: snipe <snipe@snipe.net>
2023-04-03 22:38:24 -07:00
snipe 3473e24de5 Updated assets
Signed-off-by: snipe <snipe@snipe.net>
2023-04-03 22:36:23 -07:00
snipe 1af7cdb715 Wrapped the image delete into the existing image upload partial
Signed-off-by: snipe <snipe@snipe.net>
2023-04-03 22:35:55 -07:00
snipe 2c47b63e91 Small tweaks to overrides
Signed-off-by: snipe <snipe@snipe.net>
2023-04-03 19:37:07 -07:00
snipe a7787a6cdc Fixed string
Signed-off-by: snipe <snipe@snipe.net>
2023-04-03 19:20:58 -07:00
snipe 62c99d4e2e Added check all to user delete
Signed-off-by: snipe <snipe@snipe.net>
2023-04-03 19:19:28 -07:00
snipe 858f1c2d12 Updated audit with icheck, removed popover text - need a better solution with layout
Signed-off-by: snipe <snipe@snipe.net>
2023-04-03 19:19:12 -07:00
snipe 76b9608de3 Typo fix
Signed-off-by: snipe <snipe@snipe.net>
2023-04-03 19:18:40 -07:00
snipe 8b315a6502 Updated contrller to use trans_choice
Signed-off-by: snipe <snipe@snipe.net>
2023-04-03 18:55:09 -07:00
snipe 1ea813a1c5 Updated strings to trans_choice
Signed-off-by: snipe <snipe@snipe.net>
2023-04-03 18:54:59 -07:00
snipe a861672146 Standardized model bulk blades a little more
Signed-off-by: snipe <snipe@snipe.net>
2023-04-03 18:54:46 -07:00
snipe 146976975c Removed <wire:ignore> in model edit for default custom fields
Signed-off-by: snipe <snipe@snipe.net>
2023-04-03 17:38:34 -07:00
snipe 58b3369234 Requestable partial - removing icheck
Signed-off-by: snipe <snipe@snipe.net>
2023-04-03 17:38:12 -07:00
snipe 21448f6adf Model edit - removing icheck
Signed-off-by: snipe <snipe@snipe.net>
2023-04-03 17:38:02 -07:00
snipe 899b936152 Models bulk edit - removing icheck
Signed-off-by: snipe <snipe@snipe.net>
2023-04-03 17:37:49 -07:00
snipe 866ba36090 Hardware editing un-icheckification
Signed-off-by: snipe <snipe@snipe.net>
2023-04-03 17:37:34 -07:00
snipe 60d60be0ac Small style specification for notes partial field
Signed-off-by: snipe <snipe@snipe.net>
2023-04-03 17:37:16 -07:00
snipe 5ed9385685 Clearer tab name for user info
Signed-off-by: snipe <snipe@snipe.net>
2023-04-03 17:09:25 -07:00
snipe c05ee5db0e Built assets
Signed-off-by: snipe <snipe@snipe.net>
2023-04-03 17:08:54 -07:00
snipe c5d74ac27f Additional form CSS tweaks for disabled and unchecked
Signed-off-by: snipe <snipe@snipe.net>
2023-04-03 17:08:47 -07:00
snipe 9146850ffe Added string for emailing user credentials
Signed-off-by: snipe <snipe@snipe.net>
2023-04-03 17:08:31 -07:00
snipe 2c5ddca695 More jquery and form fixes for users
Signed-off-by: snipe <snipe@snipe.net>
2023-04-03 17:08:21 -07:00
slong753 29e3d202fe checking something, quick push 2023-04-03 17:54:31 -05:00
snipe 790f9c2fc4 Updated 2FA to non-icheck
Signed-off-by: snipe <snipe@snipe.net>
2023-04-03 15:38:52 -07:00
snipe b4df9eb586 More checkbox tweaks
Signed-off-by: snipe <snipe@snipe.net>
2023-04-03 15:33:21 -07:00
snipe 0d050e4016 Updated user edit page with with non-icheck toggles
Signed-off-by: snipe <snipe@snipe.net>
2023-04-03 14:55:12 -07:00
snipe 4035cd118e Handle the column selector in bs table styling
Signed-off-by: snipe <snipe@snipe.net>
2023-04-03 14:35:47 -07:00
snipe 5c89439ba3 Updated login page to use non-icheck
TODO: override that style for the labels
Signed-off-by: snipe <snipe@snipe.net>
2023-04-03 12:18:18 -07:00
snipe 85c0ddf475 Tweaked the col-md to use offset
Signed-off-by: snipe <snipe@snipe.net>
2023-04-03 12:17:49 -07:00
snipe 868615d5e7 Removed iCheck from snipeit.js and webpack
Signed-off-by: snipe <snipe@snipe.net>
2023-04-03 12:17:31 -07:00
snipe 5078b51d4d Removed temp disabled attributes
Signed-off-by: snipe <snipe@snipe.net>
2023-04-03 11:39:02 -07:00
snipe e066f033c8 First attempt at moving us away from iCheck
Signed-off-by: snipe <snipe@snipe.net>
2023-04-03 10:54:01 -07:00
snipe 2d9ff795e3 Add @mezzle as a contributor 2023-04-02 09:00:03 -07:00
Marcus Moore 524249d4d7 Implement tests for webhook notifications on accessory checkout 2023-03-30 16:58:16 -07:00
Marcus Moore 44e05eecbf Publish test stubs 2023-03-30 16:42:59 -07:00
Marcus Moore b2292db3c8 Implement tests for webhook notifications on consumable checkout 2023-03-30 16:40:53 -07:00
Marcus Moore aefc53cfcf Explicitly disable webhook settings in tests 2023-03-30 16:40:21 -07:00
Marcus Moore 621d8500eb Merge branch 'develop' into bug/sc-15034 2023-03-30 16:17:42 -07:00
snyk-bot 91c67c3116 fix: upgrade tableexport.jquery.plugin from 1.26.0 to 1.27.0
Snyk has created this PR to upgrade tableexport.jquery.plugin from 1.26.0 to 1.27.0.

See this package in npm:
https://www.npmjs.com/package/tableexport.jquery.plugin

See this project in Snyk:
https://app.snyk.io/org/snipe/project/3d53e1dd-b8bf-46b5-ba61-18ce26933166?utm_source=github&utm_medium=referral&page=upgrade-pr
2023-03-30 22:55:38 +00:00
Marcus Moore 134ab631d4 Add test to ensure notification is not sent for license checkouts if not enabled 2023-03-30 15:38:22 -07:00
Marcus Moore 158e1544cd Test the event instead of the checkout 2023-03-30 15:38:00 -07:00
snipe fcda478712 Merge remote-tracking branch 'origin/develop' 2023-03-30 14:51:23 -07:00
snipe 986c73982e Check if status is set
Signed-off-by: snipe <snipe@snipe.net>
2023-03-30 14:50:56 -07:00
snipe 080a4c823b Merge remote-tracking branch 'origin/develop' 2023-03-30 14:49:19 -07:00
snipe ed8535a197 Merge pull request #12767 from snipe/fixes/bulk_restore
Quick fix for bulk restore menu
2023-03-30 14:48:43 -07:00
snipe 1fc0a0f94d Quick fix for bulk restore menu
Signed-off-by: snipe <snipe@snipe.net>
2023-03-30 14:44:38 -07:00
snipe 048be49c14 Merge remote-tracking branch 'origin/develop' 2023-03-30 14:37:47 -07:00
snipe cfef9d8cca Merge pull request #12763 from inietov/fixes/call_to_member_function_licenses_on_null
Fixed Call to a Member Function Licenses() on null [sc-20606]
2023-03-30 14:20:13 -07:00
snipe dfa9c07217 Merge pull request #12760 from akemidx/apple_warranty_link_fix2
Updating Apple warranty link to match current Apple webpage
2023-03-30 12:47:09 -07:00
akemidx 0c38257f80 fixing one liner 2023-03-30 15:40:23 -04:00
snipe 9ca5285781 Merge pull request #12762 from spencerrlongg/feature/sc-20304
Bulk Restore from Deleted
2023-03-30 12:37:50 -07:00
slong753 0f72554a9f translations for messages 2023-03-30 13:57:18 -05:00
slong753 382d849ee1 added catch for no assets selected 2023-03-30 13:52:29 -05:00
slong753 b84eaaf61a translations done 2023-03-30 13:48:05 -05:00
slong753 8c1c0e81b6 rm deplicates 2023-03-30 13:31:58 -05:00
snipe b7c09042b0 Merge pull request #12758 from inietov/fixes/call_to_member_function_present_null
Fixed Call to a member function present() on null [sc-20594]
2023-03-30 11:01:38 -07:00
snipe 10c1e923dc Merge pull request #12764 from marcusmoore/fixes/importer-fix
Fixes potential unwanted overwrites in asset imports
2023-03-30 09:40:58 -07:00
slong753 e126a75f7a pretty sure this was it 2023-03-29 21:37:26 -05:00
Ivan Nieto Vivanco d10b7fd6af Use firstorfail on eloquent query to return error if asset is not found 2023-03-29 19:11:28 -06:00
slong753 d5d50264c3 fix permissions stuff + optional parameter 2023-03-29 19:53:04 -05:00
Ivan Nieto Vivanco d622dbb943 Revert the php codeblock and replace it with a ternary 2023-03-29 18:37:47 -06:00
snipe da940a6bcc Merge remote-tracking branch 'origin/develop' 2023-03-29 17:19:50 -07:00
Marcus Moore 6beb3b551a Fix typo 2023-03-29 17:01:24 -07:00
Marcus Moore 0998c70a92 Remove unneeded import 2023-03-29 16:59:26 -07:00
Marcus Moore 9f8b8f6cc1 Remove unneeded variable 2023-03-29 16:58:55 -07:00
slong753 d033733fc0 oops, remove a couple things 2023-03-29 18:30:39 -05:00
slong753 e4c76f454c this is good, just needs translations done in view 2023-03-29 18:24:56 -05:00
slong753 162b70d5a9 wireframed, needs a view and should work 2023-03-29 17:34:36 -05:00
Marcus Moore 863a346d6e Translate strings 2023-03-29 13:37:14 -07:00
Marcus Moore e05546d1fa Display helpful messages when importing assets 2023-03-29 13:23:45 -07:00
slong753 b0fa298d8f delete a couple things 2023-03-29 15:14:48 -05:00
slong753 65bbecd145 this all works - could use some eyes 2023-03-29 14:46:31 -05:00
akemidx 6bee4c1a75 Updating Apple warranty link to match current Apple webpage 2023-03-29 15:09:14 -04:00
Marcus Moore 4cbe683a1a Explicitly cast asset tag to string when querying 2023-03-29 11:28:04 -07:00
Marcus Moore 9cc74caa9e Add wire:model to import form checkboxes 2023-03-29 10:58:25 -07:00
Ivan Nieto Vivanco d7c531e1c7 Checks if user variable exist before using its properties 2023-03-29 10:33:15 -06:00
Dominik Both 3271c9dc9f Fix #8208, #8896, #8985, #9789 2023-03-29 09:56:34 +02:00
slong753 032ae4348e custom fields display, need to get saving
+some clean up
2023-03-28 21:45:31 -05:00
slong753 804a788a27 initial fetch working 2023-03-28 20:31:24 -05:00
snipe c9d1274edc Merge pull request #12753 from snipe/fixes/lang_for_group_not_found
Fixes/lang for group not found
2023-03-28 16:45:22 -07:00
snipe 32922e6461 Use corrected language string
Signed-off-by: snipe <snipe@snipe.net>
2023-03-28 16:39:52 -07:00
snipe 527c812d04 Use icon for group users header
Signed-off-by: snipe <snipe@snipe.net>
2023-03-28 16:39:41 -07:00
snipe b57b5e23d9 Merge pull request #12752 from inietov/fixes/attempt_to_read_property_on_null
Fixed ErrorException: Attempt to read property "rtd_location_id" on null [sc-20562]
2023-03-28 16:32:34 -07:00
snipe 94de9edce7 Merge pull request #12751 from snipe/features/added_snipeagent_link
Added link to SnipeAgent
2023-03-28 16:27:03 -07:00
snipe 88826c1115 Added link to SnipeAgent
Signed-off-by: snipe <snipe@snipe.net>
2023-03-28 16:26:27 -07:00
Ivan Nieto Vivanco 77d513f80b Assign target variable as the other checkout types 2023-03-28 17:25:57 -06:00
Ivan Nieto Vivanco d70b7dbf41 Checks if exist on API checkout 2023-03-28 16:12:48 -06:00
snipe 70764cc783 Merge remote-tracking branch 'origin/develop' 2023-03-28 14:27:14 -07:00
snipe 2306f30158 Updated author link to @Karpadiem
Signed-off-by: snipe <snipe@snipe.net>
2023-03-28 14:26:59 -07:00
snipe 99a05c6401 Merge remote-tracking branch 'origin/develop' 2023-03-28 13:43:24 -07:00
snipe 667a5a9274 Merge pull request #12750 from snipe/features/added_kandji_and_unifi_links
Added links to kandji2snipe and UnifiSnipeSync
2023-03-28 13:42:40 -07:00
snipe a0eb9dc735 Added links to kandji2snipe and UnifiSnipeSync
Signed-off-by: snipe <snipe@snipe.net>
2023-03-28 13:41:58 -07:00
snipe e03a961bcc Merge pull request #12747 from svpernova09/preflight-strings
Pre-Flight String fixes for step 2
2023-03-28 08:37:43 -07:00
Joe Ferguson 47e18db172 Fix next button string for Step 2 preflight 2023-03-28 10:30:56 -05:00
Joe Ferguson d667ae53ed Add missing strings to Step 2 preflight 2023-03-28 10:30:35 -05:00
snipe 03aadc4abf Merge remote-tracking branch 'origin/develop' 2023-03-28 07:20:22 -07:00
snipe 099173fb94 Merge pull request #12744 from snipe/fixes/12742_wrong_url_on_requestable_models
Use named route with params
2023-03-28 07:19:49 -07:00
snipe 09674c012c Use named route with params
Signed-off-by: snipe <snipe@snipe.net>
2023-03-28 07:18:45 -07:00
snipe c680274a92 Merge remote-tracking branch 'origin/develop' 2023-03-28 06:56:35 -07:00
snipe 52fd334745 Merge pull request #12743 from snipe/fixes/quieter_logging
Changed log level to debug vs info/error
2023-03-28 06:56:06 -07:00
snipe feef06e7bf Changed log level to debug vs info/error
Signed-off-by: snipe <snipe@snipe.net>
2023-03-28 06:54:41 -07:00
snipe d2daaf30eb Merge remote-tracking branch 'origin/develop'
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	config/version.php
2023-03-28 03:32:04 -07:00
snipe 6800098469 Bumped version for 6.1.0-pre
Signed-off-by: snipe <snipe@snipe.net>
2023-03-28 03:31:02 -07:00
Marcus Moore 2cbc6276f7 Implement test for license checkout notification 2023-03-27 14:09:31 -07:00
Marcus Moore 362d5b9fd4 Merge branch 'develop' into bug/sc-15034 2023-03-27 11:46:30 -07:00
snipe 468805bab5 Merge pull request #12732 from svpernova09/preflight-translation-string-fixes
User preflight fix translation strings w/ bad path
2023-03-27 10:43:13 -07:00
Joe Ferguson cd49f65c0b User preflight fix translation strings w/ bad path 2023-03-24 15:27:08 -05:00
snipe dcbd216e2c Merge remote-tracking branch 'origin/develop' 2023-03-24 08:29:22 -07:00
snipe 008ba83128 Merge pull request #12729 from snipe/fixes/file_importer_string
Fixed translation string for importer
2023-03-24 08:28:51 -07:00
snipe 697cb4fe6d Fixed translation string for importer
Signed-off-by: snipe <snipe@snipe.net>
2023-03-24 08:27:53 -07:00
snipe 8a395d63a1 Merge remote-tracking branch 'origin/develop' 2023-03-24 07:23:06 -07:00
snipe 4d1e28ad03 Merge pull request #12727 from snipe/fixes/add_json_to_mimes
Fixed #12641 - added JSON to mimes
2023-03-24 07:22:30 -07:00
snipe 47eccb665e Merge pull request #12728 from snipe/fixes/fixes_typo_in_category_list
Use single “accessory” translation
2023-03-24 07:19:59 -07:00
snipe 150a2b572e Use single “accessory” translation
Signed-off-by: snipe <snipe@snipe.net>
2023-03-24 07:14:02 -07:00
snipe 6bc0df73e8 Merge pull request #12661 from Godmartinz/gh12655_missing_translations
Adds translations for category types to index and edit of categories
2023-03-24 07:09:40 -07:00
snipe 16dcc2d3ed Fixed #12641 - add JSON to mimes
Signed-off-by: snipe <snipe@snipe.net>
2023-03-24 06:57:43 -07:00
snipe 43c286c61f Merge remote-tracking branch 'origin/develop' 2023-03-24 06:18:10 -07:00
snipe aa4bdd4eb3 Merge pull request #12726 from snipe/fixes/12724_custom_fields
Fixed #12724 - fieldset not saving on model
2023-03-24 06:17:42 -07:00
snipe e869b1fd53 Fixed #12724 - fieldset not saving on model
Signed-off-by: snipe <snipe@snipe.net>
2023-03-24 06:11:24 -07:00
snipe 13ad69ee75 Merge pull request #12713 from inietov/fixes/trying_access_array_offset_null
Fixed Trying to access array offset on value of type null [sc-20528]
2023-03-24 04:52:56 -07:00
snipe 642d1e9f36 Merge pull request #12720 from inietov/fixes/undefined_array_key_266
Fixed Undefined array key 266 rollbar 17086
2023-03-24 04:50:47 -07:00
snipe 3792d3fdd2 Merge pull request #12721 from marcusmoore/fixes/allow-migrating-sqlite
Fixes the migration of sqlite databases
2023-03-24 04:50:15 -07:00
Marcus Moore 317335e79f Allow the migration of sqlite databases 2023-03-23 17:40:03 -07:00
Marcus Moore fa69a580ab Start to scaffold license checkout notification test 2023-03-23 17:18:33 -07:00
Marcus Moore fc043a35d9 Fix checkouts for licenses 2023-03-23 17:03:48 -07:00
Marcus Moore 25e859c866 Simplify test case 2023-03-23 16:42:21 -07:00
Marcus Moore 2dcf4e3d16 Standardize on sending anonymous notifications for asset checkouts 2023-03-23 16:31:40 -07:00
Marcus Moore 1f664709ba Merge branch 'develop' into bug/sc-15034
# Conflicts:
#	app/Notifications/CheckoutAssetNotification.php
2023-03-23 13:04:40 -07:00
Ivan Nieto Vivanco fbb3684022 Add a condition to 'restart' the color index for the status pie chart 2023-03-23 12:43:02 -06:00
snipe b91e914a61 Merge remote-tracking branch 'origin/develop' 2023-03-23 10:55:58 -07:00
snipe fc3672c119 Merge pull request #12717 from marcusmoore/fixes/update-slack-property-names
Fixes calls to changed webhook properties names
2023-03-23 10:55:02 -07:00
Marcus Moore 9d2c4a4dee Update webhook message 2023-03-23 10:38:35 -07:00
Marcus Moore fe6295a5e4 Update slack_* properties to webhook_* 2023-03-22 14:43:00 -07:00
Ivan Nieto Vivanco aa8dfcf89f Added a ternary to avoid null offset in array 2023-03-22 13:48:23 -06:00
Marcus Moore b396f2bed3 Update test case names 2023-03-22 12:41:30 -07:00
Marcus Moore 28ced46b9d Clean up test code 2023-03-22 12:38:14 -07:00
Marcus Moore 66224765ea Use factory state for webhook settings 2023-03-22 12:31:47 -07:00
Marcus Moore 9c4a3ce56a Update slack_endpoint to webhook_endpoint in test and notification 2023-03-22 12:27:36 -07:00
Marcus Moore f6d0dd0f93 Merge branch 'develop' into bug/sc-15034 2023-03-22 11:58:47 -07:00
Marcus Moore e303aeadd1 Fix test name 2023-03-22 11:56:54 -07:00
snipe e8e1ada776 Merge pull request #12669 from akemidx/feature/sc-20178
#20178: Added Dell and Lenovo to warranty link function
2023-03-22 00:54:40 -07:00
snipe 58ea1592bb Merge remote-tracking branch 'origin/develop'
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	public/js/build/app.js
#	public/js/dist/all.js
#	public/mix-manifest.json
#	resources/views/livewire/slack-settings-form.blade.php
2023-03-22 00:26:15 -07:00
snipe f3785acf4d Merge pull request #12710 from snipe/localization/fixing_a_few_more_hardcoded_strings
Handled a few more hard-coded strings
2023-03-22 00:22:06 -07:00
snipe 545d023a18 Handled a few more hard-coded strings
Signed-off-by: snipe <snipe@snipe.net>
2023-03-21 23:56:07 -07:00
snipe 473211397f Merge pull request #12708 from uberbrady/livewire_importer_no_subcomponent
Livewire importer without subcomponent
2023-03-21 23:07:04 -07:00
snipe e28d4fa588 Merge pull request #12709 from snipe/fixes/null_location_in_bulk_users
Ability to remove user location from users
2023-03-21 23:04:31 -07:00
snipe e08327be95 Ability to remove user location from users
Rework of #9677 - sorry @godmartinez - I suck :(

Signed-off-by: snipe <snipe@snipe.net>
2023-03-21 23:03:57 -07:00
snipe 418ce75a9f Merge pull request #11431 from ntbutler-nbcs/develop
[Fix / Minor Change] Asset checkinbytag now consistent with existingAPI
2023-03-21 22:40:21 -07:00
Brady Wetherington 6fe520a55d Hooked various the contents of the components together 2023-03-21 22:26:32 -07:00
snipe 0418d390f0 Corrected width to 100%
I should not be allowed to touch computers

Signed-off-by: snipe <snipe@snipe.net>
2023-03-21 22:25:15 -07:00
snipe b3d5bb75a3 Apply master patch to develop because I am an idiot on the wrong branch
Signed-off-by: snipe <snipe@snipe.net>
2023-03-21 22:23:09 -07:00
snipe 5346ebba94 Make select2 list in slack settings not searchable
Signed-off-by: snipe <snipe@snipe.net>
2023-03-21 22:21:21 -07:00
snipe 6c2c36469a Merge remote-tracking branch 'origin/develop' 2023-03-21 22:18:53 -07:00
snipe 1fa9f80c03 Correctly disable the select2 in demo mode
Signed-off-by: snipe <snipe@snipe.net>
2023-03-21 22:18:42 -07:00
snipe 4efac7827b Trying other save method, I guess?
Signed-off-by: snipe <snipe@snipe.net>
2023-03-21 22:10:30 -07:00
snipe b45dc09f57 Merge pull request #12707 from snipe/fixes/fixed_migration_for_demo
Fixes back-in-time Slack v slack migration
2023-03-21 22:01:17 -07:00
snipe 76425ca2a5 Fixes back-in-time Slack v slack migration
Signed-off-by: snipe <snipe@snipe.net>
2023-03-21 21:59:17 -07:00
snipe e609130291 Merge pull request #12706 from snipe/fixes/static_helper
Forgot the static method declaration - derp
2023-03-21 21:21:56 -07:00
snipe 41eb2464e2 Forgot the static method declaration - derp
Signed-off-by: snipe <snipe@snipe.net>
2023-03-21 21:21:01 -07:00
snipe 8aec28fad6 Merge remote-tracking branch 'origin/develop' 2023-03-21 21:14:06 -07:00
snipe e55fc4d047 Merge pull request #12705 from snipe/fixes/webhook_ui
Slack webhook UI tweaks, added select2
2023-03-21 21:11:14 -07:00
snipe e40762cf7f Small anal-retentive spacing/indenting tweaks
Signed-off-by: snipe <snipe@snipe.net>
2023-03-21 21:00:43 -07:00
snipe 2d3ddd1c7a Fixed default value for webhook_selected
Signed-off-by: snipe <snipe@snipe.net>
2023-03-21 20:56:08 -07:00
snipe 637438ccf6 Added select2 to slack settings
Signed-off-by: snipe <snipe@snipe.net>
2023-03-21 20:00:11 -07:00
snipe 647f47cdfe Check for demo mode in the clear method for the controller
Signed-off-by: snipe <snipe@snipe.net>
2023-03-21 19:27:05 -07:00
snipe a14d1b981d Switched singleton to static helper method
Signed-off-by: snipe <snipe@snipe.net>
2023-03-21 19:22:18 -07:00
snipe 5217141dfb Yuck, but added helper function to return the demo mode form warning
Signed-off-by: snipe <snipe@snipe.net>
2023-03-21 18:59:34 -07:00
snipe b28a25f544 Normalize the flash session to the way we do it elsewhere
Signed-off-by: snipe <snipe@snipe.net>
2023-03-21 18:59:18 -07:00
snipe d55ae44638 Helper method to make it easier (shorter) to determine if the app is in demo mode
Signed-off-by: snipe <snipe@snipe.net>
2023-03-21 18:59:03 -07:00
snipe f29e813332 Translated “Clear & Save”
Signed-off-by: snipe <snipe@snipe.net>
2023-03-21 18:58:35 -07:00
snipe d883084830 Fixed some funky HTML tags
Signed-off-by: snipe <snipe@snipe.net>
2023-03-21 18:58:26 -07:00
snipe 658252125e Added new partial for the form inline “demo mode”
Signed-off-by: snipe <snipe@snipe.net>
2023-03-21 18:57:27 -07:00
Marcus Moore 315f5231cd Send slack notification for check outs to assets and locations 2023-03-21 17:03:51 -07:00
snipe 35bef6625a Merge pull request #12703 from Godmartinz/webhook_clean_up
adds clear and save button, save button updates accordingly
2023-03-21 17:02:33 -07:00
snipe 342b399191 Merge pull request #12700 from marcusmoore/fixes/purify-factories
Purifies model factories
2023-03-21 16:52:30 -07:00
Godfrey M 2754277068 adds csrf token and missing divs 2023-03-21 16:12:46 -07:00
snipe 4cc29b76f0 Merge remote-tracking branch 'origin/develop' 2023-03-21 16:07:03 -07:00
snipe 7059a57be1 Merge pull request #12704 from snipe/features/next_audit_date
Added next audit date override in bulk asset edit
2023-03-21 16:02:37 -07:00
snipe c229d69cec Added next audit date override in bulk asset edit
Signed-off-by: snipe <snipe@snipe.net>
2023-03-21 16:01:41 -07:00
Godfrey M 3c28242a2e save button updates accordingly 2023-03-21 15:53:09 -07:00
snipe c41aa8ac7f Merge pull request #12701 from snipe/features/add_default_location_to_maintenance_report
Fixed #12682 - add default location to maintenance report
2023-03-21 13:55:09 -07:00
snipe ecb11c3a12 Fixed #12682 - add default location to maintenance report
Signed-off-by: snipe <snipe@snipe.net>
2023-03-21 13:52:21 -07:00
snipe 4f8542b71b Merge pull request #12680 from akemidx/clone_accessories
Clone accessories
2023-03-21 13:37:04 -07:00
akemidx bb7b655fd2 translating screen reader lines 2023-03-21 16:02:34 -04:00
akemidx 3134279a95 small edits 2023-03-21 15:48:53 -04:00
Marcus Moore 751abe1438 Re-add asset factory states 2023-03-21 09:54:55 -07:00
Marcus Moore d214bd0b06 Remove temporary command 2023-03-20 16:41:33 -07:00
Marcus Moore 3b16a65988 Merge branch 'develop' into fixes/purify-factories 2023-03-20 16:24:35 -07:00
Marcus Moore 918239961a Add simple test case for assets 2023-03-20 15:47:57 -07:00
Marcus Moore 272cc1adac Skip creating user when creating a setting since it isn't needed 2023-03-20 15:33:40 -07:00
Marcus Moore 16e3416225 Update test case 2023-03-20 14:27:45 -07:00
snipe 8012c966b0 Merge pull request #12696 from snipe/dependabot/github_actions/docker/build-push-action-4
Bump docker/build-push-action from 3 to 4
2023-03-20 14:19:44 -07:00
Marcus Moore a0e547c7fb Remove some unused imports 2023-03-20 14:18:59 -07:00
Marcus Moore 44a91f0a2b Seed license checkouts 2023-03-20 14:18:54 -07:00
dependabot[bot] 4537ab3d54 Bump docker/build-push-action from 3 to 4
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 3 to 4.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-20 21:18:50 +00:00
snipe 05b4170116 Merge pull request #12694 from uberbrady/config_cachable_if_no_rollbar
Fixed #12671: Re-enable config:cache when there's no Rollbar
2023-03-20 14:17:53 -07:00
Marcus Moore 92e0c59f89 Fix typo in Keyboard accessory name 2023-03-20 12:01:39 -07:00
Marcus Moore 1bad8e1fc2 Remove outdated comments 2023-03-20 11:42:15 -07:00
Marcus Moore 1fd574779b Remove unneeded or outdated comments and update imports 2023-03-20 11:39:27 -07:00
Marcus Moore a37d69fcf1 Replace remaining user_ids in factories 2023-03-20 11:19:34 -07:00
Brady Wetherington 3a4ca5acad Re-enable config:cache *only* if there's no Rollbar 2023-03-18 21:07:00 -07:00
Brady Wetherington 704a2ad858 WIP: trying to merge two LW components into one, not working yet 2023-03-18 20:31:56 -07:00
snipe 3a30f04b51 Merge remote-tracking branch 'origin/develop' 2023-03-18 12:00:42 -07:00
snipe f2a3c2a349 Merge pull request #12693 from snipe/fixes/use_statements
Updates the Gate “use” statement to be more specific
2023-03-18 12:00:23 -07:00
snipe f9e190eb32 Updates the Gate “use” statement to be more specific
Signed-off-by: snipe <snipe@snipe.net>
2023-03-18 11:58:09 -07:00
snipe de6b663833 Merge pull request #12692 from snipe/fixes/small_group_api_fixes
Corrected gates, added fillable
2023-03-18 11:56:15 -07:00
snipe 8dd3ae8a37 Corrected gates, added fillable
Signed-off-by: snipe <snipe@snipe.net>
2023-03-18 11:53:20 -07:00
snipe 03b4a87a65 Merge remote-tracking branch 'origin/develop' 2023-03-18 00:16:34 -07:00
snipe c7f4a93c17 Merge pull request #12691 from snipe/fixes/small_cleanup_for_bulk_delete_checkin
Small cleanup for bulk delete checkin
2023-03-18 00:16:15 -07:00
snipe 071a642509 Changed phrasing in translatons
Signed-off-by: snipe <snipe@snipe.net>
2023-03-18 00:15:28 -07:00
snipe e39a75f2cc Fixed min width on select2 bulk menus
Signed-off-by: snipe <snipe@snipe.net>
2023-03-18 00:14:57 -07:00
snipe ea4a37d8ef Fixed cancel button alignment
Signed-off-by: snipe <snipe@snipe.net>
2023-03-18 00:14:09 -07:00
snipe d7363a41c8 Merge remote-tracking branch 'origin/develop' 2023-03-17 17:30:32 -07:00
snipe 789c4b4df8 Merge pull request #12690 from snipe/features/more_merge_user_olish
More merge-user polishing
2023-03-17 17:29:12 -07:00
snipe 12a2d8ad49 Fixed admin ID
Signed-off-by: snipe <snipe@snipe.net>
2023-03-17 17:03:10 -07:00
snipe e47fc9527b Updated language
Signed-off-by: snipe <snipe@snipe.net>
2023-03-17 16:50:02 -07:00
snipe 820ae09a6f Reworked the layout of the confirm merge form a little
Signed-off-by: snipe <snipe@snipe.net>
2023-03-17 16:42:41 -07:00
snipe fb54a21e12 Added strings
Signed-off-by: snipe <snipe@snipe.net>
2023-03-17 16:42:22 -07:00
snipe b39fa1d987 Added merge icon
Signed-off-by: snipe <snipe@snipe.net>
2023-03-17 16:42:17 -07:00
snipe 28cc8f9d69 Nicer user history display
Signed-off-by: snipe <snipe@snipe.net>
2023-03-17 16:41:43 -07:00
snipe a54e50961e Added event and listener
Signed-off-by: snipe <snipe@snipe.net>
2023-03-17 16:41:33 -07:00
snipe 82dc57aa18 Renamed some variables, invoked the event listener
Signed-off-by: snipe <snipe@snipe.net>
2023-03-17 16:24:58 -07:00
snipe 9ac4efb912 Better commenting
Signed-off-by: snipe <snipe@snipe.net>
2023-03-17 16:24:38 -07:00
snipe a4e6b3c022 Merge remote-tracking branch 'origin/develop' 2023-03-17 02:48:51 -07:00
snipe c752e3bb86 Fixed divs
Signed-off-by: snipe <snipe@snipe.net>
2023-03-17 02:48:41 -07:00
snipe 934f43e104 Merge remote-tracking branch 'origin/develop' 2023-03-17 02:45:04 -07:00
snipe 1a8622dc3b Merge pull request #12689 from snipe/features/add_password_lock_and_use_new_strings
Features/add password lock and use new strings
2023-03-17 02:44:37 -07:00
snipe e557f03cc2 Disable submit if app is locked
Signed-off-by: snipe <snipe@snipe.net>
2023-03-17 02:43:33 -07:00
snipe 30cf7eb750 Disallow action in demo mode
Signed-off-by: snipe <snipe@snipe.net>
2023-03-17 02:42:50 -07:00
snipe ccdd6ef5e0 Merge remote-tracking branch 'origin/develop' 2023-03-16 23:14:47 -07:00
snipe 13a02ff241 Merge pull request #12687 from snipe/features/nicer_ui_for_merge
Made the table wider, used icons to compact space
2023-03-16 23:14:25 -07:00
snipe c93096b767 Made the table wider, used icons to compact space
Signed-off-by: snipe <snipe@snipe.net>
2023-03-16 23:13:05 -07:00
snipe 94a275f239 Merge remote-tracking branch 'origin/develop' 2023-03-16 22:50:11 -07:00
snipe d8d7ed4465 Merge pull request #12686 from snipe/features/added_email_and_username_to_merge_confirm
Added email and username to merge user confirmation screen
2023-03-16 22:49:54 -07:00
snipe 736777e1e6 Added email and username to merge user confirmation screen
Signed-off-by: snipe <snipe@snipe.net>
2023-03-16 22:48:20 -07:00
Marcus Moore 3849bb838d Make a few more factories a bit more pure 2023-03-16 18:29:51 -07:00
snipe 0ef8aba36f Merge remote-tracking branch 'origin/develop' 2023-03-16 18:20:57 -07:00
snipe f566a71658 Merge pull request #12685 from snipe/features/merge_users
Added user merge
2023-03-16 18:20:24 -07:00
snipe 0dd11575c5 Added merge controller
Signed-off-by: snipe <snipe@snipe.net>
2023-03-16 18:19:16 -07:00
snipe d3d26cb988 Added translations
Signed-off-by: snipe <snipe@snipe.net>
2023-03-16 18:19:03 -07:00
snipe 07fbbf5f7f Added merge to user menu
Signed-off-by: snipe <snipe@snipe.net>
2023-03-16 18:18:54 -07:00
snipe 0dfb51f642 User merge blade
Signed-off-by: snipe <snipe@snipe.net>
2023-03-16 18:18:32 -07:00
snipe 853e809ff8 Added route
Signed-off-by: snipe <snipe@snipe.net>
2023-03-16 18:18:26 -07:00
Marcus Moore 605f214597 Add properties necessary for factories to be called in isolation 2023-03-16 17:08:18 -07:00
Marcus Moore d9c1a548f1 Update deprecated faker calls 2023-03-16 17:07:46 -07:00
Marcus Moore 582c3b987b Update some faker calls 2023-03-16 16:38:21 -07:00
snipe ffd9bbd7c6 Merge remote-tracking branch 'origin/develop' 2023-03-16 16:27:41 -07:00
snipe ffb87a0a87 Merge pull request #12684 from snipe/features/added_console_command_to_normalize_names
Added console command to normalize capitalization on names
2023-03-16 16:24:33 -07:00
snipe 8f04342fc2 Added console command to normalize capitalization on names
Signed-off-by: snipe <snipe@snipe.net>
2023-03-16 16:23:52 -07:00
snipe d6434fa55a Merge pull request #12683 from snipe/fixes/additional_sort
Fixes/additional sort
2023-03-16 16:08:51 -07:00
snipe b374834999 Added extra order by switch for first_name and last_name
Signed-off-by: snipe <snipe@snipe.net>
2023-03-16 16:07:51 -07:00
snipe 5e4455f042 Deleted duplicate statement
Signed-off-by: snipe <snipe@snipe.net>
2023-03-16 16:07:36 -07:00
Marcus Moore f47a28f790 Actually remove unused methods 2023-03-16 15:40:16 -07:00
Marcus Moore ca677038b0 Remove unused methods 2023-03-16 15:39:02 -07:00
Marcus Moore a50ddb4a5d Improve actionlog factory and seeder 2023-03-16 15:25:23 -07:00
Marcus Moore daf6e9fa4b Seed assets with randomized locations 2023-03-16 14:23:40 -07:00
Marcus Moore 31630e3677 Seed licenses with categories 2023-03-16 13:47:02 -07:00
Marcus Moore 2f0f9586b1 Remove default category relationship from license factory 2023-03-16 13:46:30 -07:00
Marcus Moore a98cc01766 Seed users with departments 2023-03-16 13:25:35 -07:00
Marcus Moore 345946d6d4 Remove default department relationship from user factory 2023-03-16 13:25:02 -07:00
Marcus Moore 76861c0c30 Remove hard-coded manager_id in factory 2023-03-16 12:46:47 -07:00
Marcus Moore 7062b0acaa Remove hard-coded supplier_id in factories 2023-03-16 12:41:34 -07:00
Marcus Moore 0ec885bf18 Remove hard-coded fieldset_id in factories 2023-03-15 18:49:21 -07:00
Marcus Moore dfd6cf0d29 Improve factories for location relationships 2023-03-15 18:31:08 -07:00
snipe b64d7e38f2 Merge pull request #12679 from snipe/bug/sc-20451
Handle already-deleted license files more gracefully
2023-03-15 16:26:15 -07:00
Godfrey M 371e142bae removes unnecessary function 2023-03-15 15:57:45 -07:00
Marcus Moore b944945377 Remove hard-coded company_id in factories and update seeders 2023-03-15 14:12:34 -07:00
akemidx a8e2f72e25 accessory cloning, WITHOUT copying over the image. 2023-03-15 16:55:24 -04:00
snipe e9601bcf13 Handle already-deleted license files more gracefully
Signed-off-by: snipe <snipe@snipe.net>
2023-03-15 13:05:51 -07:00
snipe b89dcfbb8e Merge remote-tracking branch 'origin/develop' 2023-03-15 12:55:55 -07:00
akemidx 0909d94c8f actually added the icons haha 2023-03-15 15:07:07 -04:00
akemidx 68094b23b9 moved dell and levono icons to local machine 2023-03-15 15:02:33 -04:00
snipe fdacd5d5b5 Merge pull request #12636 from akemidx/feature/sc-20330/date-on-all-assigned-pdf
Datestamp on "Print All Assigned" generated form
2023-03-15 11:31:52 -07:00
akemidx f38f6f57ae fixed localization and formatting. simplified code to remove php snippet 2023-03-15 14:00:29 -04:00
akemidx a3353b8496 committing 2023-03-15 13:48:22 -04:00
snipe f463c02783 Merge remote-tracking branch 'origin/develop' 2023-03-14 19:56:26 -07:00
snipe 08e09a3215 Merge pull request #12675 from snipe/security/webpack_upgrade
Updated webpack
2023-03-14 19:55:42 -07:00
snipe 039a5dde7d Updated webpack
Signed-off-by: snipe <snipe@snipe.net>
2023-03-14 19:54:58 -07:00
snipe 3b3bdb6535 Merge remote-tracking branch 'origin/develop' 2023-03-14 19:03:59 -07:00
snipe 1968aebf78 Merge pull request #12674 from snipe/fixes/translation_variable_for_slack
Fixed missing variable in Slack hook test
2023-03-14 19:03:42 -07:00
snipe a0617edaf0 Fixed missing variable in Slack hook test
Signed-off-by: snipe <snipe@snipe.net>
2023-03-14 19:02:38 -07:00
snipe 723e4ebd15 Merge remote-tracking branch 'origin/develop' 2023-03-14 18:55:07 -07:00
Marcus Moore fb789eb048 Remove hard-coded depreciation_id in factories 2023-03-14 17:51:20 -07:00
snipe 4c66267f3b Merge pull request #12668 from inietov/fixes/undefined_array_key_0
Fixed ErrorException: Undefined array key 0 [sc-20424]
2023-03-14 17:10:04 -07:00
Marcus Moore f7577bff52 Merge branch 'develop' into fixes/purify-factories 2023-03-14 17:09:30 -07:00
snipe 322fd76353 Merge pull request #12664 from Godmartinz/The_final_lowercase
The final lowercase in webhooks
2023-03-14 17:09:20 -07:00
snipe c12d261fc8 Merge pull request #12673 from marcusmoore/fixes/fix-component-factory
Fixed Component factory
2023-03-14 17:05:38 -07:00
snipe a991bdd136 Merge pull request #12672 from inietov/fixes/consumable_factory_seeder
Fixed Consumable Factory Seeder
2023-03-14 17:04:33 -07:00
Marcus Moore 9cd8460e1e Add proper date format to purchase date in the component factory 2023-03-14 17:02:45 -07:00
Marcus Moore 72a61783a3 Inline two relationships in asset maintenance factory 2023-03-14 14:59:34 -07:00
snipe f0d05a7461 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2023-03-14 14:34:11 -07:00
snipe 88624ff2c0 Add @marcusmoore as a contributor 2023-03-14 14:34:03 -07:00
snipe f71ee699f4 Add @spencerrlongg as a contributor 2023-03-14 14:33:31 -07:00
snipe ce83d3aec1 Merge pull request #12670 from spencerrlongg/bug/sc-20437
Catch Duplicate Headers in Asset History Import
2023-03-14 14:32:34 -07:00
slong753 60b70a4074 catch and redirect back with error 2023-03-14 16:07:09 -05:00
Marcus Moore 1ff094dd47 Remove hard-coded model_id in asset factory 2023-03-14 13:56:25 -07:00
Marcus Moore ef8007a890 Remove hard-coded status_id in asset factory 2023-03-14 13:24:50 -07:00
akemidx d50a5d1880 dell and lenovo icons/links added 2023-03-14 16:04:03 -04:00
Marcus Moore a2efe3fa67 Remove hard-coded category_id in factories 2023-03-14 12:50:02 -07:00
akemidx a9782b7e00 testing links 2023-03-14 15:26:44 -04:00
Marcus Moore 4c4101fe64 Fix key name 2023-03-14 12:04:31 -07:00
akemidx 9c5ee060d3 WIP string/int error 2023-03-14 15:01:56 -04:00
Marcus Moore 7cf424b914 Remove hard-coded manufacturer_id in factories 2023-03-14 12:01:23 -07:00
Marcus Moore e8ff7cc09c Remove hard-coded user_id in factories 2023-03-14 11:34:58 -07:00
snipe dfd9fcc5e0 Merge pull request #12599 from inietov/fixes/unknown_column_0_in_field_list
Fixed Column not found: 1054 Unknown column '0' in 'field list' [sc-20004]
2023-03-14 09:51:42 -07:00
snipe b83980299a Merge pull request #12667 from snipe/fixes/small_livewire_ui_fixed
Small UI tweaks
2023-03-14 09:47:45 -07:00
snipe 5a709a83e7 Small UI tweaks
Signed-off-by: snipe <snipe@snipe.net>
2023-03-14 09:38:30 -07:00
Ivan Nieto Vivanco 66bb897ac4 Fix format to purchase date 2023-03-14 02:55:20 -06:00
Ivan Nieto Vivanco 67471a3a77 Evaluate if the collection is empty before access the array index 2023-03-13 21:44:06 -06:00
Marcus Moore adba450b40 Remove some hard-coded ids in factories 2023-03-13 17:27:06 -07:00
snipe 7acf449ed3 Merge pull request #12665 from snipe/fixes/fixed_migration_for_smaller_chunking
Removed loading and reduced chunking to 10
2023-03-13 17:23:19 -07:00
Godfrey M 955d8313b2 the final lowercase 2023-03-13 17:14:02 -07:00
snipe 1b9c3c93ad Removed loading and reduced chunking to 10
Signed-off-by: snipe <snipe@snipe.net>
2023-03-13 17:12:51 -07:00
snipe a2667a7520 Merge pull request #12663 from Godmartinz/webhook_tweaks
fixes webhook variables to lowercase
2023-03-13 16:55:32 -07:00
Marcus Moore 099ec3f550 Remove creation of category within category factory state 2023-03-13 16:45:43 -07:00
Marcus Moore 6e6a021928 Add temporary command to display model counts 2023-03-13 16:44:47 -07:00
Godfrey M 1bd37b49e9 adds translations for webhook names 2023-03-13 16:13:02 -07:00
Marcus Moore 2813b7ea58 Scaffold tests for slack notification on checkout 2023-03-13 15:47:50 -07:00
Ivan Nieto Vivanco d224f3177e Delete a rule that was breaking validation 2023-03-13 16:43:10 -06:00
Godfrey M 6474249ea8 uppercased names 2023-03-13 15:29:53 -07:00
Godfrey M 7612c5d852 lowercases variables 2023-03-13 15:26:51 -07:00
Ivan Nieto Vivanco e7b3daa80c Adjust validator to only receive valid groups id's 2023-03-13 16:10:08 -06:00
snipe 477bd27cba Merge pull request #12570 from Godmartinz/generalize_webhooks
Adds General option to the webhooks settings
2023-03-13 14:54:51 -07:00
Ivan Nieto Vivanco e4204a6dd1 Adds validator to PATCH request in the API UsersController 2023-03-13 15:49:05 -06:00
Godfrey M 11bf3f5285 aligned inputs 2023-03-13 14:06:05 -07:00
Godfrey M 576b8f8c48 adds translations to edit and index of categories 2023-03-13 13:33:03 -07:00
snipe cacb000693 Merge pull request #12660 from snipe/upgrades/bump_codacy
Bumped codacy workflow
2023-03-13 11:13:46 -07:00
snipe 4f772468e6 Bumped codacy workflow
Relates to #12657 but for develop

Signed-off-by: snipe <snipe@snipe.net>
2023-03-13 11:10:41 -07:00
Godfrey M 542332ea0c removes discord from rules 2023-03-13 10:54:18 -07:00
Godfrey M b6d105c4f4 removes help text from general integrations 2023-03-13 10:49:41 -07:00
Godfrey M 27a2ed5c79 Merge branch 'develop' into generalize_webhooks 2023-03-13 10:41:08 -07:00
snipe 8a977c66f0 Merge pull request #12659 from Godmartinz/update_notification_name
fixes alerts to notifications in notification settings
2023-03-13 09:57:43 -07:00
Godfrey M 82504c9764 updates alerts to notifications in notification settings 2023-03-13 09:51:25 -07:00
snipe 1e6a3b8c45 Add @floschoepfer as a contributor 2023-03-10 14:24:56 -08:00
snipe 785ba3b5ed Merge remote-tracking branch 'origin/develop'
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	config/version.php
#	public/js/build/app.js
#	public/js/dist/all.js
#	public/mix-manifest.json
2023-03-10 14:23:45 -08:00
snipe d1d89f872a Merge pull request #12638 from snipe/fixes/dashboard_category_count_with_show_archived
Fixed #12635 - dashboard category should not show archived
2023-03-10 14:19:40 -08:00
snipe 58d2e658d2 Merge pull request #12648 from floschoepfer/patch-1
Fixed #12647: fix translation and adds icon on property reassignable
2023-03-10 14:13:48 -08:00
Florian 86205bc996 fix translation and adds icon on property reassignable
Fixing #12647
2023-03-10 10:36:42 +01:00
akemidx 4533982345 added time of day 2023-03-09 15:11:07 -05:00
snipe 65c2f27644 Merge pull request #12640 from marcusmoore/fix/test-suite
Fixes unit and feature test suite
2023-03-09 11:57:39 -08:00
snipe 88eb73d160 Use Carbon’s diffForHumans() method instead of our own home-grown stuff
Signed-off-by: snipe <snipe@snipe.net>
2023-03-08 16:47:54 -08:00
snipe f4bd307421 Added comments, removed gthe AgeFormat() helper method
Signed-off-by: snipe <snipe@snipe.net>
2023-03-08 16:47:27 -08:00
snipe 059ead5af5 Added comments (not related to this, sorry)
Signed-off-by: snipe <snipe@snipe.net>
2023-03-08 16:47:08 -08:00
snipe 02dd0669dc Added comments
Signed-off-by: snipe <snipe@snipe.net>
2023-03-08 16:36:08 -08:00
snipe b3b9efbaff New helper method to return icon type
Signed-off-by: snipe <snipe@snipe.net>
2023-03-08 16:34:04 -08:00
snipe a6f4e53e2b Added translation strings
Signed-off-by: snipe <snipe@snipe.net>
2023-03-08 16:33:49 -08:00
snipe fe470b32fc Added icon and import type to header, more translations
Signed-off-by: snipe <snipe@snipe.net>
2023-03-08 16:33:40 -08:00
snipe 474e32ea2a Added translations and formatting
Signed-off-by: snipe <snipe@snipe.net>
2023-03-08 16:33:02 -08:00
snipe b9e4b2a0ba Added some translations, date formatting, and filesize human reporting
Signed-off-by: snipe <snipe@snipe.net>
2023-03-08 16:32:45 -08:00
Brady Wetherington 087fe19ae7 Merge branch 'livewire_importer_2_squashed_and_rebased' of github.com:uberbrady/snipe-it into livewire_importer_2_squashed_and_rebased 2023-03-08 13:57:21 -08:00
Brady Wetherington 22d7d2a04e Aliases could get selected when they weren't for an import_type 2023-03-08 13:56:29 -08:00
snipe b8887bd3e3 Translated strings
Signed-off-by: snipe <snipe@snipe.net>
2023-03-08 13:47:56 -08:00
snipe 65c2d75c04 Added aliases
Signed-off-by: snipe <snipe@snipe.net>
2023-03-08 13:47:38 -08:00
snipe dccd6fd4b1 Duplicate withCount
Signed-off-by: snipe <snipe@snipe.net>
2023-03-08 13:06:14 -08:00
snipe 7f8bdbd252 Added showableAssets() relationship to Category model
Signed-off-by: snipe <snipe@snipe.net>
2023-03-08 13:01:38 -08:00
snipe 00896a8615 Updated comment
Signed-off-by: snipe <snipe@snipe.net>
2023-03-08 12:51:53 -08:00
Marcus Moore 44b48a954a Remove unneed section of testing docs 2023-03-08 12:15:37 -08:00
Marcus Moore 0be882dc35 Merge branch 'develop' into fix/test-suite 2023-03-08 12:13:53 -08:00
akemidx 2a4d30a748 forgot to add datestamp to title of page 2023-03-08 15:09:33 -05:00
Marcus Moore 5fb18af245 Update testing documentation 2023-03-08 11:58:36 -08:00
Marcus Moore 697824007a Move DB_CONNECTION back to .env.testing.example 2023-03-08 11:58:29 -08:00
akemidx cd9f2f7fb7 datestamp for print all assigned form generation 2023-03-08 14:56:14 -05:00
Godfrey M 15c19a7ab7 silenced Discord option and validation, more translations 2023-03-08 10:35:45 -08:00
snipe ac0b22d696 Updated dev assets
Signed-off-by: snipe <snipe@snipe.net>
2023-03-08 00:33:04 -08:00
snipe 1ed7cd27b4 Lots of HTML/CSS tweaks for better UI
Signed-off-by: snipe <snipe@snipe.net>
2023-03-08 00:32:30 -08:00
snipe e143e0c5ee Make the <tr> reflect that it’s active
Signed-off-by: snipe <snipe@snipe.net>
2023-03-08 00:32:16 -08:00
snipe 42601fecbf Merge branch 'livewire_importer_2_squashed_and_rebased' of https://github.com/uberbrady/snipe-it into uberbrady-livewire_importer_2_squashed_and_rebased 2023-03-07 21:42:32 -08:00
Brady Wetherington 7c09de3ea8 Re-introduce the 'placeholder' option for our form-helper 2023-03-07 21:38:55 -08:00
snipe 094859cfe8 Merge branch 'livewire_importer_2_squashed_and_rebased' of https://github.com/uberbrady/snipe-it into uberbrady-livewire_importer_2_squashed_and_rebased 2023-03-07 21:38:04 -08:00
Brady Wetherington 037489a6c0 If fields were already mapped, they would cause a 500 on re-mapping on import 2023-03-07 21:33:20 -08:00
snipe 5defd5ec0a Merge develop into master
Signed-off-by: snipe <snipe@snipe.net>
2023-03-07 19:59:17 -08:00
snipe e66b19aca0 Bumped hash
Signed-off-by: snipe <snipe@snipe.net>
2023-03-07 19:44:06 -08:00
snipe fd96ff0160 Add @kenchan0130 as a contributor 2023-03-07 19:42:52 -08:00
snipe 1ccedf6426 Merge pull request #12617 from kenchan0130/patch-12249
Fixed #12249: fix csv importer for serial_number field
2023-03-07 19:42:23 -08:00
snipe 8adeee41e6 Merge pull request #12633 from snipe/bug/sc-20332
Fixed 500 when admin erroneously tries to upload a tiff as logo, cleaned up logo upload layout
2023-03-07 19:41:10 -08:00
snipe 19d19a4c42 Updated language string
Signed-off-by: snipe <snipe@snipe.net>
2023-03-07 19:18:32 -08:00
snipe 383b5b43bb Added a few more jquery options for prevoew flexibility
Signed-off-by: snipe <snipe@snipe.net>
2023-03-07 18:54:38 -08:00
snipe 379c5f6790 Reworked the layout for logo upoloads
Signed-off-by: snipe <snipe@snipe.net>
2023-03-07 18:54:09 -08:00
snipe e55d02fd59 Added new string
Signed-off-by: snipe <snipe@snipe.net>
2023-03-07 18:53:53 -08:00
Brady Wetherington 942bedaf06 Re-add VIP and BYOD to importer, but in Livewire 2023-03-07 18:53:32 -08:00
Brady Wetherington 09c1298e03 Merge branch 'develop' into livewire_importer_2_squashed_and_rebased
I'll be taking in the changes to the importer front-end elsewhere
2023-03-07 18:51:05 -08:00
Brady Wetherington fe699737eb Add improved field-guessing logic; make sure 'do not map' fields work 2023-03-07 18:26:59 -08:00
Marcus Moore dd9c00195b Remove old $tester variable and usused imports 2023-03-07 17:04:46 -08:00
snipe e60fa15414 Nicer layout, but it kinda dosn’t work :(
Signed-off-by: snipe <snipe@snipe.net>
2023-03-07 17:02:52 -08:00
Marcus Moore 43ff7261b2 Remove redundant base test case 2023-03-07 16:57:55 -08:00
Marcus Moore 8c13a4c5c9 Use LazilyRefreshDatabase instead of RefreshDatabase 2023-03-07 16:43:18 -08:00
Godfrey M 69944853f9 more translations 2023-03-07 15:57:58 -08:00
snipe 45b5a8b6ab Catch exception if the file can’t be handled via Intervention
Signed-off-by: snipe <snipe@snipe.net>
2023-03-07 15:56:36 -08:00
Godfrey M 35dd0d8def adds generalized webhooks, updates settings page, translations, validation 2023-03-07 15:48:21 -08:00
snipe 8b70a7f216 Merge remote-tracking branch 'origin/develop' 2023-03-07 14:00:37 -08:00
snipe 182a5ea5fc Merge pull request #12631 from snipe/bug/sc-20297/expected-checkin-email-report-link-back-error
Dynamically determine target route for expected checkin emails
2023-03-07 13:57:26 -08:00
snipe ea54f540de Dynamically determine target route for expected checkin emails
Signed-off-by: snipe <snipe@snipe.net>
2023-03-07 13:42:51 -08:00
akemidx ec5836dab4 cloning accessories first bit 2023-03-07 16:41:48 -05:00
snipe e399015427 Merge pull request #12628 from marcusmoore/fixes/keep-asset-name-on-import
Maintain asset name during import with checkout
2023-03-07 11:22:53 -08:00
Marcus Moore c80595e05c Ensure asset name is maintained when importing assets that are checked out 2023-03-07 11:09:25 -08:00
Marcus Moore 8fad377114 Remove helper methods by inlining where needed 2023-03-07 10:28:33 -08:00
Tadayuki Onishi f4675927a0 fix csv importer for serial_number filed
Signed-off-by: Tadayuki Onishi <tt.tanishi100@gmail.com>
2023-03-07 22:53:02 +09:00
Marcus Moore a3c8c3757a Remove unused method 2023-03-06 17:50:44 -08:00
Marcus Moore ddcb8d8dd9 Remove commited .env.testing file 2023-03-06 17:37:08 -08:00
Marcus Moore 245f0aff72 Ignore the correct env file 2023-03-06 17:35:49 -08:00
Marcus Moore ba92501670 Add .env.testing.example file 2023-03-06 17:34:43 -08:00
Marcus Moore 9aad981895 Update phpunit schema location and remove unneeded environment variable 2023-03-06 17:25:03 -08:00
Marcus Moore a24d734ee9 Alphabetize keys in phpunit.xml 2023-03-06 17:24:09 -08:00
snipe c7fb542dc3 Merge remote-tracking branch 'origin/develop'
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	public/js/build/app.js
#	public/js/dist/all.js
#	public/mix-manifest.json
2023-03-06 17:13:29 -08:00
snipe 1ebbc767f1 Merge pull request #12624 from snipe/features/added_vip_and_byod_to_importer
Added `vip` and `byod` to importer
2023-03-06 17:11:28 -08:00
snipe a34cb8b862 Check for boolean on requestable
Signed-off-by: snipe <snipe@snipe.net>
2023-03-06 17:11:08 -08:00
snipe d36b4c1bd3 Merge remote-tracking branch 'origin/develop' 2023-03-06 17:04:15 -08:00
Marcus Moore d27fe7d4b9 Merge branch 'develop' into fix/test-suite 2023-03-06 17:04:00 -08:00
snipe d55393a3d9 Merge pull request #12626 from marcusmoore/fixes/checkouts-in-seeders
Fix seeder so assets are checked out to users
2023-03-06 17:01:47 -08:00
Marcus Moore ef27c35d1d Update array keys to set asset location properly 2023-03-06 16:33:40 -08:00
snipe 0d3388b3ae Merge pull request #12623 from snipe/bug/sc-20254/errorexception-filesize-stat-failed-for-snipe
Check that the file exists before trying to stat it for filesize
2023-03-06 15:43:17 -08:00
snipe fffe5da2e0 Merge pull request #12625 from uberbrady/quiet_down_scim_exceptions
Suppress SCIMExceptions from cluttering up Rollbar
2023-03-06 15:42:58 -08:00
Brady Wetherington dd3c3a1428 Suppress SCIMExceptions from cluttering up Rollbar 2023-03-06 15:24:16 -08:00
snipe 16bd2cde0f Updated string for file not found
Signed-off-by: snipe <snipe@snipe.net>
2023-03-06 15:09:45 -08:00
snipe e1069ac234 Return a file not found error if it doesn’t appear on disk
Signed-off-by: snipe <snipe@snipe.net>
2023-03-06 15:09:37 -08:00
snipe 8b6e8898c1 Fixed hardcoded string
Signed-off-by: snipe <snipe@snipe.net>
2023-03-06 15:09:12 -08:00
snipe 2cb06165c4 Added missing vip field to transformer and request
Signed-off-by: snipe <snipe@snipe.net>
2023-03-06 15:00:04 -08:00
snipe b46c455e0a Updated mappings.md with byod and vip fields
Signed-off-by: snipe <snipe@snipe.net>
2023-03-06 14:28:34 -08:00
snipe 304ccaa30e Added byod to asset importer
Signed-off-by: snipe <snipe@snipe.net>
2023-03-06 14:28:24 -08:00
snipe f672bdd3b7 Added vip to user importer
Signed-off-by: snipe <snipe@snipe.net>
2023-03-06 14:28:14 -08:00
snipe eec5163e7f Updated vue assets
Signed-off-by: snipe <snipe@snipe.net>
2023-03-06 14:28:04 -08:00
snipe f460d881da Updated vue
Signed-off-by: snipe <snipe@snipe.net>
2023-03-06 14:27:53 -08:00
snipe 27a495223d Updated sample CSVs
Signed-off-by: snipe <snipe@snipe.net>
2023-03-06 14:27:45 -08:00
Marcus Moore bc54144284 Fix test by passing proper user 2023-03-06 12:40:47 -08:00
snipe cc7325074e Check that the file exists before trying to stat it for filesize
Signed-off-by: snipe <snipe@snipe.net>
2023-03-06 10:47:28 -08:00
snipe 04ff472428 Merge remote-tracking branch 'origin/develop' 2023-03-06 10:29:07 -08:00
snipe 3a1cf26e98 Merge pull request #12621 from Godmartinz/bug/sc-20259/divisionbyzeroerror-division-by-zero-in-snipe
Fixes depreciation model rule for months
2023-03-06 10:28:39 -08:00
Godfrey M e5deb4b413 doesn't allow months to be zero 2023-03-06 09:41:14 -08:00
snipe f54d83ed59 Merge pull request #12612 from manuteleco/add_path_in_preflight_url_message
Fixed #11800: Include path in the expected URL during Pre-Flight
2023-03-06 09:36:15 -08:00
snipe 39193a71b7 Merge pull request #12611 from manuteleco/add_reverse_proxy_support_in_preflight
Fixed #10779: Add Reverse Proxy support to Pre-Flight URL check
2023-03-06 09:35:34 -08:00
snipe 83b906b153 Merge remote-tracking branch 'origin/develop' 2023-03-06 09:27:43 -08:00
snipe 191f955333 Merge pull request #12610 from veenone/feat/sortable_group_id
enable sortable for ID column
2023-03-06 09:26:52 -08:00
Manuel Rodríguez Guimeráns 548ae7ad22 Add Reverse Proxy support to Pre-Flight URL check
Before this change, the Pre-Flight URL check would inevitably fail
whenever Snipe-IT was running behind a reverse proxy or load balancer.

The URL check tries to ensure that the configured application URL
matches the URL that is actually used to reach the application. However,
when running behind an HTTP intermediary (like a reverse proxy or a load
balancer) the HTTP connection that Snipe-IT receives is not the _real_
connection from the user anymore, but a connection from the HTTP
intermediary. The scheme, host and port that Snipe-IT would obtain from
that incoming intermediary connection wouldn't match what is configured
as application URL and, therefore, the URL check would fail.

This commit solves the situation by making Snipe-IT's Pre-Flight URL
check aware of the `X-Forwarded-Proto` and `X-Forwarded-Host` HTTP
headers. These headers represent the _de-facto_ standard used by reverse
proxies and other HTTP intermediary components to convey information
about the incoming HTTP connection to the upstream application. Being
the upstream application, Snipe-IT can then make use of this information
to correctly evaluate the validity of the configured application URL.
2023-03-05 18:15:16 +01:00
Manuel Rodríguez Guimeráns 1d4f4b92de Include path in the expected URL during Pre-Flight
So that the message displayed to the user when the URL Pre-Flight check
fails is:

> Snipe-IT thinks your URL is SCHEME://DOMAIN, but your real
  URL is SCHEME://DOMAIN/setup

instead of:

> Snipe-IT thinks your URL is SCHEME://DOMAIN/setup, but your real
  URL is SCHEME://DOMAIN/setup

Having a missing "/setup" in the expected URL might confuse the user
into thinking that it is an additional configuration problem they need
to fix.

With this change, the comparison between the expected and actual URL
will not contain any accidental difference anymore. Only those that the
user really needs to be aware of and fix in their setup.
2023-03-05 17:52:45 +01:00
Achmad Fienan Rahardianto 0b3becee7a enable sortable for ID column 2023-03-04 11:27:00 +07:00
Ivan Nieto Vivanco 95f568b934 Remove unnecessary try/catch 2023-03-02 19:50:47 -06:00
snipe 95bd58487a Merge pull request #12602 from inietov/fixes/error_checkin_license_seat
Fixed #12601 Error checkin license seats
2023-03-02 17:48:22 -08:00
Ivan Nieto Vivanco 8a5d426ccd Use correct LicenseSeat property 2023-03-02 19:33:32 -06:00
Marcus Moore e8da6d8bac Set purchase date in correct format 2023-03-02 13:47:58 -08:00
Marcus Moore ad9eef6393 Update deprecated faker calls in Asset and Supplier factories 2023-03-02 13:41:52 -08:00
Marcus Moore c3cc20fe0c Merge branch 'develop' into fix/test-suite 2023-03-02 13:23:00 -08:00
snipe f817027fc2 Merge pull request #12593 from snipe/features/add_clone_to_locations
Added ability to clone location
2023-03-02 13:15:38 -08:00
Marcus Moore 45d7e9b134 Switch to using LazilyRefreshDatabase in unit test suite 2023-03-02 13:13:30 -08:00
Marcus Moore 75fc624ec6 Globally disable SecurityHeaders in tests 2023-03-02 13:12:25 -08:00
Ivan Nieto Vivanco e0b2dc043a Adds try/catch to users API 2023-03-02 11:13:56 -06:00
Brady Wetherington 7edec26e73 Fixes to layout, improvements to import types, better icons for processing. 2023-03-01 17:18:36 -08:00
Godfrey M aae178a606 gets select working, placeholders update dynamically 2023-03-01 17:10:10 -08:00
snipe 778787db3c Rip out jquery for location parent
Signed-off-by: snipe <snipe@snipe.net>
2023-03-01 15:36:01 -08:00
snipe b8231f420b Remove name from blanking paroperties
Signed-off-by: snipe <snipe@snipe.net>
2023-03-01 14:12:33 -08:00
snipe 9b522006f3 Usew route group for locations
Signed-off-by: snipe <snipe@snipe.net>
2023-03-01 14:05:53 -08:00
snipe 84a14918bb Updated comments
Signed-off-by: snipe <snipe@snipe.net>
2023-03-01 14:03:33 -08:00
snipe 473553c464 Moved gate
Signed-off-by: snipe <snipe@snipe.net>
2023-03-01 14:01:40 -08:00
snipe dac877f184 Added location clone
Signed-off-by: snipe <snipe@snipe.net>
2023-03-01 13:51:35 -08:00
Godfrey M 354f04534e add multi array, migration, still having issues 2023-03-01 12:30:32 -08:00
snipe ca2619ca12 Merge remote-tracking branch 'origin/develop' 2023-03-01 12:28:34 -08:00
snipe 78b36c7886 Merge pull request #12592 from uberbrady/fix_accessories_report
The 'download activity report' displayed the wrong value for 'admin' (fixes FD-33368)
2023-03-01 12:28:03 -08:00
Brady Wetherington ca849db316 The 'download activity report' displayed the wrong value for 'admin' 2023-03-01 12:23:13 -08:00
snipe 816d2f99cc Merge remote-tracking branch 'origin/develop' 2023-03-01 11:52:29 -08:00
snipe c1b57064d4 Merge pull request #12591 from uberbrady/accessories_report_companies
Actually display name of company in Accessories Report
2023-03-01 11:52:10 -08:00
Brady Wetherington 9b80e86306 Actually display name of company in Accessories Report 2023-03-01 11:34:30 -08:00
snipe d954c841e6 Merge pull request #12590 from snipe/fixes/check_for_array_in_linux_setup
Fixes/check for array in linux setup
2023-03-01 11:06:31 -08:00
snipe 562546a853 Updated comment
Signed-off-by: snipe <snipe@snipe.net>
2023-02-28 23:37:30 -08:00
snipe 4860440306 Check that it’s an array (versus checking that it’s not a bool)
Signed-off-by: snipe <snipe@snipe.net>
2023-02-28 23:32:10 -08:00
snipe b72a9cc6fd Check if the $owner is boolean
Signed-off-by: snipe <snipe@snipe.net>
2023-02-28 23:31:26 -08:00
snipe 823203641d Updated assets with new font awesome
Signed-off-by: snipe <snipe@snipe.net>
2023-02-28 23:18:58 -08:00
snipe b2fe3c36e9 Merge pull request #12589 from snipe/security/update_font_awesome_to_6_3_0
Updated font-awesome to ^6.3.0
2023-02-28 23:16:54 -08:00
snipe 1911480d3a Updated font-awesome to ^6.3.0
Signed-off-by: snipe <snipe@snipe.net>
2023-02-28 23:15:50 -08:00
Brady Wetherington c48e19d236 Whoops, went a little overboard there. Whoopsie! 2023-02-28 22:51:48 -08:00
Brady Wetherington 863b30a07a Remove extraneous change to composer.json 2023-02-28 22:49:48 -08:00
Brady Wetherington f3c500014c Another file I didn't really need to commit 2023-02-28 22:37:16 -08:00
Brady Wetherington 4f8710db63 Whoops, mis-committed something here that doesn't belong 2023-02-28 22:36:26 -08:00
Brady Wetherington 54cb38603b Cleaned up the last of the FIXME's (or downgraded them to TODO's) 2023-02-28 22:34:44 -08:00
Brady Wetherington 5cf66851f7 Finalizing the Livewire Importer! Just going to do some testing now 2023-02-28 21:58:02 -08:00
snipe a6816c5e15 Merge remote-tracking branch 'origin/develop' 2023-02-28 20:53:32 -08:00
snipe 463ef02fae Merge pull request #12578 from inietov/fixes/undefined_variable_total
Fixed Undefined variable `$total`
2023-02-28 20:50:00 -08:00
snipe b29276579f Updated prod assets
Signed-off-by: snipe <snipe@snipe.net>
2023-02-28 20:34:31 -08:00
snipe dbe0a3352b Updated prod assets
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	public/css/build/app.css
#	public/css/build/overrides.css
#	public/css/dist/all.css
#	public/mix-manifest.json
2023-02-28 20:34:20 -08:00
snipe 6fec3f4303 Merge pull request #12586 from snipe/assets/compiled_dev_assets
Compiled dev assets
2023-02-28 20:32:41 -08:00
snipe f9b5a67dc2 Compiled dev assets
Signed-off-by: snipe <snipe@snipe.net>
2023-02-28 20:32:08 -08:00
snipe 2189a74d6a Bumped hash
Signed-off-by: snipe <snipe@snipe.net>
2023-02-28 20:32:00 -08:00
snipe 44e2796645 Merge pull request #12579 from Godmartinz/gh12571_sidebar_adjustment
Fixes the sidebar margin top
2023-02-28 20:30:07 -08:00
snipe 70d0347fe9 Merge pull request #12580 from marcusmoore/feature/crowdin-source-upload
Add GitHub Action to push translation sources to Crowdin
2023-02-28 20:28:04 -08:00
Brady Wetherington 2f94bf96ff Everything's all wired up; just need to clean up all the FIXME's and stuff 2023-02-28 18:36:52 -08:00
snipe 417a1e624a Merge remote-tracking branch 'origin/develop' 2023-02-28 18:22:24 -08:00
snipe 34f13eaa8a Merge pull request #12393 from snipe/features/make_eol_sortable
Added EOL as de-normed and sortable on assets
2023-02-28 18:22:00 -08:00
snipe 1f7ae08d76 Merge branch 'develop' into features/make_eol_sortable 2023-02-28 18:05:09 -08:00
snipe 3a4e20ae82 Merge remote-tracking branch 'origin/develop' 2023-02-28 16:57:59 -08:00
snipe 2ab0abc8a1 Merge pull request #12575 from inietov/fixes/typeError_get_class_argument_must_be_object_null_given
Fixed: TypeError: get_class(): Argument #1 ($object) must be of type object, null given
2023-02-28 16:45:53 -08:00
snipe 373aeb26da Merge remote-tracking branch 'origin/develop' 2023-02-28 16:14:42 -08:00
snipe d838662f48 Merge pull request #12585 from marcusmoore/fixes/fix-license-seeder
Fix license seeder
2023-02-28 16:03:15 -08:00
snipe ff122bd07c Merge remote-tracking branch 'origin/develop' 2023-02-28 15:56:35 -08:00
snipe 5e626e75ad Merge pull request #12584 from snipe/fixes/error_on_datepicker
Convert string to date object for formatting
2023-02-28 15:55:59 -08:00
Marcus Moore a7a26bb154 Fix License Factory 2023-02-28 15:55:28 -08:00
snipe af9f9d2523 Convert string to date object for formatting
Signed-off-by: snipe <snipe@snipe.net>
2023-02-28 15:48:45 -08:00
snipe d13e1b32e7 Merge pull request #12583 from inietov/fixes/user_start_and_end_date_error
Fixed User start and end date throws error [sc-20228]
2023-02-28 15:30:46 -08:00
Ivan Nieto Vivanco ad598425ef Adds format to the dates cast 2023-02-28 17:24:14 -06:00
snipe ec2ce1dff8 Merge remote-tracking branch 'origin/develop' 2023-02-28 15:13:22 -08:00
snipe 5194711a6a Merge pull request #12582 from akemidx/bug/sc-20065/license-export-does-not-show-info-of-boolean 2023-02-28 15:13:04 -08:00
Marcus Moore 4197e613b2 Fix License Factory 2023-02-28 14:50:48 -08:00
akemidx 25f3e4d41a Adding ability to see boolean values when using normal export 2023-02-28 16:01:23 -05:00
Marcus Moore 589a5d0d8b Merge branch 'develop' into fix/test-suite 2023-02-28 09:48:48 -08:00
Godfrey M e8fbb0608f adjusts the sidebar margin top 2023-02-28 09:30:02 -08:00
Marcus Moore d707f2d391 Add GitHub Action to push translation sources to Crowdin 2023-02-28 09:07:34 -08:00
Ivan Nieto Vivanco 1be0a8d911 Declare variable as an empty array 2023-02-28 10:22:49 -06:00
Ivan Nieto Vivanco 0d860c0b72 Check if target is not null to retrieve the proper data 2023-02-27 19:01:37 -06:00
Ivan Nieto Vivanco 9d94bd6567 Validate if the license seat is not checked out, it can't be checked in 2023-02-27 18:57:38 -06:00
snipe ae35af55d1 Merge remote-tracking branch 'origin/develop' 2023-02-27 15:55:58 -08:00
snipe 23fe11c71e Merge pull request #12574 from inietov/fixes/address_in_mailbox_not_comply_rfc
Fixed Address in mailbox given does not comply with RFC 2822, 3.6.2. [sc-202022]
2023-02-27 15:55:31 -08:00
Ivan Nieto Vivanco b4e578c95e Convert the alert_email setting from string to array 2023-02-27 17:34:29 -06:00
Brady Wetherington 53db266b69 WIP: cleaning up extraneous gunk and trying to standardize on one single Livewire Select2 implementation 2023-02-27 14:29:02 -08:00
Brady Wetherington fb201e61f3 More wiring up Livewire to the back-end. 2023-02-27 14:29:02 -08:00
Brady Wetherington e1c8f155bb Wiring up more bits to Livewire 2023-02-27 14:29:02 -08:00
Brady Wetherington 5c97e45d00 WIP - trying to get select2 wired up for importer 2023-02-27 14:29:02 -08:00
Brady Wetherington 8009ee79db I think I have, now, full parity on the base Importer level
Meaning that you can upload new files, delete old files, have error
messages, have status updates - and all of them seem to work.
2023-02-27 14:29:02 -08:00
Brady Wetherington 0a085af0a0 Getting the basic wiring of the importer over into Livewire
WIP: Wiring up more and more of the actions on the importer

Files now upload okay, a little glitchy on the display-side though

add to readmes so i dont forget
2023-02-27 14:28:59 -08:00
snipe c2cdf5dae1 Merge remote-tracking branch 'origin/develop' 2023-02-27 13:34:16 -08:00
snipe 23ca124e94 Merge pull request #12573 from snipe/fixes/ambiguous_model_clause
Added table aliases to fix ambiguous SQL clause
2023-02-27 13:33:52 -08:00
snipe c7106a1df2 Added table aliases to fix ambiguous SQL clause
Signed-off-by: snipe <snipe@snipe.net>
2023-02-27 13:24:09 -08:00
snipe 3f4a4e72a7 Merge remote-tracking branch 'origin/develop' 2023-02-27 12:17:33 -08:00
snipe b78aba787f Merge pull request #12572 from snipe/fixes/add_max_results_limit_to_acitivity_report
Added max results limit to report index
2023-02-27 12:16:57 -08:00
snipe 96c851468c Added max results limit to report index
Signed-off-by: snipe <snipe@snipe.net>
2023-02-27 12:04:46 -08:00
Godfrey M e8fc895e51 "adds variables, but still not working" 2023-02-27 09:19:59 -08:00
snipe a5ccef5e96 Merge pull request #12564 from uberbrady/upgrade_acorn
Upgrade Acorn
2023-02-26 12:12:21 -08:00
Brady Wetherington 059190f002 Upgrade Acorn 2023-02-26 11:29:10 -08:00
snipe 6428cc259f Merge remote-tracking branch 'origin/develop' 2023-02-24 10:02:43 -08:00
snipe cb0b234b80 Merge pull request #12561 from inietov/fixes/unable_to_import_purchase_date
Fixed #12559 Unable to import Purchase Date field
2023-02-24 10:02:25 -08:00
snipe 8caf29975f Merge remote-tracking branch 'origin/develop'
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	config/version.php
2023-02-24 09:58:19 -08:00
snipe 95501bf57c Bumped hash
Signed-off-by: snipe <snipe@snipe.net>
2023-02-24 09:57:25 -08:00
snipe 75a73d095f Merge pull request #12560 from snipe/fixes/bulk_checkout_nulles_asset_name
Pass the existing asset name to the bulk checkout form
2023-02-24 09:56:13 -08:00
snipe 3e47d9e689 Pass the existing asset name to the bulk checkout form
Signed-off-by: snipe <snipe@snipe.net>
2023-02-24 09:54:46 -08:00
Ivan Nieto Vivanco 51efd9b413 Adjust the date format for purchase_date field 2023-02-24 10:59:31 -06:00
snipe bd0b00e361 Merge pull request #12558 from inietov/fixes/non_numeric_value_in_license_seat
Fixed ErrorException: A non-numeric value encountered in app/Models/License [sc-20187]
2023-02-24 00:29:26 -08:00
Ivan Nieto Vivanco 6bd72125bd Deletes problematic cast 2023-02-23 22:31:41 -06:00
snipe 1415c8c6e2 Merge remote-tracking branch 'origin/develop' 2023-02-23 15:00:03 -08:00
snipe 41253b2680 Merge pull request #12556 from marcusmoore/fixes/asset-seeder
Fix purchase date field in asset seeder
2023-02-23 14:05:45 -08:00
Marcus Moore bdac0f16ce Set purchase date field to the correct format in asset factory 2023-02-23 13:39:05 -08:00
snipe dde2b946da Merge pull request #12555 from snipe/security/upgrade_dompdf
Update dompdf
2023-02-23 13:00:46 -08:00
snipe 0b408218b0 Update dompdf
Signed-off-by: snipe <snipe@snipe.net>
2023-02-23 12:59:04 -08:00
snipe 5e6ebb9a65 Merge pull request #12410 from uberbrady/paginate_accessories_report
Paginate accessories report
2023-02-23 12:26:17 -08:00
snipe 8e72da42e8 Merge pull request #12406 from akemidx/vip_tag
Added a checkbox to notate VIP status
2023-02-23 12:23:29 -08:00
snipe 309c0ff66f Merge remote-tracking branch 'origin/develop' 2023-02-23 11:41:36 -08:00
snipe eb6357636a Merge pull request #12467 from marcusmoore/fix/scope-people-with-full-multiple-companies
Fix full company scoping in user selects
2023-02-23 10:36:33 -08:00
snipe adb166fb8d Merge remote-tracking branch 'origin/develop' 2023-02-22 18:01:06 -08:00
snipe 4a9ced192b Merge pull request #12550 from marcusmoore/fixes/closing-tag-in-mail-template
Properly close tag in mail template
2023-02-22 17:59:20 -08:00
Marcus Moore 6c8de181cf Properly close tag in mail template 2023-02-22 17:52:47 -08:00
snipe 5a1e5f740d Merge pull request #12537 from inietov/fixes/expected_checkin_date_validation
Fixed #12531 Expected Checkin Date on Asset Checkout throws an error
2023-02-22 16:03:51 -08:00
akemidx 690970b4aa fixing ff error 2023-02-22 18:18:20 -05:00
Marcus Moore f63710fb5c Remove unused import 2023-02-22 12:34:56 -08:00
Marcus Moore 7667b0a216 Remove extra line 2023-02-22 12:34:35 -08:00
Marcus Moore 931ca98c02 Remove middleware bypass 2023-02-22 12:33:55 -08:00
snipe 225b6ef310 Merge remote-tracking branch 'origin/develop' 2023-02-22 12:24:52 -08:00
snipe 13ed2a05a3 Add @AndrewSav as a contributor 2023-02-22 12:24:13 -08:00
Marcus Moore aae2106658 Use existing language translation string 2023-02-22 12:02:14 -08:00
snipe 81cb29db5e Merge pull request #12509 from inietov/fixes/add_images_to_user_inventory_mail_report
Added images to emailed user inventory report [sc-19801]
2023-02-22 10:38:07 -08:00
snipe 05f6d0bd5e Merge pull request #11984 from nh314/Correct-assignedusers-relation
Correct assignedusers relation setting
2023-02-21 20:15:20 -08:00
snipe 4bf1566d2a Merge pull request #12124 from Godmartinz/feature/sc-16946/add-checkbox-to-allow-skipping-a-user-during
Adds Boolean to Users Table for Auto Assigning Licenses
2023-02-21 20:10:46 -08:00
snipe 0c3115553e Merge branch 'develop' into vip_tag 2023-02-21 20:03:49 -08:00
Brady Wetherington aadfa9aa9c Back out Laravel Vite stuff - we're so far away from that right now 2023-02-21 19:54:14 -08:00
snipe 942fee4d43 Merge pull request #12447 from akemidx/user_setup_translation
FIXED: Translations on the User Creation setup page
2023-02-21 19:53:00 -08:00
snipe ba461d0114 Merge pull request #12538 from AndrewSav/develop
Added #12532: add version endpoint
2023-02-21 19:50:07 -08:00
snipe 3ae783a9c7 Merge pull request #12525 from uberbrady/add_sodium_php_shim
Add libsodium shim, and mark the sodium extension as 'optional'
2023-02-21 19:38:14 -08:00
Brady Wetherington 645bba96cd WIP: First stabs at getting Laravel Vite to work; no luck so far :(
Probably going to back out all the 'vite' stuff anyways :/
2023-02-21 19:35:37 -08:00
Ivan Nieto Vivanco d494afcf01 Add order by clause, to ensure assets and accessories are in order in the report 2023-02-21 21:24:19 -06:00
snipe 57065b8936 Merge remote-tracking branch 'origin/develop' 2023-02-21 09:20:59 -08:00
snipe 40a38486b9 Merge pull request #12545 from snipe/localizations/more_new_translations
Two more translations
2023-02-21 09:20:38 -08:00
snipe 29158dece5 Two more translations
Signed-off-by: snipe <snipe@snipe.net>
2023-02-21 09:19:34 -08:00
snipe f6e4e17e5c Merge remote-tracking branch 'origin/develop' 2023-02-21 09:05:50 -08:00
snipe 8185f264a4 Merge pull request #12544 from snipe/localizations/updated_general
Updated the general translation file with new strings
2023-02-21 09:05:24 -08:00
snipe 04d3938f0c Updated the general translation file with new strings
Signed-off-by: snipe <snipe@snipe.net>
2023-02-21 09:04:13 -08:00
snipe f109218e16 Re-added dropped translations from CrowdIn
Signed-off-by: snipe <snipe@snipe.net>
2023-02-21 09:00:10 -08:00
snipe 049213c3da Merge remote-tracking branch 'origin/develop' 2023-02-21 04:02:08 -08:00
snipe 9c1a71e04a Merge pull request #12541 from snipe/localizations/new_strings
Updated translations with new strings and new translations
2023-02-21 03:58:25 -08:00
snipe a0b05bac8d Updated translations with new strings and new translations
Signed-off-by: snipe <snipe@snipe.net>
2023-02-21 03:54:55 -08:00
Andrew Savinykh d2ede75de8 fixes #12532 adds version endpoint 2023-02-20 22:19:18 +13:00
Ivan Nieto Vivanco 6e994c209f Adds setter to model Asset class for expected checkin 2023-02-19 12:31:10 -06:00
akemidx f33b6a3e26 Update user.blade.php 2023-02-17 12:52:54 -05:00
akemidx dfc2aa35f4 Update general.php 2023-02-17 12:51:58 -05:00
snipe f71d8b2f07 Merge remote-tracking branch 'origin/develop' 2023-02-16 17:05:48 -08:00
snipe 248eb0885c Merge pull request #12533 from snipe/fixes/expected_checkin_wtf
FML - this is a hotfix and I don’t know why this is causing problems
2023-02-16 17:01:54 -08:00
snipe 754842f620 FML - this is a hotfix and I don’t know why this is causing problems
Signed-off-by: snipe <snipe@snipe.net>
2023-02-16 16:58:00 -08:00
snipe 43eacff265 Merge remote-tracking branch 'origin/develop' 2023-02-16 12:11:26 -08:00
snipe fdffe76b9f Merge pull request #12529 from Godmartinz/bug/sc-20046/allow-user-to-submit-the-slack-livewire-form
allows users to clear their slack settings
2023-02-16 11:47:58 -08:00
Godfrey M 58801dbb0b allows users to clear their slack settings 2023-02-16 08:43:12 -08:00
snipe e9ab90eafc Merge pull request #12422 from marcusmoore/fix/adhere-to-email-alerts-setting
Have acceptance result notifications adhere to alerts enabled setting
2023-02-15 18:46:08 -08:00
snipe 495d7e057d Merge remote-tracking branch 'origin/develop' 2023-02-15 18:37:39 -08:00
snipe 9f8ea9a243 Merge pull request #12524 from snipe/fixes/small_UI_tweaks
Cleanup some small UI bugaboos (padding, etc)
2023-02-15 18:20:08 -08:00
Brady Wetherington 3a2b54fd47 Add libsodium shim, and mark the sodium extension as 'optional'
Trying to handle some composer.lock conflicts, as savely as possible.
2023-02-15 18:16:39 -08:00
snipe 71334b5eae More tweaking for top button alignment
Signed-off-by: snipe <snipe@snipe.net>
2023-02-15 18:13:38 -08:00
snipe f124249e1c More padding twiddles
Signed-off-by: snipe <snipe@snipe.net>
2023-02-15 18:08:11 -08:00
snipe e451ca1a5c Stray semicolon
Signed-off-by: snipe <snipe@snipe.net>
2023-02-15 17:37:53 -08:00
snipe 3e111fca6e Cleanup some small UI bugaboos (padding, etc)
Signed-off-by: snipe <snipe@snipe.net>
2023-02-15 17:13:40 -08:00
snipe df64e0e291 Merge pull request #12523 from Godmartinz/bug/sc-20041/slack-ui-livewire-tweaks
Fixes slack settings submit button availability
2023-02-15 16:28:57 -08:00
snipe 51c9a7d4f8 Merge pull request #12521 from akemidx/weird_checkout_text
Fixed awkward checkout text in checkedout side panel
2023-02-15 16:28:05 -08:00
akemidx d8d713426d indent? 2023-02-15 19:24:20 -05:00
akemidx 7dd789d5c0 translate no assets at checkout 2023-02-15 19:22:13 -05:00
Godfrey M 2d8c8e8f48 removes lazy loading 2023-02-15 16:16:14 -08:00
Godfrey M 7b510d5f2b greys out submit button conditionally 2023-02-15 15:46:05 -08:00
snipe 221f5f5ca7 Merge pull request #12522 from snipe/fixes/slack_livewire_translations
Fixes slack livewire translations, UI
2023-02-15 14:45:46 -08:00
snipe d4634e83c9 Nicer padding, removed unused ids
Signed-off-by: snipe <snipe@snipe.net>
2023-02-15 14:45:18 -08:00
snipe 6c3ffa7918 Removed unused CSS
Signed-off-by: snipe <snipe@snipe.net>
2023-02-15 14:39:24 -08:00
snipe 27e5832a28 Use existing slack translations
Signed-off-by: snipe <snipe@snipe.net>
2023-02-15 14:06:52 -08:00
snipe 2d0bd2b292 Make spinner actually spin
Signed-off-by: snipe <snipe@snipe.net>
2023-02-15 14:06:40 -08:00
akemidx b96f2f738d fixed weird phrasing in asset checkout screen 2023-02-15 16:47:48 -05:00
snipe ff895739f4 Merge pull request #12446 from Godmartinz/livewire_slack_inputs
Adds Livewire slack inputs
2023-02-15 13:27:07 -08:00
snipe de4f7bd274 Merge pull request #12408 from snipe/fixes/stricter_date_rectrictions_on_validation
Enforce Y-m-d as date format for date fields
2023-02-15 12:54:22 -08:00
snipe 25461caa2c Removed date validation rule
Signed-off-by: snipe <snipe@snipe.net>
2023-02-15 12:53:55 -08:00
snipe bfac0fc811 Merge pull request #12470 from inietov/fixes/rollbar_16883_attempt_assign_on_null
Fixed Rollbar 16883 Error: Attempt to assign property "assigned_to" on null
2023-02-15 12:33:32 -08:00
snipe 057f0be20a Merge pull request #12473 from inietov/fixes/rollbar_attempt_to_read_property_on_null
Fixed ErrorException:  Attempt to read property "id" on null [sc-19855]
2023-02-15 12:32:53 -08:00
snipe 7980e2ab2e Merge pull request #12517 from uberbrady/silence_ldap_exceptions
Silence E_WARNING "exceptions"
2023-02-15 11:56:37 -08:00
Marcus Moore f99f6d32fa Make phpstan configuration more flexible 2023-02-15 11:33:08 -08:00
Marcus Moore d088b39fb2 Remove ignore errors section covered by larastan config 2023-02-15 11:33:08 -08:00
Marcus Moore 6bfd2fd5ad Sort paths 2023-02-15 11:33:08 -08:00
Marcus Moore 6778cf79a0 Include Larastan configuration file 2023-02-15 11:33:08 -08:00
snipe ac4103281c Still throwing errors, but trying to fix the docblock
Signed-off-by: snipe <snipe@snipe.net>
2023-02-15 11:33:08 -08:00
snipe 03af417e89 We shouldn’t need this because aliases??
Signed-off-by: snipe <snipe@snipe.net>
2023-02-15 11:33:08 -08:00
snipe 77362b3b41 Added larastan and psalm to composer dev
Signed-off-by: snipe <snipe@snipe.net>
2023-02-15 11:33:08 -08:00
snipe db8c29b901 Psalm and phpstan configs
Signed-off-by: snipe <snipe@snipe.net>
2023-02-15 11:33:08 -08:00
snipe 3d219f578e The sea, Brady.
Signed-off-by: snipe <snipe@snipe.net>
2023-02-15 11:33:08 -08:00
snipe 8c3511a00b Fixed wonky switch statement indenting
Signed-off-by: snipe <snipe@snipe.net>
2023-02-15 11:33:08 -08:00
snipe c1ae406049 Fixed visibility for constants and methods
Signed-off-by: snipe <snipe@snipe.net>
2023-02-15 11:33:08 -08:00
snipe 1ef3112628 FIxed yoda operator
Signed-off-by: snipe <snipe@snipe.net>
2023-02-15 11:33:08 -08:00
snipe 0325cbad64 Removed unused else condition
Signed-off-by: snipe <snipe@snipe.net>
2023-02-15 11:33:08 -08:00
snipe 6dc89fc2b0 Use null coalescing operator
Signed-off-by: snipe <snipe@snipe.net>
2023-02-15 11:33:08 -08:00
snipe b25676c96b Fixed Implicit array creation is disallowed.
Signed-off-by: snipe <snipe@snipe.net>
2023-02-15 11:33:08 -08:00
snipe 14e95c47e1 Made constant DATA_SESSION_KEY public
Signed-off-by: snipe <snipe@snipe.net>
2023-02-15 11:33:08 -08:00
snipe dc43c4f68a Removed unneeded concat
Signed-off-by: snipe <snipe@snipe.net>
2023-02-15 11:33:08 -08:00
snipe 0e7ac5c95e Added phpinsights
Signed-off-by: snipe <snipe@snipe.net>
2023-02-15 11:33:08 -08:00
snipe c7f90f304d Added insights config
Signed-off-by: snipe <snipe@snipe.net>
2023-02-15 11:33:08 -08:00
snipe 78a0b06a61 Fixed array bracket indenting
Signed-off-by: snipe <snipe@snipe.net>
2023-02-15 11:33:08 -08:00
snipe 40f487beae Added parens
Signed-off-by: snipe <snipe@snipe.net>
2023-02-15 11:33:08 -08:00
snipe 2992ca1fa2 Fixed yoda operator
Signed-off-by: snipe <snipe@snipe.net>
2023-02-15 11:33:08 -08:00
snipe 15f9c6af67 Removed unused variable
Signed-off-by: snipe <snipe@snipe.net>
2023-02-15 11:33:08 -08:00
snipe 7a19da4f64 Removed unused variable
Signed-off-by: snipe <snipe@snipe.net>
2023-02-15 11:33:08 -08:00
Ivan Nieto Vivanco 07f501408f Add migration to fix already escaped formats in the database 2023-02-15 11:33:08 -08:00
Ivan Nieto Vivanco 53e449899b Remove e() function from customfield format input 2023-02-15 11:33:08 -08:00
Godfrey M b2f1ca95df missing things like mr magoo 2023-02-15 11:33:08 -08:00
Godfrey M f3ab384e70 simplified to an else instead of elseif 2023-02-15 11:33:08 -08:00
Godfrey M 61bf1e91e7 adds the red x icon to a false deployable status 2023-02-15 11:33:08 -08:00
Godfrey M 1c54feea5b adds a red icon next to broken- not fixable status label 2023-02-15 11:33:08 -08:00
Marcus Moore 7423570e6b Add comment 2023-02-15 11:33:08 -08:00
Marcus Moore b946a6066d Use name if provided by asset checkout request 2023-02-15 11:33:07 -08:00
Marcus Moore 9c25dd4eb6 Improve error message wording 2023-02-15 11:33:07 -08:00
Marcus Moore e69fcf10b7 Use translation strings for importer exceptions 2023-02-15 11:33:07 -08:00
akemidx 937e2813e9 fixing external if statement 2023-02-15 11:33:07 -08:00
akemidx a84081068d functionality to Apple Warranty link 2023-02-15 11:33:07 -08:00
akemidx d9857d955b translations for the layout setup 2023-02-15 11:33:07 -08:00
akemidx 66251bfd8a sweedish chef fixes up your typos 2023-02-15 11:33:07 -08:00
akemidx 677f7a446e manufacturer marker removal 2023-02-15 11:33:07 -08:00
Marcus Moore fdce6f98ff Return 422 instead of 500 when import is invalid 2023-02-15 11:33:07 -08:00
Marcus Moore 5a00685c81 Fix return type 2023-02-15 11:33:07 -08:00
Marcus Moore 18f0b1cc3d Formatting 2023-02-15 11:33:07 -08:00
Marcus Moore 6da43bc940 Catch json encoding exceptions and display them to the user 2023-02-15 11:33:07 -08:00
Ivan Nieto Vivanco 98187773f7 Adds translation strings to theinventory report sent to users 2023-02-15 11:33:07 -08:00
Brady Wetherington 3757c7e353 Make early-boot errors (syntax, others) be more easy-to-read 2023-02-15 11:31:13 -08:00
snipe 3800cdd0da Merge pull request #12466 from snipe/fixes/style_fixes
Style fixes
2023-02-15 11:07:59 -08:00
snipe 1ed57d30e0 Merge pull request #12516 from inietov/fixes/quotes_in_custom_field_custom_regex
Fixed #12252 Quotes in Custom Field regex are being HTML-escaped
2023-02-14 20:10:43 -08:00
Brady Wetherington a1b0eaf128 Got working E_WARNING-in-production going. YAY! 2023-02-14 20:00:06 -08:00
snipe f7df2ae403 Merge pull request #12513 from Godmartinz/gh12493
adds a red icon next to the  undeployable status
2023-02-14 14:37:06 -08:00
Godfrey M 793cf4823b missing things like mr magoo 2023-02-14 14:35:54 -08:00
Godfrey M c0d8ff1676 simplified to an else instead of elseif 2023-02-14 14:21:24 -08:00
snipe b0b1c96ab5 Merge pull request #12514 from marcusmoore/fixes/preserve-asset-name-during-api-checkout
Fix asset names being removed during API checkout requests
2023-02-14 12:22:03 -08:00
Marcus Moore 8e00191b69 Add comment 2023-02-14 12:19:16 -08:00
Marcus Moore a94f19a68e Use name if provided by asset checkout request 2023-02-14 12:08:20 -08:00
Godfrey M 0cd558593d adds the red x icon to a false deployable status 2023-02-14 10:34:36 -08:00
Godfrey M d03e042eda adds a red icon next to broken- not fixable status label 2023-02-14 09:55:48 -08:00
Marcus Moore 8b183490ba Use "testing" environment for tests 2023-02-13 18:56:22 -08:00
Marcus Moore 228c59e6ed Bring phpunit.xml closer to default 2023-02-13 18:55:50 -08:00
snipe 2dd7690d2d Merge pull request #12464 from snipe/dependabot/github_actions/docker/build-push-action-4
Bump docker/build-push-action from 3 to 4
2023-02-13 14:45:21 -08:00
snipe 1520c9c6a7 Merge pull request #12506 from marcusmoore/fix/use-translation-strings-for-importer-errors
Use translation strings for importer exceptions
2023-02-13 14:17:47 -08:00
Marcus Moore 4bdb1cf552 Improve error message wording 2023-02-13 13:34:20 -08:00
Marcus Moore 2349f54013 Use translation strings for importer exceptions 2023-02-13 13:30:36 -08:00
snipe 2bbbc8158b Merge pull request #12477 from akemidx/apple_warranty_link
Added functionality to Apple Warranty link
2023-02-13 13:02:33 -08:00
snipe 2f5b4c8e1b Merge pull request #12498 from akemidx/layout_trans
Translations for the layout setup
2023-02-13 13:01:58 -08:00
Ivan Nieto Vivanco 99122ccb50 Add migration to fix already escaped formats in the database 2023-02-12 17:40:04 -06:00
Ivan Nieto Vivanco 6936efd387 Remove e() function from customfield format input 2023-02-12 16:27:37 -06:00
Ivan Nieto Vivanco f0bf16d784 Fix more uneven tags 2023-02-12 12:01:40 -06:00
Ivan Nieto Vivanco 9a68a747a0 Fix uneven tags 2023-02-12 11:59:56 -06:00
Ivan Nieto Vivanco 81cc9f3700 Adds images to emailed user inventory report 2023-02-12 08:23:50 -06:00
akemidx 5714824aa7 translations for the layout setup 2023-02-09 17:24:34 -05:00
snipe e79818967d Merge pull request #12490 from akemidx/manufacturer_marker
Removed "required" marker for manufacturer on asset models (since it is not actually required)
2023-02-09 12:43:14 -08:00
akemidx 32ed70259e sweedish chef fixes up your typos 2023-02-09 15:39:10 -05:00
snipe 35ab4a4cce Merge pull request #12489 from marcusmoore/fix/encoding-errors-in-importer
Improve error messaging around invalid characters in import
2023-02-08 15:08:23 -08:00
akemidx 1a651b33fc manufacturer marker removal 2023-02-08 17:31:39 -05:00
Marcus Moore 73f355f3a8 Return 422 instead of 500 when import is invalid 2023-02-08 12:39:42 -08:00
Marcus Moore b3881a43a7 Fix return type 2023-02-08 12:34:25 -08:00
Marcus Moore c2c666aef0 Formatting 2023-02-08 12:32:57 -08:00
Marcus Moore 5962f1b627 Catch json encoding exceptions and display them to the user 2023-02-08 12:21:51 -08:00
snipe a4a3c03a7c Merge pull request #12478 from inietov/fixes/added_translation_strings_inventory_report
Fixed #12064 Mail-Template missing translation strings
2023-02-08 10:02:19 -08:00
snipe 201728989f Merge pull request #12486 from svpernova09/patch-1
Don't auto assign feature requests to Snipe
2023-02-08 07:59:58 -08:00
Joe Ferguson dea175bd40 Don't auto assign feature requests to Snipe 2023-02-08 09:57:54 -06:00
snipe 23b1e8da27 Merge remote-tracking branch 'origin/develop' 2023-02-07 18:46:30 -08:00
snipe e883a61a48 Merge pull request #12480 from snipe/fixes/ui_fix_for_user_files
Fixed UI bug where download button was missing for non-images
2023-02-07 18:46:07 -08:00
snipe 16fcc6dc44 Fixed UI bug where download button was missing for non-images
Signed-off-by: snipe <snipe@snipe.net>
2023-02-07 18:40:00 -08:00
Marcus Moore 4f9ebf6cde Fix array key 2023-02-07 16:40:27 -08:00
Ivan Nieto Vivanco 49b6a1cc53 Adds translation strings to theinventory report sent to users 2023-02-07 18:29:19 -06:00
Marcus Moore 787f619a6b Standardize test method syntax 2023-02-07 16:28:40 -08:00
Marcus Moore 505ca48da2 Remove test method without assertions 2023-02-07 16:17:36 -08:00
Marcus Moore 6b8c0f9e88 Make BaseTest abstract 2023-02-07 16:17:16 -08:00
Marcus Moore 3fdf4dea1b Use factories for relationships in asset factory 2023-02-07 16:17:05 -08:00
Marcus Moore 6dbcec2310 Exclude Dusk tests from phpunit test suite 2023-02-07 16:16:39 -08:00
akemidx 75f3cb3079 fixing external if statement 2023-02-07 19:02:12 -05:00
akemidx c0074baa26 functionality to Apple Warranty link 2023-02-07 17:27:39 -05:00
snipe 4f9587da57 Merge remote-tracking branch 'origin/develop' 2023-02-07 13:34:57 -08:00
snipe 4b2d35e05d Merge pull request #12474 from snipe/fixes/destroy_method_for_fieldsets
Fixed mismatched field/fieldset
2023-02-07 13:33:38 -08:00
Marcus Moore 321a34a9d3 Make phpstan configuration more flexible 2023-02-07 13:32:32 -08:00
snipe c1d484b5df Fixed mismatched field/fieldset
Signed-off-by: snipe <snipe@snipe.net>
2023-02-07 13:31:50 -08:00
Marcus Moore fd524c5f14 Remove ignore errors section covered by larastan config 2023-02-07 12:48:41 -08:00
Marcus Moore e4cf59c034 Sort paths 2023-02-07 12:46:13 -08:00
Marcus Moore efac2259db Include Larastan configuration file 2023-02-07 12:25:13 -08:00
snipe ea644f8d47 Still throwing errors, but trying to fix the docblock
Signed-off-by: snipe <snipe@snipe.net>
2023-02-07 11:02:20 -08:00
snipe dd5f256450 We shouldn’t need this because aliases??
Signed-off-by: snipe <snipe@snipe.net>
2023-02-07 11:02:02 -08:00
snipe f4617d8d5b Added larastan and psalm to composer dev
Signed-off-by: snipe <snipe@snipe.net>
2023-02-07 11:01:21 -08:00
snipe 32be88d796 Psalm and phpstan configs
Signed-off-by: snipe <snipe@snipe.net>
2023-02-07 11:00:59 -08:00
snipe 219d92dcfb The sea, Brady.
Signed-off-by: snipe <snipe@snipe.net>
2023-02-07 11:00:30 -08:00
Ivan Nieto Vivanco d4c838a979 Add condition in activity report to only access assigned item id if it exist 2023-02-07 11:26:49 -06:00
Ivan Nieto Vivanco ddabe7cc9f Added Guard Clause to License Importer to return if no empty seat is found 2023-02-07 01:36:55 -06:00
Marcus Moore c03079944a Be more explicit in test case 2023-02-06 16:06:13 -08:00
snipe cd5546e4a1 Fixed wonky switch statement indenting
Signed-off-by: snipe <snipe@snipe.net>
2023-02-06 12:44:17 -08:00
snipe d52d32fed9 Fixed visibility for constants and methods
Signed-off-by: snipe <snipe@snipe.net>
2023-02-06 12:44:02 -08:00
snipe 7363d4e223 FIxed yoda operator
Signed-off-by: snipe <snipe@snipe.net>
2023-02-06 12:43:35 -08:00
snipe c8c5dddcc1 Removed unused else condition
Signed-off-by: snipe <snipe@snipe.net>
2023-02-06 12:43:19 -08:00
snipe 1651dbb68d Use null coalescing operator
Signed-off-by: snipe <snipe@snipe.net>
2023-02-06 12:43:00 -08:00
snipe d95adcae37 Fixed Implicit array creation is disallowed.
Signed-off-by: snipe <snipe@snipe.net>
2023-02-06 12:41:54 -08:00
snipe 8a8575bf2d Made constant DATA_SESSION_KEY public
Signed-off-by: snipe <snipe@snipe.net>
2023-02-06 12:40:32 -08:00
snipe 590cb6a15b Removed unneeded concat
Signed-off-by: snipe <snipe@snipe.net>
2023-02-06 12:40:09 -08:00
snipe aeb8dfb07d Added phpinsights
Signed-off-by: snipe <snipe@snipe.net>
2023-02-06 12:39:55 -08:00
snipe a60510c063 Added insights config
Signed-off-by: snipe <snipe@snipe.net>
2023-02-06 12:39:48 -08:00
snipe 8841f04333 Fixed array bracket indenting
Signed-off-by: snipe <snipe@snipe.net>
2023-02-06 12:39:38 -08:00
snipe ab6ca0e066 Added parens
Signed-off-by: snipe <snipe@snipe.net>
2023-02-06 12:39:22 -08:00
snipe ec2afee57d Fixed yoda operator
Signed-off-by: snipe <snipe@snipe.net>
2023-02-06 12:39:12 -08:00
snipe b10ea0c25c Removed unused variable
Signed-off-by: snipe <snipe@snipe.net>
2023-02-06 12:38:56 -08:00
snipe 686d1aaae7 Removed unused variable
Signed-off-by: snipe <snipe@snipe.net>
2023-02-06 12:38:29 -08:00
Marcus Moore 0e57e4836e Add translation for Company 2023-02-06 12:21:23 -08:00
Marcus Moore 45e8e9bbed Move company name to better location 2023-02-06 12:21:09 -08:00
Marcus Moore 38cdcdf064 Eager load company 2023-02-06 10:59:51 -08:00
Marcus Moore 78343ddb7c Add asset's company name to checkout page 2023-02-06 10:58:10 -08:00
Godfrey M 74c64c1fc5 adds validation to the update hook, removes typos and deadlines 2023-02-06 09:40:57 -08:00
dependabot[bot] ea0f505db7 Bump docker/build-push-action from 3 to 4
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 3 to 4.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-06 08:07:13 +00:00
snipe b37c4553ef Merge remote-tracking branch 'origin/develop' 2023-02-02 23:41:05 -08:00
snipe b0f4015bb4 Merge pull request #12459 from snipe/fixes/broken_route_in_deleted_models
Updated model restore route
2023-02-02 23:40:39 -08:00
snipe dc414d3552 Updated model restore route
Signed-off-by: snipe <snipe@snipe.net>
2023-02-02 23:38:59 -08:00
Marcus Moore 0cefc7de15 Skip security headers middleware when testing 2023-02-02 18:37:35 -08:00
Marcus Moore 9a0c66bd30 Clear some extra lines 2023-02-02 18:30:18 -08:00
Marcus Moore d8e92d29c0 Improve readability 2023-02-02 18:25:54 -08:00
Marcus Moore 93a62c87c2 Implement test for searching users 2023-02-02 17:57:24 -08:00
Marcus Moore 89eff23e44 Continue implementing tests 2023-02-02 17:41:32 -08:00
snipe 41b0756286 Merge remote-tracking branch 'origin/develop' 2023-02-02 15:35:41 -08:00
snipe f9ef49f886 Merge pull request #12457 from snipe/fixed/regression_on_field_associations
Fixed regression in fieldset -> field association
2023-02-02 15:35:22 -08:00
snipe 51f3857a31 Fixed something I think I broke
Signed-off-by: snipe <snipe@snipe.net>
2023-02-02 15:32:45 -08:00
Marcus Moore a2e47d19fc Scaffold tests for user select list api and begin to implemenet 2023-02-02 13:47:00 -08:00
snipe bbf6e5e69e Merge pull request #12421 from akemidx/hardware_blades_translations
Fixed: translations added for the hardware blades
2023-02-02 13:02:46 -08:00
akemidx b8951e2b54 fixing name from vipuser to vip 2023-02-02 15:58:05 -05:00
akemidx 37ce68af5b once again fixing an apostrophe 2023-02-02 15:54:05 -05:00
akemidx 29851c626f Merge branch 'develop' into user_setup_translation 2023-02-02 14:34:09 -05:00
snipe 1f60afa8e3 Merge remote-tracking branch 'origin/develop' 2023-02-02 11:28:41 -08:00
snipe 64aea8d374 Merge pull request #12456 from snipe/features/add_notes_to_user_history
Fixed #12449 - Added checkout/checkin  note to user history
2023-02-02 11:28:08 -08:00
snipe 7344bbdd7f Added checkout/checkin note to user history
Signed-off-by: snipe <snipe@snipe.net>
2023-02-02 11:26:33 -08:00
snipe 782abe1cf3 Merge remote-tracking branch 'origin/develop' 2023-02-02 11:09:18 -08:00
snipe 2d3318feb6 Merge pull request #12454 from snipe/fixes/fixed_500_when_userfile_does_not_exisy
Handle missing userfiles more gracefully
2023-02-02 11:08:54 -08:00
snipe 78dca7fd32 Handle missing userfiles more gracefully
Signed-off-by: snipe <snipe@snipe.net>
2023-02-02 10:49:36 -08:00
snipe 2a8851bbd7 Merge pull request #12342 from marcusmoore/fix/dusk-test-suite
Fixed Dusk Test Suite
2023-02-02 09:50:34 -08:00
akemidx 69c38bf686 translations on the User Creation page 2023-02-01 20:32:16 -05:00
Brady Wetherington 039d159cbd WIP: working on better Rollbar filtering in prod 2023-02-01 17:15:22 -08:00
Godfrey M 17f1772143 removes postslack from settings controller 2023-02-01 16:58:08 -08:00
Godfrey M 3a86547ef5 fixes messages for integration test, removes slack request file, rehouses ajax method 2023-02-01 16:51:05 -08:00
snipe 4bc804e876 Merge remote-tracking branch 'origin/develop' 2023-02-01 16:50:19 -08:00
snipe 2997de2a66 Merge pull request #12445 from snipe/fixes/exit_out_ldap
Added an exit for the LDAP disabled sync short-circuit
2023-02-01 16:48:00 -08:00
snipe 0cfeab8c50 Added an exit for the LDAP disabled sync short-circuit
Signed-off-by: snipe <snipe@snipe.net>
2023-02-01 16:46:58 -08:00
snipe c706759b5c Merge remote-tracking branch 'origin/develop' 2023-02-01 16:42:11 -08:00
snipe 1432403c9f Merge pull request #12444 from snipe/fixes/only_fire_ldap_sync_in_console_if_enabled
Fixed: Short-circuit the LDAP sync is LDAP is disabled
2023-02-01 16:40:32 -08:00
snipe 67e6089805 Short circuit the LDAP sync is LDAP is disabled
Signed-off-by: snipe <snipe@snipe.net>
2023-02-01 16:36:30 -08:00
snipe d9cdb92014 Merge branch 'develop' into vip_tag 2023-02-01 16:03:23 -08:00
snipe ea4d5e69bc Merge pull request #12407 from akemidx/slack_message
Fixed: translation for slack message notification
2023-02-01 13:44:12 -08:00
snipe 2da4578aa5 Merge branch 'develop' into slack_message 2023-02-01 13:43:09 -08:00
snipe 1a8fb5bcfe Merge pull request #12423 from snipe/features/edit_fieldset_name
Fixed #12418 - added ability to edit custom field names via GUI
2023-02-01 13:39:39 -08:00
snipe 0d4ca218c5 Merge pull request #12437 from uberbrady/ldap_allow_undelegatable_users_to_login
Fixed: Active Directory "not-delegated+dont-expire-password+normal-accounts" can now login
2023-02-01 13:38:59 -08:00
snipe 4a6250a08c Merge pull request #12409 from akemidx/component_checkin_limit
Fixed: Checkin limit string translation for components
2023-02-01 13:37:56 -08:00
akemidx 0ffd40a217 fixing syntax 2023-02-01 16:30:07 -05:00
akemidx 33d819fd41 fixing pr 2023-02-01 16:13:53 -05:00
akemidx 90c1bfe03d fixing pr 2023-02-01 16:12:39 -05:00
akemidx 3702dd87ce fixing pr 2023-02-01 16:10:30 -05:00
akemidx 4d9d73483f fixing pr 2023-02-01 16:09:19 -05:00
akemidx 4e5b8fa213 fixing pr 2023-02-01 16:05:50 -05:00
akemidx a8643e5d35 cleaning up/adding variable 2023-02-01 15:55:16 -05:00
Godfrey M f95a904d90 adds integration button, working on its functionality 2023-02-01 12:08:13 -08:00
Marcus Moore a45ce468cc Update return type for routing mail notifications 2023-02-01 11:44:56 -08:00
Marcus Moore 3580bdae86 Use object accessor instead of array accessor 2023-02-01 11:44:35 -08:00
cram42 0f3c5d10ba Merge branch 'feature-label2' into develop 2023-02-01 18:01:46 +11:00
cram42 73fd0a24ca Clarify example asset variable 2023-02-01 17:58:58 +11:00
cram42 4b4c228f1a Correct parameter order 2023-02-01 17:56:23 +11:00
cram42 b72c6b7afc Fix 2D barcode defaults 2023-02-01 17:48:39 +11:00
snipe 38f3843c23 Merge pull request #12386 from snipe/features/fixed_12382_added_checked_out_count_to_accessories
Fixed #12382 - added checked out count to accessories
2023-01-31 19:57:12 -08:00
snipe f7ae5db4f3 Merge branch 'develop' into features/fixed_12382_added_checked_out_count_to_accessories 2023-01-31 19:56:43 -08:00
snipe 6fbd20a11b Merge remote-tracking branch 'origin/develop' 2023-01-31 19:50:18 -08:00
snipe de1141491a Replaced help text
Signed-off-by: snipe <snipe@snipe.net>
2023-01-31 19:41:42 -08:00
snipe 2d45ebe103 Merge pull request #12433 from inietov/fixes/asset_declined_date_issues
Fixed Invalid date value on assets acceptance mail notification
2023-01-31 19:14:51 -08:00
snipe 656344b1c7 Merge pull request #12429 from svpernova09/benperiton/patch-1
Cherry-picked Feature: Add DB_PORT to pgsql connection
2023-01-31 19:10:17 -08:00
snipe 7a23398c0c Merge pull request #12439 from uberbrady/fix_bootstrap_username_doubling
Fixed: username doubles on 'checked-out-to' column if display is resized [sc-19869], [fd-33242]
2023-01-31 18:10:02 -08:00
Brady Wetherington 02ca5248b1 Don't append username to the user's name if it's already there 2023-01-31 17:44:09 -08:00
snipe b1179c7b1e Merge pull request #12438 from inietov/fixes/replace_ios_homescreen_logo
Fixed #9694 Replace iOS "Add to homescreen icon"
2023-01-31 17:02:05 -08:00
Brady Wetherington a4173e3881 Permit not-delegated+dont-expire-password+normal-accounts to login 2023-01-31 16:49:41 -08:00
snipe a2a078015f Merge pull request #12435 from lukasfehling/bugfix/fixed-endpoint-for-user-notification
Fixed the endpoint for user notification with all their assigned assets
2023-01-31 12:41:47 -08:00
Godfrey M 1e0c58c3cf saves data correctly now 2023-01-31 11:32:05 -08:00
lukasfehling cddae4869f fixed the endpoint for user notification with all their assigned assets 2023-01-31 18:27:25 +01:00
Ivan Nieto Vivanco a7a578bf51 Added head only logo to be used as default in apple-touch-icon 2023-01-31 00:13:44 -06:00
Godfrey M fc044528b8 validation is working, success message appears, database is not updating 2023-01-30 16:10:02 -08:00
akemidx 214a1af61a apostrophe updates 2023-01-30 16:54:23 -05:00
Ivan Nieto Vivanco ccc7b78f62 Store the acceptance dates with format YYY-mm-dd 2023-01-30 15:11:41 -06:00
Ben Periton c2854f1bcb Update database.php
Although Postgres is not officially supported, it does seem to work ok, but to help a little bit with the Docker image, this is non-breaking change but allows the env file to specify the pgsql connection port
2023-01-29 19:28:04 -06:00
snipe 22b0b9b090 Fixed gates on fieldsets
Signed-off-by: snipe <snipe@snipe.net>
2023-01-26 17:05:41 -08:00
snipe 583a0412fe Added edit fieldsets translations
Signed-off-by: snipe <snipe@snipe.net>
2023-01-26 17:03:23 -08:00
snipe a16604285c Normalize the fieldset form
Signed-off-by: snipe <snipe@snipe.net>
2023-01-26 17:03:07 -08:00
snipe 37f5cfa8ce Added edit button for fieldsets
Signed-off-by: snipe <snipe@snipe.net>
2023-01-26 17:02:53 -08:00
Godfrey M a63ea560ae adds submit button, getting setAttribute error 2023-01-26 15:17:08 -08:00
akemidx 79d9cff22a translations added for the hardware blades 2023-01-26 16:26:31 -05:00
Marcus Moore 39289dd18e Use user provided alert email for checkout acceptances 2023-01-26 13:18:18 -08:00
snipe 8b94b208e3 Merge remote-tracking branch 'origin/develop' 2023-01-26 13:17:28 -08:00
Marcus Moore 6fc8982478 Have acceptance result notifications adhere to alerts enabled setting 2023-01-26 12:59:33 -08:00
snipe cc370084d1 Merge pull request #12341 from uberbrady/redo_scim_config
Redo SCIM config; use latest laravel-scim-server from our fork
2023-01-26 12:57:29 -08:00
Brady Wetherington cd573c484d Change the SCIM_STANDARDS_COMPLIANCE config to default to 'true' 2023-01-26 12:48:41 -08:00
akemidx df31a76906 fixed apostraphe 2023-01-26 15:02:39 -05:00
Brady Wetherington 4a54586690 Add to Accessories#index an additional gate-check against reports.view 2023-01-26 11:56:06 -08:00
Godfrey M 62b4c79150 adds a couple error messages 2023-01-25 16:38:08 -08:00
Godfrey M a69cb6204a adds rest of inputs, and corrects Data binding 2023-01-25 16:22:34 -08:00
Brady Wetherington c5d3b3ab81 Change out the SCIM config for a fixed one; update our fork of the SCIM-server 2023-01-25 15:59:46 -08:00
Brady Wetherington cfe9c687f9 Mark a bunch of SCIM config as nullable 2023-01-25 15:54:57 -08:00
Brady Wetherington 91cf683f3d Re-do the entire SCIM config so it no longer inherits 2023-01-25 15:53:46 -08:00
Godfrey M 2e22eeade5 adds one input 2023-01-25 14:29:20 -08:00
akemidx 53d8008a5f Merge branch 'vip_tag' of github.com:akemidx/snipe-it into vip_tag 2023-01-25 17:14:29 -05:00
akemidx b363524305 vipuser label updated to vip 2023-01-25 15:58:44 -05:00
snipe 4c3354b778 Merge branch 'develop' into vip_tag 2023-01-24 20:29:43 -08:00
snipe e7917d1f93 Rebuild prod assets
Signed-off-by: snipe <snipe@snipe.net>
2023-01-24 19:16:03 -08:00
snipe 6b729502c6 Rebuilt dev assets
Signed-off-by: snipe <snipe@snipe.net>
2023-01-24 19:13:40 -08:00
snipe be6f367565 Merge remote-tracking branch 'origin/develop' 2023-01-24 19:12:50 -08:00
snipe f0b14513db Merge pull request #12411 from uberbrady/fix_rb_16746
Resolved Rollbar error 16746 - missing array key 'extension'
2023-01-24 18:24:18 -08:00
Brady Wetherington ab12ad1140 Resolves Rollbar error 16746 - missing array key 'extension' 2023-01-24 18:19:26 -08:00
snipe 9c79fc19cb Tightened up and removed some validation that wasn’t needed
Signed-off-by: snipe <snipe@snipe.net>
2023-01-24 17:37:15 -08:00
snipe fd2a057d38 Make audit dates fillable
Signed-off-by: snipe <snipe@snipe.net>
2023-01-24 17:36:58 -08:00
Brady Wetherington b00333c9f5 Merge remote-tracking branch 'upstream/develop' into develop 2023-01-24 17:36:39 -08:00
Brady Wetherington c9f0f5fe8b Change Accessories report to use server-side pagination from URL 2023-01-24 17:35:44 -08:00
snipe a61ccbb965 Added very clunky but better error messages on that validation for date_format
Signed-off-by: snipe <snipe@snipe.net>
2023-01-24 17:33:49 -08:00
snipe 91394f7262 Removed duplicate comment section
Signed-off-by: snipe <snipe@snipe.net>
2023-01-24 17:23:06 -08:00
akemidx 3ba79600fb checkin limit for the components checkin 2023-01-24 18:17:49 -05:00
snipe 935f5018cc Merge pull request #12405 from Godmartinz/high_contrast_color_adjustments
Fixed buttons colors in high contrast theme
2023-01-24 15:17:03 -08:00
snipe 3c4f254583 Enforce Y-m-d as date format for date fields
Signed-off-by: snipe <snipe@snipe.net>
2023-01-24 13:38:53 -08:00
akemidx cafe8f3074 notification for slack message 2023-01-24 16:20:20 -05:00
akemidx 19cf170dd9 Add VIP Checkbox 2023-01-24 15:30:21 -05:00
akemidx 596846a94a Add VIP Checkbox 2023-01-24 15:29:27 -05:00
Marcus Moore b92d1d3ec7 Logically group query when searching users to scope to company 2023-01-24 11:54:56 -08:00
Godfrey M 4b51424723 fixes a couple buttons color choices in high contrast 2023-01-24 09:42:03 -08:00
Godfrey M 0f8ee22053 Creates Slack Setting Form 2023-01-24 09:25:05 -08:00
snipe 86812b024d Merge remote-tracking branch 'origin/develop' 2023-01-23 22:03:12 -08:00
snipe dc155846ca Hoist the autorization higher in the stack so we’re not doing logic or math when the user isn’t authorized to touch this
Signed-off-by: snipe <snipe@snipe.net>
2023-01-23 21:49:17 -08:00
snipe 7a9ea91be0 Merge pull request #12387 from snipe/fixes/inconsistent_UI_for_image_delete
Updated - Refactored ImageHandler request to be more re-usable, and checkboxes with missing `minimal` class for iCheck
2023-01-23 21:39:55 -08:00
snipe 02dcb0fbd7 Shorten the additiona form request invocation to just ImageUploadRequest
We already have the `use App\Http\Requests\ImageUploadRequest` clause at the top of this file.

Signed-off-by: snipe <snipe@snipe.net>
2023-01-23 21:37:35 -08:00
snipe 690bfbe16a Merge pull request #12398 from akemidx/acceptance_translations
Fixed: translations for EULA Acceptance Summary
2023-01-23 21:28:59 -08:00
cram42 c2c009a018 Merge branch 'develop' into develop 2023-01-24 09:53:42 +08:00
Marcus Moore cd582be851 Drop tables that may exist in down methods 2023-01-23 15:42:45 -08:00
Marcus Moore 760844de6f Add conditionals 2023-01-23 15:42:33 -08:00
Marcus Moore e6dc61d2cf Revert column names to legacy versions in down method 2023-01-23 15:42:05 -08:00
snipe 4c7b731acc Merge remote-tracking branch 'origin/develop' 2023-01-23 15:36:05 -08:00
snipe 35dfaddd79 Merge pull request #12400 from snipe/jerm/fix-import-backup-checkbox
Fixed "Backup before importing?" checkbox on import page
2023-01-23 15:35:18 -08:00
Jeremy Price d3bcc48ae5 [imports] fix "Backup before importing?" checkbox on import page
We were always taking backups before import, no matter the status of
this box.

Turns out we were testing for the presence of the property defined by
the checkbox, rather than the value of the property, and as such were
always doing a backup.

We're now checking the status, and it behaves as expected
2023-01-23 15:08:59 -08:00
akemidx 25996cbe03 translating the quick info printed out on accept x eula blades 2023-01-23 16:18:21 -05:00
snipe 4b01909806 Merge pull request #12389 from snipe/fixes/livewire_ui
Fixed #12388 - Add CSS to the div to correct the weird indenting
2023-01-23 11:42:26 -08:00
snipe 41537a2449 Added field to the API controller endpoints
Signed-off-by: snipe <snipe@snipe.net>
2023-01-22 00:56:44 -08:00
snipe 5f9af7d509 Updated API response
Signed-off-by: snipe <snipe@snipe.net>
2023-01-22 00:56:28 -08:00
snipe febfcd4803 Updated model with new field
Signed-off-by: snipe <snipe@snipe.net>
2023-01-22 00:56:19 -08:00
snipe cad76f671a Added asset_eol_date to blade
Signed-off-by: snipe <snipe@snipe.net>
2023-01-22 00:55:42 -08:00
snipe 4104d7260f Include new eol date picker blade
Signed-off-by: snipe <snipe@snipe.net>
2023-01-22 00:55:31 -08:00
snipe 3587017591 Updated EOL date in view blade
Signed-off-by: snipe <snipe@snipe.net>
2023-01-22 00:55:19 -08:00
snipe 8040d08e8c Removed formatter from EOL date
Signed-off-by: snipe <snipe@snipe.net>
2023-01-22 00:54:37 -08:00
snipe 2f7ca37666 Migration to normalize eol date for assets
Signed-off-by: snipe <snipe@snipe.net>
2023-01-22 00:54:24 -08:00
snipe abad579306 Added eol date picker
Signed-off-by: snipe <snipe@snipe.net>
2023-01-22 00:45:33 -08:00
snipe 72295c093a Add CSS to the div to correct the weird indenting - fixes #12388
Signed-off-by: snipe <snipe@snipe.net>
2023-01-21 18:24:23 -08:00
snipe cd8cb445ba Corrected fieldname for user fieldname for avatar in Controller
Signed-off-by: snipe <snipe@snipe.net>
2023-01-21 18:20:53 -08:00
snipe 2dc1182582 Don’t offer the delete option if there is no avatar currently
Signed-off-by: snipe <snipe@snipe.net>
2023-01-21 18:20:26 -08:00
snipe 93ad0d02b9 Use fieldname for aria labels too
Signed-off-by: snipe <snipe@snipe.net>
2023-01-21 18:20:02 -08:00
snipe 48c85966d7 Added gravatar and avatar as fillable
Signed-off-by: snipe <snipe@snipe.net>
2023-01-21 18:07:17 -08:00
snipe a0aed19f95 Refactor image handler
Signed-off-by: snipe <snipe@snipe.net>
2023-01-21 18:05:55 -08:00
snipe f77d871dff Use the imageHandler for profile avatar changes
Signed-off-by: snipe <snipe@snipe.net>
2023-01-21 18:05:20 -08:00
snipe 3674f46ce0 Added arial labels
Signed-off-by: snipe <snipe@snipe.net>
2023-01-21 16:42:44 -08:00
snipe cfa342c81a Updated HTML for “standard” image edit/delete
Signed-off-by: snipe <snipe@snipe.net>
2023-01-21 16:23:04 -08:00
snipe 563a252d18 Updated checkboxed with missing minimal class for iCheck
Signed-off-by: snipe <snipe@snipe.net>
2023-01-21 14:57:52 -08:00
snipe 2bdf3d3f44 Missed a few strong HTML tags
Signed-off-by: snipe <snipe@snipe.net>
2023-01-21 14:44:10 -08:00
snipe 60eab08735 Added ->with(‘users as users_count’) in Accessory query
Signed-off-by: snipe <snipe@snipe.net>
2023-01-21 14:41:07 -08:00
snipe 90c1631820 Added users_count to transformer for API
Signed-off-by: snipe <snipe@snipe.net>
2023-01-21 14:40:35 -08:00
snipe dceb77d4d4 Refactored numRemaining, removed unnecessary numCheckout
Signed-off-by: snipe <snipe@snipe.net>
2023-01-21 14:40:20 -08:00
snipe 46e3e8a3dd Added new users_count field to API
Signed-off-by: snipe <snipe@snipe.net>
2023-01-21 14:39:53 -08:00
snipe 56090bc645 Re-ordered notes to be more consistent, fixed missing iCheck class
Signed-off-by: snipe <snipe@snipe.net>
2023-01-21 14:38:35 -08:00
snipe fd73bee850 Fixed hardcoded string and added new checkout count to accessory view
Signed-off-by: snipe <snipe@snipe.net>
2023-01-21 14:38:05 -08:00
snipe 2564da648b Merge remote-tracking branch 'origin/develop' 2023-01-19 16:22:09 -08:00
snipe b59dcc7b30 Merge pull request #12379 from marcusmoore/fix/row-divider-overflow
Fix minor visual bug on asset show page
2023-01-19 16:21:31 -08:00
snipe d020ab455d Bumped hash
Signed-off-by: snipe <snipe@snipe.net>
2023-01-19 15:56:53 -08:00
snipe 05a3f20d51 Updated production assets
Signed-off-by: snipe <snipe@snipe.net>
2023-01-19 15:55:59 -08:00
snipe 69ab42b3f9 Merge pull request #12380 from snipe/maintenance/asset_updates
Updated dev assets
2023-01-19 15:53:55 -08:00
snipe 0080ac92e7 Updated dev assets
Signed-off-by: snipe <snipe@snipe.net>
2023-01-19 15:52:06 -08:00
snipe 9508a97852 Merge pull request #12378 from marcusmoore/fix/allow-removing-asset-name-during-checkout
Allow users to set a blank asset name during checkout
2023-01-19 14:50:58 -08:00
Marcus Moore 0fa956403c Fix row divider overflow 2023-01-19 14:16:28 -08:00
Marcus Moore 181f96ad33 Allow users to set a blank asset name during checkout 2023-01-19 12:35:44 -08:00
snipe 04e28c2d34 Merge pull request #12377 from inietov/fixes/visual_glitch_deleting_importing_files
Fixed #12340  Deleting imported files visually drops first element in table.
2023-01-19 11:59:40 -08:00
Ivan Nieto Vivanco f045008237 Add index to deleteFile() call, so it knows what element delete 2023-01-19 13:04:49 -06:00
snipe fa9116b184 Merge pull request #12369 from snipe/features/add_byod_to_assets
Added BYOD to assets
2023-01-18 16:09:45 -08:00
snipe 155977de2d Merge pull request #12370 from marcusmoore/fix/file-upload-tab-permissions
Fixed file uploads for accessories, components, and consumables
2023-01-18 16:08:53 -08:00
snipe 378dc968b7 Derp. Copypasta
Signed-off-by: snipe <snipe@snipe.net>
2023-01-18 15:44:28 -08:00
Marcus Moore c089f6eff2 Reference the accessory instance instead of the model 2023-01-18 13:48:01 -08:00
Marcus Moore e506ed7950 Remove extra quote 2023-01-18 13:42:09 -08:00
Marcus Moore 07744ca7bd Reference the consumable instance instead of the model 2023-01-18 13:41:58 -08:00
snipe 0c39c7a53d Updated blades to add byod as a “status”
Signed-off-by: snipe <snipe@snipe.net>
2023-01-18 13:25:46 -08:00
snipe fce620b54f Added byod to blades
Signed-off-by: snipe <snipe@snipe.net>
2023-01-18 13:11:02 -08:00
snipe 33fe2b57f7 Added new byod strings
Signed-off-by: snipe <snipe@snipe.net>
2023-01-18 13:10:48 -08:00
snipe 45019c65f1 BYOD migration
Signed-off-by: snipe <snipe@snipe.net>
2023-01-18 13:10:39 -08:00
snipe acd182e3d2 Added byod to presenter with boolean formatter
Signed-off-by: snipe <snipe@snipe.net>
2023-01-18 13:10:30 -08:00
snipe 48b8cfcef9 Added byod to model, removed duplicate validation rule
Signed-off-by: snipe <snipe@snipe.net>
2023-01-18 13:04:36 -08:00
snipe f626413502 Added byod to API transformer
Signed-off-by: snipe <snipe@snipe.net>
2023-01-18 13:04:02 -08:00
snipe b80d52a9c3 Added byod to asset controller for create and update methods
Signed-off-by: snipe <snipe@snipe.net>
2023-01-18 13:03:51 -08:00
snipe ee4b8f4694 Added byod to API controller
Signed-off-by: snipe <snipe@snipe.net>
2023-01-18 13:03:31 -08:00
Marcus Moore ca1198ceb2 Constrain the bottom bar to the content window 2023-01-18 12:55:20 -08:00
Marcus Moore b31e000165 Have Info and History tables in accessory show page span entire width of row 2023-01-18 12:54:52 -08:00
Godfrey M 7ce230fadc missed a few renames 2023-01-18 08:57:59 -08:00
Godfrey M 6fbb484dfd renames db column for auto_assign boolean, rewords trans string, default value of 1 now 2023-01-18 08:43:03 -08:00
snipe 956bd384b0 Merge pull request #12364 from snipe/features/make_2fa_sortable
BREAKING: Partial fix for #12356: Make 2FA sortable in user list
2023-01-17 20:24:05 -08:00
snipe 7e22663326 Merge pull request #12363 from corydlamb/Ampersand-Patch
Fixed #12362: Bug With Passwords Including Ampersands?
2023-01-17 19:17:50 -08:00
snipe c3e4d9d773 Make column name consistent with field name (BREAKING)
Signed-off-by: snipe <snipe@snipe.net>
2023-01-17 18:27:47 -08:00
snipe f08babfa8a Just moved some stuff around - no actual meaningful code changes
Signed-off-by: snipe <snipe@snipe.net>
2023-01-17 17:22:03 -08:00
snipe 4ef0005e7c BREAKING: changed API fieldname result for 2FA
Signed-off-by: snipe <snipe@snipe.net>
2023-01-17 17:21:40 -08:00
snipe dbda288a44 Formatting changes only for readability
Signed-off-by: snipe <snipe@snipe.net>
2023-01-17 17:21:20 -08:00
snipe eaf9332096 Added filterability to 2FA fields
Signed-off-by: snipe <snipe@snipe.net>
2023-01-17 17:21:03 -08:00
Marcus Moore 5282ca47b3 Allow users with consumables.files ability to upload files for consumables 2023-01-17 17:16:50 -08:00
Marcus Moore 23a1b2d60a Register the consumables.files ability 2023-01-17 17:15:23 -08:00
Marcus Moore 1f12137245 Close divs in correct location 2023-01-17 17:09:55 -08:00
Marcus Moore 6c89f08193 Register the accessories.files ability and allow users with the ability to upload files for accessories 2023-01-17 16:59:50 -08:00
corydlamb 295f0dd1f5 Update WelcomeNotification.php
Used htmlspecialchars_decode to fix the issue I had involving Ampersands in the password field (and I'm assuming the other fields) of the welcome notification email. Changes are all in lines 22-26. Sorry if I'm not doing this very well as this is my first pull request.
2023-01-17 19:33:25 -05:00
Marcus Moore 1fef992fa8 Allow users with components.files ability to upload files for components 2023-01-17 15:58:11 -08:00
Marcus Moore e23ee7540d Register the components.files ability 2023-01-17 15:45:40 -08:00
snipe dd8c6e92db Merge pull request #12355 from snipe/features/make_category_visable_on_models_page_by_default
Added catergories to default visiable set on asset models
2023-01-15 17:09:00 -08:00
snipe f4630d67be Added catergories to default visiable set
Signed-off-by: snipe <snipe@snipe.net>
2023-01-15 17:07:50 -08:00
snipe 6f6f99f64e Merge pull request #12354 from uberbrady/fix_npm_dependencies
Backed out less-loader version requirement so that builds still work
2023-01-14 10:57:35 -08:00
Brady Wetherington 6f89e8b0d8 Backed out less-loader version requirement so that builds still work 2023-01-14 10:53:36 -08:00
snipe 6815a16a5f Merge pull request #12353 from snipe/fixes/rollbar_logging
Only add rollbar to the logging array if the app is in production
2023-01-13 13:53:30 -08:00
snipe 0c3d03a4ce Only add rollbar to the logging array if the app is in production
Signed-off-by: snipe <snipe@snipe.net>
2023-01-13 13:50:16 -08:00
snipe 8048d06853 Merge pull request #12352 from snipe/fixes/added_south_sudan_to_country_list
Added South Sudan to country list
2023-01-13 13:24:54 -08:00
snipe 50cc69c427 Added South Sudan to country list
Signed-off-by: snipe <snipe@snipe.net>
2023-01-13 13:23:57 -08:00
snipe 021e54adaa Merge pull request #12351 from snipe/fixes/check_filename_has_value_before_delete
Check that the `$use_db_field` has a value before attempting a delete
2023-01-13 11:29:31 -08:00
snipe 9d0a15990e Check that the $use_db_field has a value before attempting a delete
Signed-off-by: snipe <snipe@snipe.net>
2023-01-13 11:26:11 -08:00
Marcus Moore 51da747809 Add note about database requirements when running Dusk tests 2023-01-11 18:05:07 -08:00
Marcus Moore 0dd7cc9967 Add note about installing ChromeDriver to testing readme 2023-01-11 13:54:28 -08:00
Marcus Moore 49f2573f36 Update testing readme 2023-01-11 13:51:01 -08:00
Marcus Moore bc80f672ee Keep the example dusk environment file 2023-01-11 13:00:34 -08:00
Marcus Moore 49383ddbe0 Delete old dusk local configuration 2023-01-11 12:58:57 -08:00
Marcus Moore 9a3a796e17 Add dusk environment files to gitignore 2023-01-11 12:57:05 -08:00
Marcus Moore e8c2b84d24 Add example dusk environment file 2023-01-11 12:51:15 -08:00
snipe 4f8951f6f1 Merge pull request #12335 from uberbrady/windows_snipeit_restore
Fixed #12004: Snipe-IT restore didn't work on Windows
2023-01-11 11:03:44 -08:00
snipe 85b712e915 Merge pull request #12337 from snipe/docs/added_jamf_rename
Added jamf-snipe-rename script to third party list
2023-01-10 18:10:47 -08:00
snipe ca244911ed Added jamf-snipe-rename script to third party list
Signed-off-by: snipe <snipe@snipe.net>
2023-01-10 18:10:13 -08:00
snipe 942681bee5 Merge pull request #12336 from snipe/features/category_query_optimization
Refactor category API for fewer queries
2023-01-10 17:54:45 -08:00
snipe 459c95064e Fixed default
Signed-off-by: snipe <snipe@snipe.net>
2023-01-10 17:54:04 -08:00
Marcus Moore b5ea8b8a4f Conditionally drop table 2023-01-10 17:29:38 -08:00
Marcus Moore aec64fa64a Comment out migration's down method to match its up method 2023-01-10 17:25:25 -08:00
Marcus Moore 03938d0f32 Conditionally drop table 2023-01-10 17:24:38 -08:00
Marcus Moore 296c9a723d Reverse column rename in migration's down method 2023-01-10 17:22:29 -08:00
snipe 2eac03db4a Merge pull request #12329 from snipe/fixes/rollbar_integration
Fixed rollbar integration if ROLLBAR_TOKEN is provided
2023-01-10 17:21:52 -08:00
Marcus Moore c5b09ed955 Fix column name typo 2023-01-10 17:21:46 -08:00
Marcus Moore 4ee3cbf60e Comment out migration's down method to match its up method 2023-01-10 17:20:20 -08:00
Marcus Moore 39ab545cf5 Update alter statement to use correct suffix for column
This is brittle...
2023-01-10 17:08:28 -08:00
Marcus Moore e5cb68cc5e Move drop column command to correct migration 2023-01-10 17:06:16 -08:00
Marcus Moore b8b2543b0d Reference the correct table in migration down method 2023-01-10 17:04:21 -08:00
Marcus Moore bc0f666906 Create Setting in test to avoid being redirected to the setup screen 2023-01-10 17:03:09 -08:00
Marcus Moore 581655f756 Run database migrations for all Dusk tests 2023-01-10 17:02:11 -08:00
Marcus Moore 2aa50859b3 Bump Dusk version to fix broken macOS chrome driver link 2023-01-10 17:01:03 -08:00
snipe 0b0fdd8aa5 Small formatting fixes, fixed typo in comment
Signed-off-by: snipe <snipe@snipe.net>
2023-01-10 16:32:18 -08:00
snipe 8f3a237ea0 More comments
Signed-off-by: snipe <snipe@snipe.net>
2023-01-10 16:29:51 -08:00
snipe 151719a91c Added comments
Signed-off-by: snipe <snipe@snipe.net>
2023-01-10 16:24:46 -08:00
snipe 825df2cf75 Load up the item counts with the individual API methods for accurate numbers without n+1
Signed-off-by: snipe <snipe@snipe.net>
2023-01-10 16:17:03 -08:00
snipe b66cd313b9 Refactored itemCount() to use existing blah_count fields if they exist
Signed-off-by: snipe <snipe@snipe.net>
2023-01-10 16:16:25 -08:00
snipe d508374c57 Disallowed category type change string
Signed-off-by: snipe <snipe@snipe.net>
2023-01-10 16:15:51 -08:00
snipe f50b622eb8 Disallow editing of category type once created, added help text
Signed-off-by: snipe <snipe@snipe.net>
2023-01-10 16:15:40 -08:00
snipe bef4224e14 Added notes to itemCount()
Signed-off-by: snipe <snipe@snipe.net>
2023-01-10 13:50:24 -08:00
snipe 249b188654 Refactor category API and transformer for query optimization
Signed-off-by: snipe <snipe@snipe.net>
2023-01-10 13:30:01 -08:00
Brady Wetherington 2170343958 Fixed #12004: Snipe-IT restore didn't work on Windows 2023-01-10 13:06:47 -08:00
snipe 17c308f3ca Merge remote-tracking branch 'origin/master' into develop 2023-01-10 02:08:23 -08:00
snipe 35136cea07 Add @subdriven as a contributor 2023-01-10 02:07:48 -08:00
snipe 0db83ad8cb Merge pull request #12158 from subdriven/master
Updated installer script for multiple fixes and features
2023-01-10 02:04:29 -08:00
snipe 62bf7b1bce Merge remote-tracking branch 'origin/develop' 2023-01-10 01:56:27 -08:00
snipe 50fdf9c33b Merge pull request #12330 from snipe/fixes/custom_status_label_sidenav
Fixed UX issue where assets sidenav would collapse if custom status label is selected
2023-01-10 01:55:52 -08:00
snipe c5c37fa95f Fixed copypasta
Signed-off-by: snipe <snipe@snipe.net>
2023-01-10 01:54:26 -08:00
snipe 9dc016aecc Fixed issue where assets sidenav would collapse if custom status label is selected
Signed-off-by: snipe <snipe@snipe.net>
2023-01-10 01:31:00 -08:00
snipe 1cf7784bb8 Logging override if ROLLBAR_TOKEN is provided
Signed-off-by: snipe <snipe@snipe.net>
2023-01-10 00:20:56 -08:00
snipe 60dcaa9e94 Merge remote-tracking branch 'origin/develop'
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	config/version.php
2023-01-09 21:11:29 -08:00
snipe 2e75bd6960 Bumped hash
Signed-off-by: snipe <snipe@snipe.net>
2023-01-09 21:11:00 -08:00
snipe 799c9c910e Merge remote-tracking branch 'origin/develop' 2023-01-09 21:09:46 -08:00
snipe 005d6d3b62 Merge pull request #12328 from snipe/fixes/revert_to_old_behavior_on_byserial
Fixed bySerial endpoint to always return a list
2023-01-09 21:09:25 -08:00
snipe 529b005d1e We were previously returning a collection - this reverts the change in the last PR to keep that behavior consistent
Signed-off-by: snipe <snipe@snipe.net>
2023-01-09 21:05:51 -08:00
snipe dd55aedb87 Merge remote-tracking branch 'origin/develop' 2023-01-09 20:47:46 -08:00
snipe be16fe948a Merge pull request #12327 from snipe/fixes/formatting_regression_with_bytag_api_response
Determine which transformer to use based on number of assets
2023-01-09 20:46:49 -08:00
snipe 7846251d25 Re-added return for no results (derp)
Signed-off-by: snipe <snipe@snipe.net>
2023-01-09 20:43:57 -08:00
snipe cc665d50ed One more refactor, hopefully simplifying
Signed-off-by: snipe <snipe@snipe.net>
2023-01-09 20:40:12 -08:00
snipe ae76d46f87 Small refactor to ALWAYS return deleted assets in a collection transformer
Signed-off-by: snipe <snipe@snipe.net>
2023-01-09 20:23:05 -08:00
snipe bf849128fc Replicate the response behavior in the bySerial endpoint
Signed-off-by: snipe <snipe@snipe.net>
2023-01-09 19:57:47 -08:00
snipe 44be8c8f60 Determine which transformer to use based on number of assets
Signed-off-by: snipe <snipe@snipe.net>
2023-01-09 19:54:21 -08:00
snipe bad1253682 Merge remote-tracking branch 'origin/develop' 2023-01-09 17:15:44 -08:00
snipe 20a9be2f6c Merge pull request #12326 from uberbrady/uncache_settings
The cache system in getSettings() cached values "forever." That's bad.
2023-01-09 17:14:22 -08:00
Brady Wetherington 39b1a5a8a0 Remove old cache key for settings 2023-01-09 16:19:25 -08:00
Brady Wetherington 2d0ac5b48b The cache system in getSettings() cached values "forever." That's bad. 2023-01-09 16:16:09 -08:00
snipe e67bd5a275 Merge remote-tracking branch 'origin/develop' 2023-01-09 16:00:33 -08:00
snipe 8d35583634 Merge pull request #12324 from snipe/features/add_username_to_asset_list
Added username to display in asset listings
2023-01-09 16:00:01 -08:00
snipe b39a9e0fe1 Merge remote-tracking branch 'origin/develop' 2023-01-09 15:54:04 -08:00
snipe ae04a8c872 Merge pull request #12325 from uberbrady/ldap_permissions_fix
Fixed #12288 - LDAP default group feature refactor
2023-01-09 15:52:02 -08:00
Brady Wetherington cbffd105a2 Fix LDAP default group feature 2023-01-09 15:23:19 -08:00
snipe a57315aed5 Added username to display in asset listings
Signed-off-by: snipe <snipe@snipe.net>
2023-01-09 12:58:58 -08:00
snipe e1263155b1 Merge pull request #12323 from snipe/translations/updated_strings
Updated language strings
2023-01-09 11:10:19 -08:00
snipe 014eab3abc Updated language strings
Signed-off-by: snipe <snipe@snipe.net>
2023-01-09 11:09:26 -08:00
snipe f1bc183043 Merge pull request #12320 from snipe/dependabot/github_actions/actions/checkout-3.3.0
Bump actions/checkout from 3.2.0 to 3.3.0
2023-01-09 10:17:06 -08:00
dependabot[bot] 2f20945516 Bump actions/checkout from 3.2.0 to 3.3.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3.2.0...v3.3.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-09 08:06:28 +00:00
snipe 91d0c383df Production assets
Signed-off-by: snipe <snipe@snipe.net>
2023-01-05 18:47:55 -08:00
snipe 886f2a0dec Merge pull request #12317 from snipe/fixes/shorten_url_display_on_view
Truncate URL with ellipsis if too long
2023-01-05 18:44:44 -08:00
snipe e05764ac34 Truncate URL with ellipsis if too long
Signed-off-by: snipe <snipe@snipe.net>
2023-01-05 18:42:26 -08:00
snipe a916c68f95 Merge remote-tracking branch 'origin/develop' 2023-01-05 18:07:59 -08:00
snipe 19e703980d Merge pull request #12316 from snipe/features/chunk_data_in_sync_script
Chunk sync script
2023-01-05 18:07:30 -08:00
snipe 6e42bce409 Removed $start variable from calback
Signed-off-by: snipe <snipe@snipe.net>
2023-01-05 18:04:06 -08:00
snipe 1a3c947b14 Chunk sync script
Signed-off-by: snipe <snipe@snipe.net>
2023-01-05 17:57:52 -08:00
snipe 4d0fc99773 Merge remote-tracking branch 'origin/develop' 2023-01-05 14:19:51 -08:00
snipe bd3f730cb2 Merge pull request #12315 from snipe/features/added_default_values_to_model_api
Features/added default values to model api
2023-01-05 14:11:24 -08:00
snipe 381f89c5a8 Added format to array
Signed-off-by: snipe <snipe@snipe.net>
2023-01-05 13:15:30 -08:00
snipe db43628bdc Added default field info to models API response
Signed-off-by: snipe <snipe@snipe.net>
2023-01-05 13:12:54 -08:00
snipe ace73acba1 Merge pull request #12263 from Godmartinz/gh12211_label_padding_adjustment
Fixed: page-break and padding at the end of document for labels
2023-01-05 09:59:35 -08:00
Godfrey M 301c4fda6e fixes conflicts 2023-01-05 09:55:25 -08:00
snipe 5898e384f8 Merge pull request #12308 from snipe/fixes/missing_translation_string
Fixed missing translation string
2023-01-04 15:13:36 -08:00
snipe 9c63f426d9 Added missing translation string
Signed-off-by: snipe <snipe@snipe.net>
2023-01-04 14:09:14 -08:00
snipe c575798b56 Merge pull request #12307 from snipe/fixes/update_less_and_css_loader
Updated less-loader and css-loader libraries
2023-01-04 14:01:03 -08:00
snipe 7123e7327f Updated less-loader and css-loader libraries
Signed-off-by: snipe <snipe@snipe.net>
2023-01-04 14:00:04 -08:00
snipe b36e81836f Merge pull request #12306 from snipe/fixes/weird_sentence_in_translations
Fixed incomplete sentence in translation file for audit interval
2023-01-04 13:57:14 -08:00
snipe b77d5801fa English is hard, apparently
Signed-off-by: snipe <snipe@snipe.net>
2023-01-04 13:56:16 -08:00
snipe 818db58a7b Merge pull request #12305 from uberbrady/fix_license_seat_reporting
Fixed: Change license_seat changing method to properly 'true up' license seats
2023-01-04 13:22:03 -08:00
Brady Wetherington c4f900e9af Change license_seat changing method to properly 'true up' license seats 2023-01-04 13:02:53 -08:00
snipe baf14c43ee Merge pull request #12298 from snipe/fixes/db_seeder_company_id
Fixed db seeder when company id is not present
2023-01-03 14:50:25 -08:00
snipe fa439a1928 Check that the array key exists before trying to seed it
Signed-off-by: snipe <snipe@snipe.net>
2023-01-03 14:45:23 -08:00
snipe d187174f00 Merge pull request #12090 from Godmartinz/deparmtnet_name_validator
Added: validation for department names at Company locations
2022-12-22 11:29:12 -08:00
snipe 6d3c5e0659 Merge pull request #12264 from Godmartinz/gh12253_display_notes_accessories
Added: notes to the accessories tab for user detail view
2022-12-21 19:04:11 -08:00
snipe c49d69c911 Merge branch 'develop' 2022-12-20 17:27:17 -08:00
snipe 685cc86d71 Sets the ldap_default_group field to nullable and default null
Signed-off-by: snipe <snipe@snipe.net>
2022-12-20 17:24:01 -08:00
snipe fb10a6f218 Merge pull request #12268 from inietov/fixes/people_count
Fixed: Dashboard user count scoping when full company support is enabled
2022-12-20 17:05:18 -08:00
Ivan Nieto Vivanco 3a9b8a4993 Calculate the proper amount of people in the dashboard if Full Company Support is enabled 2022-12-20 18:39:17 -06:00
snipe a6c7471bf5 Merge remote-tracking branch 'origin/develop' 2022-12-20 15:11:36 -08:00
snipe 128c21a905 Merge pull request #12266 from uberbrady/fix-select-all-bug
Fixed: There was a bug with BS tables' select-all which showed an incorrect list of elements
2022-12-20 15:09:30 -08:00
Brady Wetherington 75a757d6f5 There was a bug with select-all where some bits didn't quite work 2022-12-20 14:57:58 -08:00
Godfrey M e791e6592a adds notes to the accessories tab under users 2022-12-20 10:37:19 -08:00
Godfrey M 38575e93e8 fixes the rules for adding page-break and padding at the end of document 2022-12-20 09:45:41 -08:00
snipe 88291cadc1 Merge pull request #12254 from akemidx/documentating_something
Commenting on a scope in Models/Company.php
2022-12-19 12:41:32 -08:00
snipe cc40ecaa44 Merge pull request #12260 from snipe/dependabot/github_actions/actions/checkout-3.2.0
Bump actions/checkout from 3.1.0 to 3.2.0
2022-12-19 12:41:17 -08:00
akemidx 94afe2bc6a edits & typo fixes 2022-12-19 14:48:43 -05:00
dependabot[bot] 25b33d657e Bump actions/checkout from 3.1.0 to 3.2.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.1.0 to 3.2.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3.1.0...v3.2.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-19 08:07:03 +00:00
snipe 399c7590cd Merge pull request #12209 from snipe/fixes/error_downloading_unaccepted_assets
Fixed 500 when downloading the Unaccepted Assets report  [sc-19555]
2022-12-15 14:19:41 -08:00
snipe d0c5ba70f6 Merge pull request #12242 from inietov/features/add_purchase_cost_column
Added `purchase_cost` to user's default view [sc-19680]
2022-12-15 12:42:29 -08:00
akemidx 133d6ffa50 Commenting on a scope in Models/Company.php 2022-12-15 15:18:24 -05:00
Ivan Nieto Vivanco d9a21cce00 Add other items' purchase_cost columns to the same permission 2022-12-15 14:12:05 -06:00
snipe 29c2ff56ec Merge pull request #12188 from snipe/fixes/decrease_logging_for_saml_when_not_enabled
Removed extra logging case that was very noisy
2022-12-15 11:26:49 -08:00
snipe 3e7975b2c3 Merge pull request #12250 from akemidx/grey_out_pw_reset_button
Fixed: Grey out pw reset button for consistency
2022-12-15 11:25:53 -08:00
akemidx d870bc3b02 nested if loop 2022-12-15 14:19:51 -05:00
snipe 227fef76ee Merge pull request #11736 from Godmartinz/gh6508_ldap_default_group
Adds a permission group selection for directory sync
2022-12-15 11:06:53 -08:00
Godfrey M 9d44720ffd reverted changes to composer.lock 2022-12-15 11:02:34 -08:00
Godfrey M 9f3f0a25ed reverted changes to composer.lock 2022-12-15 10:53:45 -08:00
Godfrey M 2e228ccb0b redid a few things. should be good now :) 2022-12-15 10:45:42 -08:00
Godfrey M 3ee413f379 removes livewire stuff 2022-12-15 09:20:30 -08:00
Ivan Nieto Vivanco b142f8e012 Add the permission to show purchase cost column to non-admin sessions 2022-12-14 23:00:35 -06:00
snipe 418ddcfac3 Merge pull request #9876 from Toreg87/fixes/locations-deletable
Fixed #9875: Make locations deletable for non Superuser-Accounts with FullMultipleCompanySupport
2022-12-14 17:46:53 -08:00
snipe c342668f0f Update @scoo73r as a contributor 2022-12-14 17:25:39 -08:00
snipe 2f6a26ec7d Add @scoo73r as a contributor 2022-12-14 17:25:25 -08:00
snipe b89979fbec Merge remote-tracking branch 'origin/develop'
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	public/js/build/app.js
#	public/js/dist/all.js
#	public/mix-manifest.json
2022-12-14 17:06:26 -08:00
snipe f635278010 Merge pull request #12251 from snipe/security/upgrade_font_awesome
Upgraded font awesome to 6.2.1
2022-12-14 16:42:41 -08:00
snipe 8043b86786 Upgraded font awesome to 6.2.1
Signed-off-by: snipe <snipe@snipe.net>
2022-12-14 16:41:56 -08:00
snipe d13a237000 Merge pull request #12205 from Godmartinz/sc19675_add_remote_to_importer
Adds remote field to the user importer
2022-12-14 12:13:18 -08:00
akemidx b114ffd2c3 Grey out button pw reset button for consistency
When user has no email in their profile, the box is greyed out for
consistency accross all buttons on the user profile
2022-12-14 14:48:59 -05:00
snipe fabefa61b0 Merge pull request #12243 from akemidx/new_grey_out_when_no_assets
Created method in users.php for adding up all assigned to user and pr…
2022-12-13 14:00:48 -08:00
akemidx f3e57d7dc0 fixing PR 2022-12-13 16:00:59 -05:00
snipe 389ec3a3cb Merge pull request #12247 from Godmartinz/gh12225_serial_added_to_components
adds serial to components tab of assets
2022-12-13 12:57:50 -08:00
Godfrey M 6a72c344b7 removed the cuddlers 2022-12-13 12:32:30 -08:00
Godfrey M 4442b446b9 adds serial to components tab of assets 2022-12-13 10:30:37 -08:00
snipe c432fb9d70 Merge pull request #12181 from Godmartinz/gh12163_asset_age
Adds asset age to asset index and asset view pages
2022-12-13 10:28:17 -08:00
akemi 07ae91b00f Created method in users.php for adding up all assigned to user and providing an integer value. this then used to grey out buttons on user view if user has nothing assigned. 2022-12-12 15:47:53 -05:00
Ivan Nieto Vivanco 450ad3dcec Added the column purchase_cost to user's default view 2022-12-12 14:17:08 -06:00
Godfrey M fa872b09a9 fixes a typo, the world is great again 2022-12-12 10:38:31 -08:00
snipe 9833ba4ab6 Merge remote-tracking branch 'origin/develop' 2022-12-09 16:08:56 -08:00
snipe 9e8fff6e5b Merge pull request #12238 from snipe/features/add_email_to_endpoint
Add email in assigned_to on asset transformer
2022-12-09 16:08:35 -08:00
snipe 4ac09ff4e4 Add email in assigned_to on asset transformer
Signed-off-by: snipe <snipe@snipe.net>
2022-12-09 16:07:17 -08:00
snipe e26036e998 Merge remote-tracking branch 'origin/develop' 2022-12-08 17:36:01 -08:00
snipe 1017148bad Merge pull request #12233 from snipe/fixes/translation_placeholder_for_ola_pt-BR
Fixed #12215 - string for “Hello, :name” in pt-BR was using `%`
2022-12-08 17:25:19 -08:00
snipe 00ed197651 Fixed #12215 - string for “Hello, :name” in pt-BR was using %
Signed-off-by: snipe <snipe@snipe.net>
2022-12-08 17:21:55 -08:00
snipe 66f8ac1cd1 Merge remote-tracking branch 'origin/develop' 2022-12-08 14:52:13 -08:00
snipe 775df0ab60 Merge pull request #12221 from snipe/fixes/throttles_reset_password_form
Add throttle for password reset form
2022-12-08 14:51:22 -08:00
snipe 687f8971b1 Merge remote-tracking branch 'origin/develop'
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	config/version.php
2022-12-08 14:49:31 -08:00
snipe bc2a455a89 Bumped version
Signed-off-by: snipe <snipe@snipe.net>
2022-12-08 14:48:55 -08:00
snipe 97c28d9adc Add @oguzbilgic as a contributor 2022-12-08 14:44:28 -08:00
snipe 163b3f6c0b Merge remote-tracking branch 'origin/develop' 2022-12-08 14:37:35 -08:00
snipe 9b3df40ed6 Merge pull request #12231 from oguzbilgic/patch-2
Use `heroku-redis:mini` instead of `hobby` as It is deprecated
2022-12-08 11:22:14 -08:00
Oguz Bilgic 1c8ee0f706 Use heroku-redis:mini instead of hobby as It is deprecated
Heroku has renamed it's plan to `mini`.
2022-12-08 11:20:33 -08:00
snipe d7c5a6af71 Merge pull request #12224 from Godmartinz/gh12211_img_barcode_adjustment
Fixes the margin and padding for img barcode in labels
2022-12-07 16:35:04 -08:00
snipe 743264fd0e Merge remote-tracking branch 'origin/develop' 2022-12-07 16:23:50 -08:00
snipe f7da87520c Merge pull request #12134 from Godmartinz/custom_report_user_fields_missing
fixes a regression with the csv assigned to fields
2022-12-07 16:18:32 -08:00
Godfrey M ec854ddc1d adjusts the margin and padding for img barcode in labels 2022-12-07 14:52:23 -08:00
snipe 1a8b2a169b Merge pull request #12219 from snipe/fixes/typo_in_sr_text_for_apple
Fixed typo in screen reader text
2022-12-07 13:12:07 -08:00
snipe 43acd3b488 Fixed typo
Signed-off-by: snipe <snipe@snipe.net>
2022-12-07 13:11:17 -08:00
snipe c3a6874b16 Add throttle for password reset form
Signed-off-by: snipe <snipe@snipe.net>
2022-12-06 20:42:40 -08:00
Ivan Nieto Vivanco eb67d1b064 Filter items from the report if null returned 2022-12-06 18:00:16 -06:00
Godfrey M d0d0058e79 removed unwanted changes 2022-12-06 11:19:28 -08:00
Godfrey M bbd04f8876 adds the rest of the fields for Remote 2022-12-06 11:13:24 -08:00
snipe 97731cd7c8 Merge remote-tracking branch 'origin/develop'
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	public/css/dist/skins/skin-black-dark.css
#	public/css/dist/skins/skin-black-dark.min.css
#	public/css/dist/skins/skin-black.css
#	public/css/dist/skins/skin-black.min.css
#	public/css/dist/skins/skin-blue-dark.css
#	public/css/dist/skins/skin-blue-dark.min.css
#	public/css/dist/skins/skin-blue.css
#	public/css/dist/skins/skin-blue.min.css
#	public/css/dist/skins/skin-green-dark.css
#	public/css/dist/skins/skin-green-dark.min.css
#	public/css/dist/skins/skin-green.css
#	public/css/dist/skins/skin-green.min.css
#	public/css/dist/skins/skin-orange-dark.css
#	public/css/dist/skins/skin-orange-dark.min.css
#	public/css/dist/skins/skin-orange.css
#	public/css/dist/skins/skin-orange.min.css
#	public/css/dist/skins/skin-purple-dark.css
#	public/css/dist/skins/skin-purple-dark.min.css
#	public/css/dist/skins/skin-purple.css
#	public/css/dist/skins/skin-purple.min.css
#	public/css/dist/skins/skin-red-dark.css
#	public/css/dist/skins/skin-red-dark.min.css
#	public/css/dist/skins/skin-red.css
#	public/css/dist/skins/skin-red.min.css
#	public/css/dist/skins/skin-yellow-dark.css
#	public/css/dist/skins/skin-yellow-dark.min.css
#	public/css/dist/skins/skin-yellow.css
#	public/css/dist/skins/skin-yellow.min.css
#	public/mix-manifest.json
2022-12-05 16:34:34 -08:00
Godfrey M 36901d271b adds csvmatch for remote. Im a bit lost though lol 2022-12-05 16:28:19 -08:00
snipe b7a5467f8b Merge pull request #12204 from akemidx/fixcurlyquotes
Fixed: curly quotes in #12182
2022-12-05 15:33:47 -08:00
akemi 2f8a435e18 fixing curly quotes 2022-12-05 18:06:28 -05:00
snipe 9ca40716ce Merge pull request #12197 from inietov/fixes/custom_regex_defaults_to_any
Fixed #11682  Custom field type of CUSTOM REGEX defaults back to ANY on editing
2022-12-05 13:24:22 -08:00
snipe 7518cab7c8 Merge pull request #12194 from Godmartinz/FDD32094_Icon_color_change
changes the life-ring icon color with themes
2022-12-01 10:04:55 -08:00
Ivan Nieto Vivanco 8d36971c8b Properly select 'CUSTOM REGEX' from the select list if the format declares onee 2022-11-30 16:21:23 -06:00
Godfrey M 371a5bf4d6 changes the icon color with themes 2022-11-30 10:37:47 -08:00
snipe cfc4229308 Add @akemidx as a contributor 2022-11-29 13:15:28 -08:00
snipe 8bf01715a9 Merge pull request #12182 from akemidx/translate_inventory_notification
Fixed #12119 - updated user inventory language to use strings
2022-11-29 13:14:32 -08:00
akemi 55f5e7866d edits for PR 2022-11-29 15:59:36 -05:00
Godfrey M 3206929ee4 adds AgeFormatter, not working yet 2022-11-29 09:51:42 -08:00
snipe 1fe0bfe17e Removed extra logging case that was very noisy
Signed-off-by: snipe <snipe@snipe.net>
2022-11-28 19:27:42 -08:00
snipe 9c205f63ae Merge remote-tracking branch 'origin/develop' 2022-11-28 19:21:19 -08:00
snipe 0cc7389b85 Merge pull request #12187 from snipe/features/added_jobtitle_to_print
Fixed #12133 - Added job title to header in print assets view
2022-11-28 19:20:46 -08:00
snipe e21d0729c1 Add jobh title to header in print assets view
Signed-off-by: snipe <snipe@snipe.net>
2022-11-28 19:19:42 -08:00
snipe c46dc99e86 Merge remote-tracking branch 'origin/develop' 2022-11-28 17:20:57 -08:00
snipe 64a8d1d207 Merge pull request #12185 from snipe/features/add_serial_to_inventory_email
Added serial number to emailed inventory report
2022-11-28 17:20:34 -08:00
snipe 8de59d117f Added serial number to emailed inventory report
Signed-off-by: snipe <snipe@snipe.net>
2022-11-28 17:14:38 -08:00
snipe d5e702ac74 Merge remote-tracking branch 'origin/develop' 2022-11-28 14:12:38 -08:00
snipe 6113afe36e Merge pull request #12125 from inietov/fixes/email_issues
Fixed #11699 and #12065 Email issues
2022-11-28 14:09:42 -08:00
snipe 305df42f92 Merge pull request #12167 from inietov/features/no_submit_until_status_selected
Fixed #11980 Submit button deactivated in Users' Bulk Checkin if no status selected
2022-11-28 13:17:33 -08:00
snipe 9aa0356de7 Merge pull request #12159 from uberbrady/upgrade_scim_server_to_upstream
Pulled in latest upstream changes for improved standards-compliance
2022-11-28 13:15:27 -08:00
snipe d2dcb29dcb Merge remote-tracking branch 'origin/develop'
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	resources/views/models/custom_fields_form.blade.php
2022-11-28 12:27:36 -08:00
akemi 39e06a8856 Update to PR#12119, adding inventory notification to messages and changing code to be dynamicaly translated 2022-11-28 14:16:22 -05:00
Godfrey M 8d861cfd82 adds age to the asset table 2022-11-28 10:59:18 -08:00
Godfrey M 078e7281cd adds asset age to asset view 2022-11-28 10:45:58 -08:00
snipe 3ef578eb56 Merge pull request #12164 from Robert-Azelis/patch-7
Fix categories view columns matching
2022-11-23 18:47:02 -08:00
snipe 11a1ab971c Merge pull request #12166 from inietov/fixes/custom_fields_values_develop
Fixed #12046 #12137 Custom field checkboxes not holding value for develop
2022-11-23 18:44:23 -08:00
snipe d226cf189b Merge pull request #12168 from inietov/fixes/error_accepting_assets
Fixed #12161 500 error when accepting assets
2022-11-23 18:41:42 -08:00
Ivan Nieto Vivanco c082d8b90e Return empty string if no MAIL_REPLYTO_ADDR var set 2022-11-23 18:22:31 -06:00
Ivan Nieto Vivanco b1985a08c4 Checks the status before activate the submit button on users bulk-checkin 2022-11-23 17:45:59 -06:00
Ivan Nieto Vivanco 9bafe795b0 Corrected the view when editing custom fields values 2022-11-23 16:34:29 -06:00
snipe bb4c084435 Merge pull request #12165 from inietov/fixes/custom_fields_values
Fixed #12046 #12137 Custom field checkboxes not holding value
2022-11-23 15:09:58 -05:00
Ivan Nieto Vivanco feeb1c7ac8 Corrected the view when editing custom fields values 2022-11-23 12:21:07 -06:00
Robert-Azelis c2cfd8ff53 Update CategoryPresenter.php 2022-11-23 19:00:08 +01:00
Robert-Azelis 20ad4fb681 Update CategoryPresenter.php
Fix snipe#12153
2022-11-23 18:42:38 +01:00
Brady Wetherington 06a1fe5b38 Pulled in latest upstream changes for improved standards-compliance 2022-11-22 12:52:11 -08:00
snipe b6f87633f5 Merge remote-tracking branch 'origin/develop' 2022-11-22 12:36:00 -08:00
snipe e426846c23 Merge pull request #12157 from snipe/fixes/inherit_bgcolor_for_readonly
Fixed background color for readonly date picker fields
2022-11-22 16:57:34 +00:00
snipe 27898e660c Inherit the background color, since the field isn’t actually technically readonly
Signed-off-by: snipe <snipe@snipe.net>
2022-11-22 08:54:48 -08:00
Aaron 2c7364bdfe Fixed #11225: run_as_app_user unknown operand
Fixed #10581: installer does not work on CentOS7
Fixed #10105: php not found, composer failed
Fixed #9035: CentOS 7 IUS repos missing
2022-11-22 11:47:58 -05:00
snipe 0d9d02c6d6 Merge pull request #12148 from whalehub/develop
Fix restore icon in table view
2022-11-19 10:25:48 +00:00
Aaron 7c854c0a5c Fix restore icon in table view
Signed-off-by: Aaron <admin@datahoarder.dev>
2022-11-19 10:45:10 +01:00
snipe efc892cf5e Merge remote-tracking branch 'origin/develop' 2022-11-17 21:29:14 +00:00
snipe ba4c37a7f4 Merge pull request #12139 from snipe/fixes/custom_fields_api_patches
Fixed #9949 - PATCH to custom fields failing on validation (alt approach to #12011)
2022-11-17 21:28:39 +00:00
snipe f0c5560c1b Merge pull request #12141 from Godmartinz/adds_serial_number_to_history
Added `serial` column to the user history page
2022-11-17 21:15:26 +00:00
snipe 774962c122 Fixed typo
Signed-off-by: snipe <snipe@snipe.net>
2022-11-17 21:14:35 +00:00
Godfrey M 0a9fd0b867 adds serial to activity report page 2022-11-17 13:09:06 -08:00
Godfrey M 5c94ca1403 removes dead space 2022-11-17 13:06:07 -08:00
Godfrey M 86bc409d3a adds serial column to the action logs 2022-11-17 12:57:53 -08:00
snipe 24841a75d4 Move common things into the model level validation
Signed-off-by: snipe <snipe@snipe.net>
2022-11-17 19:41:10 +00:00
Godfrey M a02a04d601 fixes a regression with the csv assigned to fields 2022-11-16 16:34:57 -08:00
snipe 3997085faf Merge pull request #12122 from Godmartinz/fixes_checkout_to_all_description
fixes checkout to all description
2022-11-16 21:56:53 +00:00
snipe 3ac92e1425 Merge pull request #12127 from deloz/fix-Asset-checked-in-Email-Asset-Picture-Not-Displaying
Fixed #12095 - email logo still linking even if settings deny it
2022-11-16 21:55:59 +00:00
snipe 5661e69520 Merge remote-tracking branch 'origin/develop' 2022-11-16 17:49:14 +00:00
snipe cdcd19a7d8 Merge pull request #12132 from snipe/fixes/view_assets_page_error_when_no_custom_fields
Handle use case where there are no custom fields for any assigned models
2022-11-16 17:48:53 +00:00
snipe 489895a5fa Added comments and spacing for readability
Signed-off-by: snipe <snipe@snipe.net>
2022-11-16 17:48:28 +00:00
snipe 1122562b4e Handle use case where there are no custom fields for any assigned models
Signed-off-by: snipe <snipe@snipe.net>
2022-11-16 17:45:50 +00:00
snipe 65e46c914c Merge remote-tracking branch 'origin/develop' 2022-11-16 15:57:46 +00:00
snipe 4ffe13d3c2 Merge pull request #12131 from snipe/fixes/check_for_format_index_in_custom_field_api_call
Fixed 500 if `format` is not passed to the create custom field endpoint payload
2022-11-16 15:57:07 +00:00
snipe 5df76155ce Check for the format index in the $data array when creating a new custom field via API
Signed-off-by: snipe <snipe@snipe.net>
2022-11-16 15:53:16 +00:00
snipe e1c33d4eff Merge pull request #12129 from deloz/fix-remove-duplicate-column-checkin_email
Fixed #12109 - Duplicate column on Category listing
2022-11-16 11:41:55 +00:00
Instead of looking elsewhere, it is better to come here together 2fc7a15372 Fixed: #12109 2022-11-16 18:22:11 +08:00
Instead of looking elsewhere, it is better to come here together 9056d48775 Fixed: 12095 2022-11-16 18:16:45 +08:00
Godfrey M 8a0517fb5d removes data dump 2022-11-15 15:59:47 -08:00
Godfrey M 90828e3a87 fixes variable name 2022-11-15 15:51:52 -08:00
Godfrey M 45636b8114 adds should_autoassign boolean to users table 2022-11-15 15:42:57 -08:00
Godfrey M 9fefdea9de fixes checkout to all description 2022-11-15 12:50:46 -08:00
snipe 2239c6f7e2 Merge remote-tracking branch 'origin/develop' 2022-11-15 17:58:19 +00:00
snipe da0efaa278 Add @fernando-almeida as a contributor 2022-11-15 17:56:19 +00:00
snipe 69bde0443e Add @lukasfehling as a contributor 2022-11-15 17:56:01 +00:00
snipe 6400bdc266 Merge pull request #12120 from snipe/features/added_deleted_filter_to_search_by_tag
Added ability to include deleted items in tag search endpoint
2022-11-15 17:54:34 +00:00
snipe ffd252a00c Merge pull request #12119 from lukasfehling/feature/added-endpoint-for-user-notification
Added: API endpoint to trigger a user email notification with their assigned assets
2022-11-15 17:51:15 +00:00
snipe 7fcf6f2463 Removed deleted parameter
Signed-off-by: snipe <snipe@snipe.net>
2022-11-15 17:47:21 +00:00
snipe 5103f28598 Merge pull request #12121 from snipe/fixes/safer_file_existance_checking_for_model_files
Replace error suppression with better logic
2022-11-15 17:43:39 +00:00
snipe 60d7128a5e Replace error suppression with better logic
Signed-off-by: snipe <snipe@snipe.net>
2022-11-15 17:41:57 +00:00
snipe 2c5a0d370c Clean up API byserial and bytag, allow deleted param
Signed-off-by: snipe <snipe@snipe.net>
2022-11-15 17:33:56 +00:00
snipe bcbe517446 Added ability to include deleted items in tag search endpoint
Signed-off-by: snipe <snipe@snipe.net>
2022-11-15 17:18:09 +00:00
lukasfehling d9a9bd1c0d Added a api endpoint for sending email notifications to users with their assigned assets 2022-11-15 18:17:51 +01:00
snipe 2166fcec41 Merge pull request #12118 from snipe/features/adds_asset_tag_and_serial_to_api
Allow searching firectly for asset tag and serial
2022-11-15 17:16:17 +00:00
snipe 9a5d431962 Allow searching firectly for asset tag and serial
Signed-off-by: snipe <snipe@snipe.net>
2022-11-15 17:13:26 +00:00
snipe 6dc0846f38 Merge pull request #12117 from snipe/fixes/pr_12106_missing_slash_for_stdClass
Fixes PR #12106 missing slash for std class
2022-11-15 17:04:58 +00:00
snipe 50431c046f Fixed missing slash in stdClass
Signed-off-by: snipe <snipe@snipe.net>
2022-11-15 17:04:06 +00:00
Ivan Nieto Vivanco f0ecab7bb1 Fix typo in variable (ah-hyuck!) 2022-11-15 11:00:40 -06:00
Ivan Nieto Vivanco 7cc8b39863 Checks if settings let URL's be shown in email notifications 2022-11-15 10:55:54 -06:00
snipe ae259f36ae Merge pull request #12106 from fernando-almeida/develop
Fix HTTP AssetTransformer to generate an empty object for missing custom fields
2022-11-15 15:54:43 +00:00
Ivan Nieto Vivanco cd2997b674 Determine if email_logo or logo setting needs to be used in the Forgot Password email 2022-11-15 08:08:26 -06:00
snipe b4ff07ce9e Merge remote-tracking branch 'origin/develop' 2022-11-14 22:53:39 +00:00
snipe 8122236944 Merge pull request #12096 from snipe/features/add_custom_field_option_to_view_assets
Added custom field option to view assets
2022-11-14 22:45:26 +00:00
snipe 56c4fa7c27 Override display settings if field is encrypted
Signed-off-by: snipe <snipe@snipe.net>
2022-11-14 22:41:31 +00:00
snipe 602c2698d2 Fixed broken table header tag
Signed-off-by: snipe <snipe@snipe.net>
2022-11-14 22:06:23 +00:00
snipe ff0b68724f Merge pull request #12107 from snipe/fixes/500_on_missing_model_file
Fixed 500 error if model files are missing
2022-11-14 22:04:31 +00:00
snipe d4ac7530b6 Removed download button for files that don’t exist on the server
Signed-off-by: snipe <snipe@snipe.net>
2022-11-14 22:04:06 +00:00
snipe 4aded5e117 FIxed 500 error if model files are missing
Signed-off-by: snipe <snipe@snipe.net>
2022-11-14 22:01:33 +00:00
snipe 8d03ce5e2c Merge remote-tracking branch 'origin/develop' 2022-11-14 17:45:01 +00:00
snipe 15da39d44a Merge pull request #12105 from snipe/fixes/500_on_missing_license_files
Fixed 500 on missing license files
2022-11-14 17:44:16 +00:00
snipe 077d343f01 Prevent 500 if license file is missing
Signed-off-by: snipe <snipe@snipe.net>
2022-11-14 17:42:40 +00:00
Fernando Almeida 47ee2a8153 Fix HTTP AssetTransformer to generate an empty object for missing custom_fields instead of an empty array. 2022-11-14 16:31:08 +00:00
Cram42 17e81af4cd Add more Avery label sheets 2022-11-12 20:29:50 +08:00
Cram42 ffce6ec327 Need uppercase 2022-11-12 20:29:34 +08:00
Cram42 60ef5686ab Add "Pop Out" button for preview 2022-11-12 19:02:38 +08:00
Cram42 af0872dc23 Fix form refresh after bootstrap-table 2022-11-11 14:23:38 +08:00
Cram42 30a7a31724 Move label preview to alpine component 2022-11-11 14:23:02 +08:00
Cram42 67d021e457 Add alpinejs to deferred scripts 2022-11-11 11:25:41 +08:00
snipe ae95ee49f1 Hide the option if the field is encrypted
Signed-off-by: snipe <snipe@snipe.net>
2022-11-10 17:56:50 +00:00
snipe 2ac558494d Set column width instead of letting BS tables guess
Signed-off-by: snipe <snipe@snipe.net>
2022-11-10 17:21:07 +00:00
snipe ede16ad2c2 Removed unused block
Signed-off-by: snipe <snipe@snipe.net>
2022-11-10 17:19:35 +00:00
snipe 1e34398c99 Permissions check on the field itself
Signed-off-by: snipe <snipe@snipe.net>
2022-11-10 17:19:12 +00:00
snipe 7a5fcfb87a Loop through fields array
Signed-off-by: snipe <snipe@snipe.net>
2022-11-10 16:46:59 +00:00
snipe 1fa624420e Removed unneeded relationships
Signed-off-by: snipe <snipe@snipe.net>
2022-11-10 16:46:49 +00:00
Cram42 7108156072 Fix button disabling 2022-11-10 19:24:02 +08:00
Cram42 a4b93d4bbd Create Field Definitions helper control 2022-11-10 19:20:18 +08:00
Cram42 f849fcca89 Change the way fields are passed 2022-11-10 18:54:02 +08:00
Godfrey M 92ae271292 adds validation for department names at Company locations 2022-11-09 13:11:33 -08:00
snipe 6a9131e771 Merge pull request #12088 from uberbrady/minimal_scim_upgrade
Added new SCIM env vars; and upgraded SCIM library
2022-11-09 19:30:50 +00:00
Brady Wetherington 383bd6bb45 Add new SCIM env vars; upgrade SCIM library 2022-11-09 19:08:15 +00:00
snipe 097821b818 Slight revamping of column layouts and also added new general.display_in_user_view column
Signed-off-by: snipe <snipe@snipe.net>
2022-11-08 15:28:19 +00:00
snipe 2e56c9b521 Added new general.display_in_user_view field to form
Signed-off-by: snipe <snipe@snipe.net>
2022-11-08 15:27:59 +00:00
snipe b95d24b5eb Additional translations
Signed-off-by: snipe <snipe@snipe.net>
2022-11-08 15:27:44 +00:00
snipe f91e1d58ad Migration to add the field to the custom_fields table
Signed-off-by: snipe <snipe@snipe.net>
2022-11-08 15:27:34 +00:00
snipe 7c37c70164 Added new field to allowed_fields so that the API can change them if needed
Signed-off-by: snipe <snipe@snipe.net>
2022-11-08 15:27:22 +00:00
snipe 52dc5aa4ba Added field to controller and tranformer
Signed-off-by: snipe <snipe@snipe.net>
2022-11-08 15:26:59 +00:00
snipe 23cbee9493 Merge remote-tracking branch 'origin/develop'
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	config/version.php
2022-11-03 14:18:55 -07:00
snipe 7c21158680 Bumped version
Signed-off-by: snipe <snipe@snipe.net>
2022-11-03 14:18:13 -07:00
snipe 30f4af3ac2 Merge remote-tracking branch 'origin/develop' 2022-11-03 14:14:23 -07:00
snipe b1fa50cde2 Merge pull request #12067 from snipe/fixes/modelfile_image_path
Fixed model file image path/variable
2022-11-03 14:13:54 -07:00
snipe 236684ec92 Fixed model file image path/variable
Signed-off-by: snipe <snipe@snipe.net>
2022-11-03 14:12:49 -07:00
snipe c45e777324 Merge remote-tracking branch 'origin/develop' 2022-11-03 14:10:08 -07:00
snipe 53499b1e29 Merge pull request #12066 from snipe/fixes/small_uploads_fixes
Fixed - small uploads fixes
2022-11-03 14:08:52 -07:00
snipe 04b6f023ae Use new upload string
Signed-off-by: snipe <snipe@snipe.net>
2022-11-03 13:57:50 -07:00
snipe 3c7d63c060 Disallow uploads if app is locked
Signed-off-by: snipe <snipe@snipe.net>
2022-11-03 13:52:23 -07:00
snipe 7cb1ca8754 Fixed image path to show preview
Signed-off-by: snipe <snipe@snipe.net>
2022-11-03 13:51:48 -07:00
snipe 52e33a8b0e Merge remote-tracking branch 'origin/develop' 2022-11-03 13:27:21 -07:00
snipe 0f5fbb6a04 Re-added gitignore
Signed-off-by: snipe <snipe@snipe.net>
2022-11-03 13:27:06 -07:00
Cram42 fd9616683c Label preview auto-refresh 2022-11-03 10:20:12 +08:00
snipe 6d5ace0458 Merge pull request #12049 from uberbrady/improve_scim_externalid_support
Fixed writes to the `externalId` from SCIM
2022-11-02 15:43:55 -07:00
Cram42 3d470d6f2f Drop asset tag from default field def. 2022-11-02 22:39:08 +08:00
Cram42 53513d93fa Rework TZe labels for Asset Tag support 2022-11-02 22:38:00 +08:00
Cram42 f5fac50e91 Add preview pane 2022-11-02 19:31:34 +08:00
Cram42 36210f1c6a Allow settings to be overridden in request 2022-11-02 19:30:45 +08:00
Cram42 48fb4f2439 Add labels route for testing layouts 2022-11-02 17:23:52 +08:00
Cram42 fb467d9078 Include Asset for advanced users 2022-11-02 17:20:01 +08:00
Cram42 4fee5ece43 Support Avery L7163 2022-11-02 16:08:10 +08:00
Cram42 4bb40adfce Add Asset Tag as separate supported feature 2022-11-02 16:07:50 +08:00
Cram42 06ce40ac08 Don't add data if it's not there 2022-11-02 16:05:52 +08:00
Cram42 a8b6a4a259 Allow passing "template" param 2022-11-02 16:04:40 +08:00
Cram42 a60ee7736b Add P-touch TZe 12mm Tape Example 2022-11-02 12:22:55 +08:00
snipe 6f14355cbc Merge pull request #12060 from snipe/features/added_accessories_file_uploads
Added accessories file uploads
2022-11-01 19:51:38 -07:00
snipe eb81c290dc Accessory file upload
Signed-off-by: snipe <snipe@snipe.net>
2022-11-01 19:50:39 -07:00
snipe 2f9e097854 Merge pull request #12059 from snipe/fixes/consumables_files_translations
Use the generic file uploads strings
2022-11-01 19:32:35 -07:00
snipe 97aeb1fcec Use the generic file uploads strings
Signed-off-by: snipe <snipe@snipe.net>
2022-11-01 19:31:23 -07:00
snipe e6d259bac0 Merge pull request #12058 from snipe/features/added_uploads_to_components
Added uploads to components
2022-11-01 19:30:17 -07:00
snipe 8887d40b86 Added gitignore
Signed-off-by: snipe <snipe@snipe.net>
2022-11-01 19:29:21 -07:00
snipe 3d8e0b707e Fixed component file route controller names
Signed-off-by: snipe <snipe@snipe.net>
2022-11-01 19:29:13 -07:00
snipe 71a7176a6e Updated component blade
Signed-off-by: snipe <snipe@snipe.net>
2022-11-01 19:28:57 -07:00
snipe def89bfa0c Added some generic file translations
Signed-off-by: snipe <snipe@snipe.net>
2022-11-01 19:28:49 -07:00
snipe f1cb7ee410 Fixed some translations
Signed-off-by: snipe <snipe@snipe.net>
2022-11-01 19:28:39 -07:00
snipe 84c0f50266 Added ComponentFilesController
Signed-off-by: snipe <snipe@snipe.net>
2022-11-01 19:10:04 -07:00
snipe f51b312843 Added component routes for uploads
Signed-off-by: snipe <snipe@snipe.net>
2022-11-01 19:09:51 -07:00
Cram42 d0eb3cfc9b Merge branch 'feature-label2' into develop 2022-11-02 10:09:46 +08:00
snipe 3d3a4b02fc Added helper method for uploads
Signed-off-by: snipe <snipe@snipe.net>
2022-11-01 19:09:34 -07:00
snipe 276f534ded Updated permissions
Signed-off-by: snipe <snipe@snipe.net>
2022-11-01 19:09:21 -07:00
Cram42 19150aeb44 Add P-touch TZe 24mm Tape Example 2022-11-02 10:09:11 +08:00
snipe 1d47d9e52b Merge pull request #12057 from snipe/features/add_uploads_to_components
Added uploads to components
2022-11-01 19:07:42 -07:00
snipe 2106b64da6 Fixed some layout issues
Signed-off-by: snipe <snipe@snipe.net>
2022-11-01 19:06:49 -07:00
Cram42 cde2ba7720 Fix: Oops 2022-11-02 09:51:02 +08:00
snipe fa79a6c15f Skip storage:: facade on missing images
Signed-off-by: snipe <snipe@snipe.net>
2022-11-01 18:19:13 -07:00
snipe 761da534f3 Updated consumables UI to allow uploads and display files
Signed-off-by: snipe <snipe@snipe.net>
2022-11-01 17:53:08 -07:00
snipe b362951c95 Added consumables permissions
Signed-off-by: snipe <snipe@snipe.net>
2022-11-01 17:52:45 -07:00
snipe 25f69a7bd2 Added consumable methods for uploads
Signed-off-by: snipe <snipe@snipe.net>
2022-11-01 17:52:28 -07:00
snipe f6a6478804 Added consumable uploads gitignore
Signed-off-by: snipe <snipe@snipe.net>
2022-11-01 17:52:04 -07:00
snipe 3282702c73 Added consumables upload routes
Signed-off-by: snipe <snipe@snipe.net>
2022-11-01 17:51:53 -07:00
Cram42 6b2fe582ca Merge branch 'feature-label2' into develop 2022-11-01 20:12:28 +08:00
cram42 7e2546b31f Merge branch 'snipe:develop' into develop 2022-11-01 20:04:59 +08:00
Cram42 7b29ddd283 Tie into tag generation 2022-11-01 20:02:12 +08:00
Cram42 d37605ff18 Add localization strings 2022-11-01 20:01:18 +08:00
Cram42 6de48b4dc8 Implement settings for labels 2022-11-01 20:00:53 +08:00
Cram42 5558a005b9 Implement API for labels 2022-11-01 19:57:51 +08:00
Cram42 bb09f0168f Create Label View/Generator 2022-11-01 19:56:53 +08:00
Cram42 4ed728d954 Add template to simulate legacy label 2022-11-01 19:54:00 +08:00
Cram42 bbecdb6768 Add QR example 2022-11-01 19:53:11 +08:00
Cram42 df89406987 Create Label model and example 2022-11-01 19:52:34 +08:00
Cram42 7c355cef2d Add helper to convert between units of measurement 2022-11-01 19:49:57 +08:00
Cram42 35536b5dbd Require tecnickcom/tcpdf 2022-11-01 19:47:59 +08:00
Brady Wetherington 4e5c878b73 Needed to fix the way we write externalId from SCIM 2022-10-31 19:15:08 -07:00
snipe 5711706367 Merge remote-tracking branch 'origin/develop' 2022-10-31 12:17:06 -07:00
snipe a930661150 Check for valid category
Signed-off-by: snipe <snipe@snipe.net>
2022-10-31 12:16:39 -07:00
snipe 7cb4740359 Merge pull request #11766 from snipe/fixes/wtf_method_names_derp
Fixed (?) method name?
2022-10-26 17:39:11 -07:00
Cram42 0e69e4248c Fix: Multiple outputs at hardware/{id}/label 2022-10-27 08:12:42 +08:00
snipe 9f8f028484 Merge remote-tracking branch 'origin/develop' 2022-10-26 12:21:20 -07:00
snipe d0b9e956df Merge pull request #12042 from snipe/fixes/added_missing_hashed_password_string
Corrected string for invalid current password
2022-10-26 12:20:35 -07:00
snipe c1eee2cc72 Corrected string for invalid current password
Signed-off-by: snipe <snipe@snipe.net>
2022-10-26 12:18:29 -07:00
snipe f32183d51b Merge remote-tracking branch 'origin/develop' 2022-10-26 10:58:52 -07:00
snipe 73f30c0a41 Merge pull request #12041 from snipe/features/reflect_status_label_color_in_sidenav
Fixed #12009 - Added ability to reflect color in sidenav if one is given
2022-10-26 10:58:19 -07:00
snipe c233d7fb1c Removed extra spaces
Signed-off-by: snipe <snipe@snipe.net>
2022-10-26 10:51:06 -07:00
snipe dea0fcefbd Reflect color in sidenav if one is given
Signed-off-by: snipe <snipe@snipe.net>
2022-10-26 10:48:42 -07:00
snipe 38678d4646 Bumped hash
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	config/version.php
2022-10-26 09:50:44 -07:00
snipe 476a5cbc02 Bumped hash
Signed-off-by: snipe <snipe@snipe.net>
2022-10-26 09:49:50 -07:00
snipe bc4c6abe06 Merge remote-tracking branch 'origin/develop' 2022-10-26 09:43:33 -07:00
snipe 73f61ce032 Merge pull request #12040 from snipe/fixes/locations_asset_count
Renamed column back to assets_count for legacy
2022-10-26 09:43:01 -07:00
snipe 12c7223bcd Renamed column back to assets_count for legacy
Signed-off-by: snipe <snipe@snipe.net>
2022-10-26 09:39:03 -07:00
snipe de856d6045 Merge remote-tracking branch 'origin/develop' 2022-10-26 00:57:17 -07:00
snipe b7efb58733 Merge pull request #12038 from snipe/fixes/clear_expected_checkin_on_checkin_action
Added - set `expected_checkin` to `null` on user bulk checkin and delete
2022-10-26 00:56:43 -07:00
snipe 28b0d8cf0f Null expected_checkin on user bulk checkin and delete
Signed-off-by: snipe <snipe@snipe.net>
2022-10-26 00:54:37 -07:00
snipe 88ae8858e8 Merge remote-tracking branch 'origin/develop' 2022-10-26 00:32:39 -07:00
snipe 0bc0a116aa Merge pull request #12035 from snipe/features/added_new_tab_to_locations
Features/added new tab to locations
2022-10-26 00:32:07 -07:00
snipe e670ffe349 Added Assets Assigned to tab
Signed-off-by: snipe <snipe@snipe.net>
2022-10-26 00:16:06 -07:00
snipe a94f1c4a64 Cleaned up and added comments
Signed-off-by: snipe <snipe@snipe.net>
2022-10-26 00:15:52 -07:00
snipe b503b672ba Merge pull request #11951 from Godmartinz/AccessKey_shortcuts
adds shortcuts for listing, creating, and saving
2022-10-25 15:53:57 -07:00
snipe 72296eea5c Merge remote-tracking branch 'origin/develop' 2022-10-25 15:46:26 -07:00
snipe bc023a2566 Add @eltociear as a contributor 2022-10-25 15:46:07 -07:00
snipe 2f7e22be1e Fixed all-contributors type
Signed-off-by: snipe <snipe@snipe.net>
2022-10-25 15:46:07 -07:00
snipe 9409965239 Merge pull request #11928 from eltociear/patch-1
Fix typo in Dockerfile.fpm-alpine
2022-10-25 15:45:42 -07:00
snipe f54c92ade2 Merge pull request #12028 from StarlessNights/feature/add-memcached-php-extensions-to-docker-images
Fixed #12027: Add memcached php extensions to docker images
2022-10-25 15:42:15 -07:00
snipe b1fb70cb7b Merge remote-tracking branch 'origin/develop' 2022-10-25 15:35:04 -07:00
snipe 9e08936cbc Merge pull request #12030 from uberbrady/scim_externalid_support
Added externalId support to SCIM integration
2022-10-25 14:51:52 -07:00
Brady Wetherington cd385e0865 Set scim_externalid to nullable, default null 2022-10-25 14:38:19 -07:00
Brady Wetherington 1e3281c76c Add externalId support to SCIM integration 2022-10-25 14:19:01 -07:00
Iisakki Jaakkola af4d62759f Added php memcached extension to docker Alpine image. 2022-10-25 16:16:25 +03:00
Iisakki Jaakkola 9452973845 Added php memcached extension to the docker image. 2022-10-25 16:16:25 +03:00
snipe 8e23787888 Merge remote-tracking branch 'origin/develop' 2022-10-21 17:44:04 -07:00
snipe 3b16157d6b Fixed typo
Signed-off-by: snipe <snipe@snipe.net>
2022-10-21 17:43:53 -07:00
snipe 3ec3d38c9f Merge remote-tracking branch 'origin/develop' 2022-10-21 17:01:00 -07:00
snipe ae430959a4 Merge pull request #12015 from snipe/fixes/revert_processing_button
Changed button icon for importer
2022-10-21 17:00:22 -07:00
snipe 85a85082b7 Changed button icon for importer
Signed-off-by: snipe <snipe@snipe.net>
2022-10-21 16:59:19 -07:00
snipe 5acb493efd Merge pull request #12008 from snipe/features/add_default_loc_to_location_view
Added default tab to locations
2022-10-21 16:43:24 -07:00
snipe 515b14a001 Updated JS to better handle input IDs
Signed-off-by: snipe <snipe@snipe.net>
2022-10-20 19:21:09 -07:00
snipe 4eed2baa31 Added default tab to locations
Signed-off-by: snipe <snipe@snipe.net>
2022-10-20 19:06:58 -07:00
snipe 453f2c3b0e Merge pull request #12006 from uberbrady/ldap_manager_cache
Added cache manager lookups in LDAP for performance boost
2022-10-20 17:06:23 -07:00
Brady Wetherington bc78d341a0 Caches manager lookups in LDAP for performance boost 2022-10-20 16:52:40 -07:00
snipe da579a302c Merge remote-tracking branch 'origin/develop' 2022-10-19 19:09:34 -07:00
snipe edf191b724 Merge pull request #11995 from uberbrady/ldap_manager_fix
Fixed: Okta LDAP Manager Attribute - Try to better-handle LDAP Manager settings
2022-10-19 19:04:10 -07:00
Brady Wetherington 12d86bd6e2 Erroneous line-break removal - re-add 2022-10-19 19:01:52 -07:00
Brady Wetherington c4f11de90d Remove incorrect comment. 2022-10-19 18:49:19 -07:00
Brady Wetherington 8fb61cf5f8 Try to better handle LDAP Manager settings that don't line up with what we expect 2022-10-19 18:36:16 -07:00
Godfrey M f2d4a61e3c removes dead space 2022-10-18 15:31:37 -07:00
Godfrey M 3f25a1bf61 removes dead code 2022-10-18 15:25:38 -07:00
Godfrey M f9ac447dd1 adds default group to LDAP 2022-10-18 15:18:09 -07:00
snipe 4e83b06d71 Merge remote-tracking branch 'origin/develop' 2022-10-18 15:00:51 -07:00
snipe 23e613f903 Fixed kit parse error on model edit
Signed-off-by: snipe <snipe@snipe.net>
2022-10-18 15:00:33 -07:00
snipe f1c82ca732 Merge pull request #11988 from snipe/fixes/wrong_icons_for_mobile_location_view
Fixed wrong icons for mobile view for locations listing
2022-10-17 20:14:01 -07:00
snipe 2543fa6b98 Fixed user icon for tab
Signed-off-by: snipe <snipe@snipe.net>
2022-10-17 20:04:42 -07:00
snipe 7c34652da0 Fixed incorrect icons for mobile view on location tabs
Signed-off-by: snipe <snipe@snipe.net>
2022-10-17 20:02:27 -07:00
snipe aa3f94973f Merge remote-tracking branch 'origin/develop' 2022-10-17 14:45:05 -07:00
snipe 1ec303931a Merge pull request #11986 from Godmartinz/FD31357_depreciation
Fixes the calc of months and fixes typo of the word depreciation
2022-10-17 14:44:46 -07:00
Godfrey M d359bcb88d adds proper spacing 2022-10-17 13:15:10 -07:00
Godfrey M 28059c878a gets the proper amount of months and fixes typo of the word depreciation 2022-10-17 11:16:29 -07:00
Phan Nguyen e457b2e98d Correct assignedusers relation setting 2022-10-17 13:10:09 +07:00
snipe b7bcfaccc9 Merge pull request #11834 from uberbrady/try_catch_notifications
try/catch wrap notifications on checkin/checkout
2022-10-13 14:20:22 -07:00
snipe f4a3f896bd Merge remote-tracking branch 'origin/develop'
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	config/version.php
2022-10-13 13:20:35 -07:00
snipe 0303df4b25 Bumped version
Signed-off-by: snipe <snipe@snipe.net>
2022-10-13 13:19:51 -07:00
snipe 9151868839 Merge remote-tracking branch 'origin/develop' 2022-10-13 13:06:52 -07:00
snipe 8c6aaec9ce Merge pull request #11971 from snipe/localization/new_translations
Added new translations
2022-10-13 13:06:16 -07:00
snipe fb228d6ded Updated strings
Signed-off-by: snipe <snipe@snipe.net>
2022-10-13 12:57:10 -07:00
snipe 1360ce90a5 Updated strings
Signed-off-by: snipe <snipe@snipe.net>
2022-10-13 12:52:45 -07:00
snipe 3549afe157 Added strings
Signed-off-by: snipe <snipe@snipe.net>
2022-10-13 12:43:24 -07:00
snipe cfb780b20b Remove unused files
Signed-off-by: snipe <snipe@snipe.net>
2022-10-13 12:39:10 -07:00
snipe eb9f17122e Updated strings
Signed-off-by: snipe <snipe@snipe.net>
2022-10-13 12:21:09 -07:00
snipe 2ef45afb2b Removed extraneous files
Signed-off-by: snipe <snipe@snipe.net>
2022-10-13 12:18:57 -07:00
snipe c8baf4c6ad Updated prod assets
Signed-off-by: snipe <snipe@snipe.net>
2022-10-12 16:25:43 -07:00
snipe 0b20cf6d70 Merge remote-tracking branch 'origin/develop' 2022-10-12 16:24:46 -07:00
snipe ecc6bd8a24 Updated dev assets
Signed-off-by: snipe <snipe@snipe.net>
2022-10-12 16:24:31 -07:00
snipe 3c9c89355e Aaaand master again
Signed-off-by: snipe <snipe@snipe.net>
2022-10-12 16:01:55 -07:00
snipe 43479efed0 Merge remote-tracking branch 'origin/develop' 2022-10-12 16:01:17 -07:00
snipe 80279a95ae Merge pull request #11964 from snipe/fixes/audit_admin_presenting
Use admin ID for audit log notification
2022-10-12 16:00:50 -07:00
snipe ac055c01dc Use admin ID for audit log notification
Signed-off-by: snipe <snipe@snipe.net>
2022-10-12 15:59:43 -07:00
snipe 5ff72420a6 Set branch back to develop
I hads to switch branches because the automated GH action script always targets masterb

Signed-off-by: snipe <snipe@snipe.net>
2022-10-12 11:00:06 -07:00
snipe 55b33c1042 Merge pull request #11944 from snipe/dependabot/github_actions/actions/checkout-3.1.0
Bump actions/checkout from 2 to 3.1.0
2022-10-12 10:59:21 -07:00
snipe a499a92bb7 Added @nh314 as a contributor
Signed-off-by: snipe <snipe@snipe.net>
2022-10-12 10:57:50 -07:00
snipe e7ae7742b0 Merge pull request #11949 from nh314/Remove-required-mark
Remove required mark
2022-10-12 10:55:49 -07:00
snipe 98f2e0271b Merge pull request #11942 from nh314/develop
Correct comparison logic
2022-10-12 10:55:29 -07:00
snipe e721665fd8 Merge remote-tracking branch 'origin/develop' 2022-10-12 10:53:42 -07:00
snipe cd43fc50fb Merge pull request #11960 from snipe/fixes/better_validation_for_ldap_filter
Sets nullable attribute on validation
2022-10-12 10:53:08 -07:00
snipe 06803092c5 Merge pull request #11952 from snipe/features/clearer_activated_helptext
Added clearer LDAP activated helptext
2022-10-12 10:52:56 -07:00
snipe 0312ecf09d Sets nullable attribute on validation
Signed-off-by: snipe <snipe@snipe.net>
2022-10-12 10:30:47 -07:00
snipe 0ed50f4e58 Merge remote-tracking branch 'origin/develop' 2022-10-12 10:22:48 -07:00
snipe 3f105cd3b2 Merge pull request #11959 from inietov/fixes/depreciation_date
Fixed Depreciation date diff readable precision
2022-10-12 10:21:37 -07:00
Ivan Nieto Vivanco ab0c5bcd9d Add precision parameter to the diffForHumans() Carbon function to report 2022-10-12 12:16:13 -05:00
snipe 5ba01728d9 More text tweaking
Signed-off-by: snipe <snipe@snipe.net>
2022-10-11 12:51:25 -07:00
snipe ae0eb378e4 Additional clarification
Signed-off-by: snipe <snipe@snipe.net>
2022-10-11 12:43:54 -07:00
snipe ad8a2387f0 Updated help text to be more clear
Signed-off-by: snipe <snipe@snipe.net>
2022-10-11 12:38:37 -07:00
Godfrey M 4fa01350c3 adds shortcuts for listing, creating, and saving 2022-10-11 12:00:15 -07:00
Phan Nguyen d3161fad02 Remove required mark
Because it actually not required by model.
2022-10-11 15:49:56 +07:00
dependabot[bot] 36eb51b52f Bump actions/checkout from 2 to 3.1.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.1.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3.1.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-10 08:36:34 +00:00
Phan Nguyen 8ff109e9da Correct comparison logic
Comparison operator should be greater than or equal
2022-10-08 12:54:15 +07:00
snipe 15da3b831d Merge pull request #11937 from Godmartinz/gh11868_sidebar_unclickable
Fixes the margin top adjustment for desktop
2022-10-06 10:43:27 -07:00
Godfrey M 0c6441ebed removes the margin top adjustment for desktop 2022-10-06 10:35:28 -07:00
snipe fbfc9d123c Merge remote-tracking branch 'origin/develop' 2022-10-06 09:26:07 -07:00
snipe cd942196cc Merge pull request #11933 from inietov/fixes/500_creating_new_user_undefined_variable_item
Fixed Error 500 undefined variable item creating a new user.
2022-10-06 09:07:18 -07:00
Ivan Nieto Vivanco f1edbc9810 Send item variable that the datepicker needs 2022-10-06 09:15:00 -05:00
Ikko Ashimine 66e64cb136 Fix typo in Dockerfile.fpm-alpine
enviroment -> environment
2022-10-06 11:53:13 +09:00
snipe 1ef3eb94db Merge remote-tracking branch 'origin/develop' 2022-10-05 17:55:33 -07:00
snipe 25e4b7d59d Merge pull request #11927 from uberbrady/use_improved_scim
Use the new scim-trace feature from our fork of laravel-scim-server lib
2022-10-05 17:53:20 -07:00
Brady Wetherington 9605dec22a Use the new scim-trace feature from our fork of laravel-scim-server lib 2022-10-05 17:43:59 -07:00
snipe ca937667b4 Indented divs per @uberbrady
Signed-off-by: snipe <snipe@snipe.net>
2022-10-05 17:21:39 -07:00
snipe e9c61903f1 Merge pull request #11926 from snipe/features/add_start_and_term_dates_to_users
Added start and end dates to users
2022-10-05 17:20:37 -07:00
snipe 14b7319b63 Added start/end to sortable columns
Signed-off-by: snipe <snipe@snipe.net>
2022-10-05 17:07:07 -07:00
snipe 9d641573b5 Make the APU return null instead of blank
Signed-off-by: snipe <snipe@snipe.net>
2022-10-05 17:01:04 -07:00
snipe 3605aa8f5a Added clear button to generic datepicker and made it wider
Signed-off-by: snipe <snipe@snipe.net>
2022-10-05 16:59:06 -07:00
snipe 0817308822 Added start/end to edit/view screens
Signed-off-by: snipe <snipe@snipe.net>
2022-10-05 16:58:49 -07:00
snipe bdfac1a345 Added start/end to the users API
Signed-off-by: snipe <snipe@snipe.net>
2022-10-05 16:58:37 -07:00
snipe f7a9be92ca Store data for start and end
Signed-off-by: snipe <snipe@snipe.net>
2022-10-05 16:58:26 -07:00
snipe 56ba8a7e24 Added API select fields and filters
Signed-off-by: snipe <snipe@snipe.net>
2022-10-05 16:58:16 -07:00
snipe cf62761d18 Added date casting and fillable to models
Signed-off-by: snipe <snipe@snipe.net>
2022-10-05 16:57:59 -07:00
snipe d23e178c62 Adde language strings
Signed-off-by: snipe <snipe@snipe.net>
2022-10-05 16:56:10 -07:00
snipe 7353ecd388 Added start_date and end_date migration to users table
Signed-off-by: snipe <snipe@snipe.net>
2022-10-05 16:55:59 -07:00
snipe 18663c2599 Merge pull request #11925 from inietov/fixes/checkbox_customfields_comma_issues
Fixed #11710 - Validation of checkbox data with multiple values
2022-10-05 16:48:32 -07:00
Ivan Nieto Vivanco 5b8e0b3af1 Use a regex (gulp) to admit ',' (comma) and ', '(comma plus space) as customfields checkbox value delimiter 2022-10-05 18:40:07 -05:00
snipe dab83091d2 Merge remote-tracking branch 'origin/develop' 2022-10-05 12:12:27 -07:00
snipe 4c0be7ec98 Merge pull request #11924 from snipe/features/autoglossonym_locales
Added autoglossonyms for locales and translations for countries
2022-10-05 12:09:29 -07:00
snipe 018f71a157 Switched to translations for better autoglossonym support
Signed-off-by: snipe <snipe@snipe.net>
2022-10-05 11:46:42 -07:00
snipe 9f03f0f6f6 Updated link
Signed-off-by: snipe <snipe@snipe.net>
2022-10-04 23:39:47 -07:00
snipe da40c0ad48 Dev assets
Signed-off-by: snipe <snipe@snipe.net>
2022-10-04 18:09:18 -07:00
snipe c70c8ce856 Merge pull request #11916 from Godmartinz/gh11868_sidebar_unclickable
fixes mobile views and clickability of sidebar menu
2022-10-04 18:07:02 -07:00
snipe fe49ac79d1 Updated all contributors
Signed-off-by: snipe <snipe@snipe.net>
2022-10-04 18:06:09 -07:00
snipe 687a764fc1 Dev to master in version.php
Signed-off-by: snipe <snipe@snipe.net>
2022-10-04 17:53:16 -07:00
snipe 81be84568e Bumped version
Signed-off-by: snipe <snipe@snipe.net>
2022-10-04 17:52:24 -07:00
snipe 61fa0bda4d Merge pull request #11917 from snipe/updates/updated_language_strings
Updated lnaguage strings
2022-10-04 17:49:27 -07:00
snipe 81d2a3acda Updated lnaguage strings
Signed-off-by: snipe <snipe@snipe.net>
2022-10-04 17:48:43 -07:00
snipe 931d81d825 Merge pull request #11908 from snipe/features/nicer_view_assets_ui_for_regular_users
Overhaul of UI for unprivileged users
2022-10-04 16:41:44 -07:00
snipe bcebc1e33b Stylistic refactoring
Signed-off-by: snipe <snipe@snipe.net>
2022-10-04 16:37:33 -07:00
snipe ba0483b33e Phrasing!
Signed-off-by: snipe <snipe@snipe.net>
2022-10-04 16:21:10 -07:00
snipe 97b9f96030 Added nag alert for unaccepted assets
Signed-off-by: snipe <snipe@snipe.net>
2022-10-04 16:16:21 -07:00
snipe 891b5b2882 Added routes, language
Signed-off-by: snipe <snipe@snipe.net>
2022-10-04 15:45:25 -07:00
Godfrey M e21660ae05 off by a pixel 2022-10-04 12:11:37 -07:00
Godfrey M 53392d6069 fixes mobile views and clickability of sidebar menu 2022-10-04 12:01:13 -07:00
snipe 3469e49470 First UI overhaul
Signed-off-by: snipe <snipe@snipe.net>
2022-10-03 21:28:22 -07:00
snipe e9224f094e Merge pull request #11906 from inietov/fixes/server_error_downloading_unaccepted_assets
Fixed error 500 when downloading asset acceptance report. [sc-19555]
2022-10-03 16:40:28 -07:00
Ivan Nieto Vivanco 25c10c3819 Filter non-asset items from download unaccepted assets report 2022-10-03 18:12:30 -05:00
snipe b9419c7454 Merge pull request #11901 from snipe/security/escape_formats_in_csv
Use `EscapeFormula()` in CSV export
2022-09-30 11:59:11 -07:00
snipe b07c4caa37 Extra whitespace
Signed-off-by: snipe <snipe@snipe.net>
2022-09-30 11:47:27 -07:00
snipe aa52bc6c6a Added Vautia
Signed-off-by: snipe <snipe@snipe.net>
2022-09-30 11:47:20 -07:00
snipe 5a7e35c0e8 Made a conditional escape according to .env
Signed-off-by: snipe <snipe@snipe.net>
2022-09-30 09:48:43 -07:00
snipe bae200edd7 Use EscapeFormula() in CSV export
Signed-off-by: snipe <snipe@snipe.net>
2022-09-30 09:29:17 -07:00
snipe 2fd197c2db Merge pull request #11896 from snipe/fixes/500_on_depreciation
Fixed depreciation API call
2022-09-29 17:09:39 -07:00
snipe 36484d50ef Fixed depreciation API call
Signed-off-by: snipe <snipe@snipe.net>
2022-09-29 17:07:42 -07:00
snipe 2b7c8cf82b Merge pull request #11895 from uberbrady/switch_dashboard_piechart_to_percent
Modified dashboard tooltips to add percentage as well as count
2022-09-29 14:11:16 -07:00
Brady Wetherington 0424308863 Modified dashboard tooltips to add percentage as well as count 2022-09-29 13:46:56 -07:00
snipe 78580136f6 Merge pull request #11894 from uberbrady/improve_piechart_labels_legends
Added counts to Dashboard Pie Chart legends and tooltips
2022-09-29 13:27:28 -07:00
Brady Wetherington 420c216973 Added counts to Dashboard Pie Chart legends and tooltips 2022-09-29 13:20:58 -07:00
snipe 9c6fa18454 Merge pull request #11893 from snipe/features/switch_dash_pie_to_status_type
Fixed #11521 - Add option to switch to using status meta from status label name
2022-09-29 13:02:28 -07:00
snipe 70c766e8b3 Added setting to choose dashboard type
Signed-off-by: snipe <snipe@snipe.net>
2022-09-29 04:16:46 -07:00
snipe 0b2ce7be07 Fixed #11521 - switch to using status meta from status label name
Signed-off-by: snipe <snipe@snipe.net>
2022-09-29 03:48:58 -07:00
snipe 3d48dd19cb Merge pull request #11890 from snipe/fixes/statuslabels_assetlist
Fixed #11889 - API route for status labels asset listing
2022-09-29 00:51:25 -07:00
snipe 08bab4f101 Fixed #11889 - API route for status labels asset listing
Signed-off-by: snipe <snipe@snipe.net>
2022-09-29 00:50:07 -07:00
snipe 95b49f8deb Merge pull request #11886 from sunflowerbofh/tmp-replace-patchwork-utf8
Tmp replace patchwork utf8
2022-09-28 10:32:07 -07:00
Katharina Drexel 4f5d536e32 Fixed: #11871 Replacing (deprecated) patchwork/utf8 by polyfill/mbstring. 2022-09-28 14:52:02 +02:00
snipe 9dbc5070f8 Remove phplint (for now)
Signed-off-by: snipe <snipe@snipe.net>
2022-09-27 16:47:09 -07:00
snipe 055a2f827f Merge pull request #11872 from sunflowerbofh/tmp-replace-patchwork-utf8
Fixed #11871 Replacing (deprecated) patchwork/utf8 by polyfill/mbstring.
2022-09-27 16:46:12 -07:00
snipe 8d3fe423e1 Merge pull request #11671 from chartjes/ch-fix-tests
Fixed unit test suite that was not running, added working browser test
2022-09-27 16:20:56 -07:00
snipe 1377725a97 Dev assets
Signed-off-by: snipe <snipe@snipe.net>
2022-09-27 14:53:47 -07:00
snipe 58ccfe9226 Updated prod assets
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	public/css/dist/skins/skin-black-dark.css
#	public/css/dist/skins/skin-black-dark.min.css
#	public/css/dist/skins/skin-blue-dark.css
#	public/css/dist/skins/skin-blue-dark.min.css
#	public/css/dist/skins/skin-green-dark.css
#	public/css/dist/skins/skin-green-dark.min.css
#	public/css/dist/skins/skin-orange-dark.css
#	public/css/dist/skins/skin-orange-dark.min.css
#	public/css/dist/skins/skin-purple-dark.css
#	public/css/dist/skins/skin-purple-dark.min.css
#	public/css/dist/skins/skin-red-dark.css
#	public/css/dist/skins/skin-red-dark.min.css
#	public/css/dist/skins/skin-yellow-dark.css
#	public/css/dist/skins/skin-yellow-dark.min.css
#	public/mix-manifest.json
2022-09-27 14:51:19 -07:00
snipe 05ac9f4a68 Updated dev assets
Signed-off-by: snipe <snipe@snipe.net>
2022-09-27 14:47:54 -07:00
snipe 0889cd61cf Updated skins
Signed-off-by: snipe <snipe@snipe.net>
2022-09-27 14:47:09 -07:00
snipe 8168ca4074 Merge pull request #11853 from Godmartinz/ldap_test_results_color
Fixes the color choice for the ldap_test_results
2022-09-27 14:46:46 -07:00
snipe de399a9f8f Merge remote-tracking branch 'origin/develop'
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	public/css/dist/all.css
#	public/js/build/app.js
#	public/js/dist/all.js
#	public/mix-manifest.json
2022-09-27 14:46:30 -07:00
snipe af150f0192 Add @BasO12 as a contributor 2022-09-27 14:44:32 -07:00
snipe c194c8a0c8 Merge pull request #11764 from BasO12/master
Added notes to audit mail notification
2022-09-27 14:43:50 -07:00
snipe a7b83fc531 Merge pull request #11854 from inietov/fixes/location_issue_during_import
Fixed #11847 404 error during Import if a checkout type of location is specified and no checkout location is passed
2022-09-27 14:34:26 -07:00
snipe ef22da622d Merge pull request #11870 from snipe/dependabot/github_actions/codacy/codacy-analysis-cli-action-4.2.0
Bump codacy/codacy-analysis-cli-action from 4.1.0 to 4.2.0
2022-09-27 14:33:53 -07:00
dependabot[bot] 8443796cbe Bump codacy/codacy-analysis-cli-action from 4.1.0 to 4.2.0
Bumps [codacy/codacy-analysis-cli-action](https://github.com/codacy/codacy-analysis-cli-action) from 4.1.0 to 4.2.0.
- [Release notes](https://github.com/codacy/codacy-analysis-cli-action/releases)
- [Commits](https://github.com/codacy/codacy-analysis-cli-action/compare/v4.1.0...v4.2.0)

---
updated-dependencies:
- dependency-name: codacy/codacy-analysis-cli-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-27 21:33:19 +00:00
snipe ac996a771c Merge pull request #11882 from snipe/security/upgraded_fontawesome
Upgraded fontawesome
2022-09-27 14:27:22 -07:00
snipe 942eaac2ee Upgraded fontawesome
Signed-off-by: snipe <snipe@snipe.net>
2022-09-27 14:25:44 -07:00
snipe ada2a2cd43 Merge pull request #11878 from inietov/fixes/asset_importer_duplicate_fields
Delete duplicate fields from the importer dropdown menu [sc-19547]
2022-09-27 14:21:30 -07:00
Ivan Nieto Vivanco 06ba9356ca Delete another set of duplicates 2022-09-26 18:57:35 -05:00
Ivan Nieto Vivanco e034f7b674 Delete another duplicate that somehow has survived 2022-09-26 18:56:24 -05:00
Ivan Nieto Vivanco 4d14243f57 Delete duplicate fields from the importer dropdown menu 2022-09-26 18:51:13 -05:00
snipe 88a371082d Merge remote-tracking branch 'origin/develop' 2022-09-26 16:29:21 -07:00
snipe ee7e26ae8d Merge pull request #11877 from snipe/features/use_built_in_clear_on_datepicker
Use BS datepicker’s built in clear button
2022-09-26 16:23:27 -07:00
snipe 9d93c72534 Use BS datepicker’s built in clear button
Signed-off-by: snipe <snipe@snipe.net>
2022-09-26 14:34:35 -07:00
snipe 44b72e0f5f Merge remote-tracking branch 'origin/develop' 2022-09-26 13:49:48 -07:00
snipe d91d226652 Merge pull request #11857 from inietov/fixes/throw_exception_instead_of_redirect_when_no_available_licenseseats
Fixed #11827 Throw exception when there are no available seats for checkout.
2022-09-26 13:43:57 -07:00
snipe 091ef62cbe Merge pull request #11856 from inietov/fixes/purchase_date_not_nullable
Fixed Purchase date "readonly" value makes purchase date unable to be nulled in update form [sc-19540]
2022-09-26 13:38:24 -07:00
Katharina Drexel 8316a4eb92 Fixed: #11871 Replacing (deprecated) patchwork/utf8 by polyfill/mbstring. 2022-09-26 12:06:06 +02:00
snipe b4518677bd Merge pull request #11762 from geo-chen/master
correcting default mysql port from 3309 to 3306
2022-09-22 15:12:11 -07:00
Ivan Nieto Vivanco 23cf556a8b Adds cursor:pointer to indicate a clickable link 2022-09-20 22:24:52 -05:00
Ivan Nieto Vivanco c0f83a7927 Delete not necessary conditional 2022-09-20 19:02:01 -05:00
Ivan Nieto Vivanco 5a1062f0f4 Delete debugging symbols (just kidding, it's just a dd() function) 2022-09-20 18:58:31 -05:00
Ivan Nieto Vivanco c32676596c Redirect correctly if not enough license seats exists to be checkout 2022-09-20 18:55:53 -05:00
Ivan Nieto Vivanco f75917d34d Add a link used to clear the purchase date input 2022-09-20 17:53:55 -05:00
Godfrey M c55f2d5417 corrects color for query and results of ldap sync test 2022-09-20 10:35:55 -07:00
Ivan Nieto Vivanco e267f5491a Adds a check for empty location values on import 2022-09-19 19:05:48 -05:00
Godfrey M 571ce5b741 corrects the color choice for the ldap_test_results 2022-09-19 11:59:02 -07:00
snipe 733b0750a2 Merge remote-tracking branch 'origin/develop' 2022-09-16 14:20:25 -07:00
snipe 9369165007 Merge pull request #11842 from snipe/security/license_file_access
Check for `licenses.files` permissions
2022-09-16 14:19:37 -07:00
snipe f75d348dc0 Fixed license policy method
Signed-off-by: snipe <snipe@snipe.net>
2022-09-16 14:06:46 -07:00
snipe dcab1381e7 Check for licenses.files permissions
Signed-off-by: snipe <snipe@snipe.net>
2022-09-16 14:00:27 -07:00
snipe 0924d2144b Merge remote-tracking branch 'origin/develop'
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	public/css/build/app.css
#	public/css/build/overrides.css
#	public/css/dist/all.css
#	public/mix-manifest.json
2022-09-15 21:47:14 -07:00
snipe 9cae4f1d1b Merge pull request #11838 from snipe/features/larger_checkboxes_in_lists
Larger checkbox in lists
2022-09-15 21:44:42 -07:00
snipe ca70988879 Larger checkbox in lists
Signed-off-by: snipe <snipe@snipe.net>
2022-09-15 21:42:16 -07:00
snipe 421c9baecc # Conflicts:
Signed-off-by: snipe <snipe@snipe.net>
#	public/css/dist/all.css
#	public/css/dist/bootstrap-table.css
#	public/js/dist/bootstrap-table.js
#	public/mix-manifest.json
2022-09-15 20:11:07 -07:00
snipe 5c9e84f663 Bumped hash
Signed-off-by: snipe <snipe@snipe.net>
2022-09-15 20:09:00 -07:00
snipe fbb5f1445a Merge pull request #11837 from snipe/fixes/disappearing_checkboxes
Downgraded BS Tables
2022-09-15 20:06:42 -07:00
snipe 07e0fec1de Downgraded BS Tables
Signed-off-by: snipe <snipe@snipe.net>
2022-09-15 20:05:29 -07:00
snipe c6cbf3712e Merge remote-tracking branch 'origin/develop' 2022-09-15 16:22:47 -07:00
snipe 0f777b3168 Merge pull request #11836 from snipe/fixes/500_if_image_is_missing
Fixed 500 error if uploaded file is missing from asset view
2022-09-15 16:21:13 -07:00
snipe 62ad3fad1c Remove DL button if file doesn’t exist
Signed-off-by: snipe <snipe@snipe.net>
2022-09-15 16:11:27 -07:00
snipe eb1e287c15 Better handle missing files
Signed-off-by: snipe <snipe@snipe.net>
2022-09-15 16:08:13 -07:00
snipe 3eab44f748 Merge pull request #11835 from snipe/fixes/depreciation_when_no_purchase_date
Fixes 500 in depreciation on asset view when no purchase date
2022-09-15 15:52:58 -07:00
snipe 1885e73704 Ignore warning icon if no purchase date
Signed-off-by: snipe <snipe@snipe.net>
2022-09-15 15:42:47 -07:00
snipe 24910433a1 Fixed 500 when depreciation is set but no purchase_date
Signed-off-by: snipe <snipe@snipe.net>
2022-09-15 15:39:47 -07:00
Brady Wetherington 1899e4d1e8 try/catch wrap notifications on checkin/checkout 2022-09-15 13:18:42 -07:00
snipe 481eb2c7f0 Merge remote-tracking branch 'origin/develop' 2022-09-15 11:40:33 -07:00
snipe 51d7f2b97b Merge pull request #11830 from inietov/fixes/default_values_for_checkboxes_unaccessible
Fixed #9801 #11199 Default Values for Checkbox Field Types Unaccessible
2022-09-15 11:28:15 -07:00
Ivan Nieto Vivanco 9b2eda2d70 Save and show the default values properly on custom fields of type checkbox 2022-09-15 11:52:49 -05:00
Ivan Nieto Vivanco 41b75704e3 Removes format when changing to custom fields elements that doesn't need it 2022-09-15 11:21:02 -05:00
Ivan Nieto Vivanco 20220764bb Add possible values for custom fields of type checkbox 2022-09-15 11:18:54 -05:00
snipe abd2349604 Add @rnelsonee as a contributor 2022-09-14 20:08:39 -07:00
snipe ac4f91918e Merge pull request #11771 from rnelsonee/PAT_test
Fixed #11769: PAT Test hardcoded text
2022-09-14 20:01:18 -07:00
snipe 28f0b72bcd Merge remote-tracking branch 'origin/develop' 2022-09-14 19:56:16 -07:00
snipe ad7bc6f38a Merge pull request #11825 from snipe/features/added_applecare_lookup_link
Added Applecare lookup link if manufacturer is apple
2022-09-14 19:54:47 -07:00
snipe 72feaee6c0 Added Applecare lookup link if manufacturer is apple
Signed-off-by: snipe <snipe@snipe.net>
2022-09-14 19:43:48 -07:00
snipe 4ac3650d64 Merge remote-tracking branch 'origin/develop' 2022-09-14 18:21:40 -07:00
snipe 3877770160 Merge pull request #11824 from snipe/fixes/removed_assetlog_from_custom_report
Fixed custom asset report timeout - removed assetlog
2022-09-14 18:20:14 -07:00
snipe 3192a68b06 Pulled assetlog from custom report controller
Signed-off-by: snipe <snipe@snipe.net>
2022-09-14 18:17:52 -07:00
snipe 284b4d869f Merge pull request #11823 from Godmartinz/gh11822_depreciation_calc_off
Fixes depreciation calculations off
2022-09-14 17:39:59 -07:00
Godfrey M 6b6a079440 fixes current value and monthly depreciation on reports and calculations 2022-09-14 17:01:18 -07:00
Godfrey M a0624fe179 reworks the depreciation formula, includes months passed instead of months remaining 2022-09-14 16:00:21 -07:00
snipe d598f75721 Merge pull request #11811 from inietov/fixes/min_qty_not_importing_consumables
Fixed Mini quantity field values are not importing into Snipe-IT
2022-09-14 12:12:52 -07:00
Godfrey M 9b448227f7 tinkering to no avail 2022-09-13 11:40:10 -07:00
Ivan Nieto Vivanco d51eca20f0 Add min_amt field in Consumables and Accessories imports 2022-09-12 18:11:48 -05:00
snipe 9b5790b7e6 Merge pull request #11072 from snipe/fixes/support_apache_24
YOLO
2022-09-12 14:26:43 -07:00
Godfrey M 28bc97f29f one line away from this being over with 2022-09-12 11:40:16 -07:00
snipe a8a00f0a79 Updated prod JS assets
Signed-off-by: snipe <snipe@snipe.net>
2022-09-12 11:08:29 -07:00
snipe cbd16174d8 Merge pull request #11810 from snipe/maintenance/updated_dev_assets
Updated compiled assets
2022-09-12 10:55:40 -07:00
snipe 448aefac28 Updated compiled assets
Signed-off-by: snipe <snipe@snipe.net>
2022-09-12 10:54:54 -07:00
snipe b23cd6d4f0 Merge pull request #11808 from snipe/snyk-upgrade-390057161cf95c21d9a4b53f57207321
[Snyk] Upgrade bootstrap-table from 1.20.2 to 1.21.0
2022-09-11 16:56:22 -07:00
snyk-bot b0ea1a31dc fix: upgrade bootstrap-table from 1.20.2 to 1.21.0
Snyk has created this PR to upgrade bootstrap-table from 1.20.2 to 1.21.0.

See this package in npm:
https://www.npmjs.com/package/bootstrap-table

See this project in Snyk:
https://app.snyk.io/org/snipe/project/3d53e1dd-b8bf-46b5-ba61-18ce26933166?utm_source=github&utm_medium=referral&page=upgrade-pr
2022-09-11 23:55:26 +00:00
snipe 11a2f96b4f Merge pull request #11806 from snipe/snyk-upgrade-390057161cf95c21d9a4b53f57207321
[Snyk] Upgrade bootstrap-table from 1.20.2 to 1.21.0
2022-09-11 01:30:34 -07:00
snyk-bot 7361977cdc fix: upgrade bootstrap-table from 1.20.2 to 1.21.0
Snyk has created this PR to upgrade bootstrap-table from 1.20.2 to 1.21.0.

See this package in npm:
https://www.npmjs.com/package/bootstrap-table

See this project in Snyk:
https://app.snyk.io/org/snipe/project/3d53e1dd-b8bf-46b5-ba61-18ce26933166?utm_source=github&utm_medium=referral&page=upgrade-pr
2022-09-10 23:32:02 +00:00
snipe 659703bd7d Merge pull request #11790 from inietov/fixes/double_login_issue_when_switching_users
Fixed Double login when switching users
2022-09-06 17:03:21 -07:00
Ivan Nieto Vivanco 3aff97ace1 Remove the previous user hashed password 2022-09-06 18:43:35 -05:00
Rick Nelson 6e82de2f47 Fixed #11769: PAT Test hardcoded text 2022-09-01 11:21:02 -04:00
snipe ae505ef44d Literally have no idea how this ever worked
Signed-off-by: snipe <snipe@snipe.net>
2022-08-31 19:20:35 -07:00
snipe e86e96e159 Merge pull request #11765 from snipe/fixes/colspan_for_delete_checkboxes
Increased colspan for checkboxes
2022-08-31 13:35:21 -07:00
snipe 93428e1ed4 Increased colspan for checkboxes
Signed-off-by: snipe <snipe@snipe.net>
2022-08-31 13:34:27 -07:00
Godfrey M 193b31e427 select options working, testing sync then done 2022-08-31 12:58:33 -07:00
Godfrey M 70ac8af9c4 . 2022-08-31 09:53:20 -07:00
BasO12 61e1650542 Add files via upload 2022-08-31 13:08:09 +02:00
BasO12 ab54ac9408 Add files via upload 2022-08-31 13:07:05 +02:00
snipe dcbd407698 Merge pull request #11661 from inietov/fixes/notifications_asset_acceptance
Send notifications when Acceptance Assets actions occur [sc-9917]
2022-08-30 12:14:58 -07:00
geo-chen 4e7fea3468 correcting default mysql port from 3309 to 3306
installation breaks using default config and manual edits to correct the port is currently required
2022-08-30 20:40:49 +08:00
geo-chen 3ef25c3a4d correcting default mysql port from 3309 to 3306
installation breaks using default config and manual edits to correct the port is currently required
2022-08-30 20:40:35 +08:00
geo-chen 22596f4bb8 correcting default mysql port from 3309 to 3306
installation breaks using default config and manual edits to correct the port is currently required
2022-08-30 20:40:19 +08:00
geo-chen 8fdca7f42b correcting default mysql port from 3309 to 3306
installation breaks using default config and manual edits to correct the port is currently required
2022-08-30 20:40:04 +08:00
geo-chen 1f04cfdb44 correcting default mysql port from 3309 to 3306
installation breaks using default config and manual edits to correct the port is currently required
2022-08-30 20:39:50 +08:00
geo-chen 04c130e596 correcting default mysql port from 3309 to 3306
installation breaks using default config and manual edits to correct the port is currently required
2022-08-30 20:39:34 +08:00
snipe 7fa9214beb Merge pull request #11489 from Godmartinz/bug/sc-19333/expiring-assets-report-email-content-ordering
Fixed the order expiring assets are listed in notifications
2022-08-29 12:37:01 -07:00
Godfrey M ea63049b4b removed redundancy with raw query 2022-08-29 12:33:51 -07:00
Godfrey M 0c362e8b57 gets the groups selector to appear but options are blank 2022-08-29 12:09:56 -07:00
snipe e94b5ac435 Merge pull request #11758 from snipe/security/xss_on_dashboard_note
Fixed possible XSS on dashboard note
2022-08-29 11:50:48 -07:00
snipe 9cf5f30c77 Set safeMode to true and use helper for all parsedown
Signed-off-by: snipe <snipe@snipe.net>
2022-08-29 11:26:47 -07:00
snipe e8f2e50ada Add @dsferruzza as a contributor 2022-08-29 10:10:13 -07:00
snipe 3527902ba3 Merge pull request #11752 from dsferruzza/fixes/s3-file-size
Fixed #11742: display correct file sizes when using S3(-like) storage
2022-08-29 10:08:10 -07:00
David Sferruzza f60ea9581d Fixed #11742: display correct file sizes when using S3(-like) storage 2022-08-28 12:07:14 +02:00
Chris Hartjes 74fe3dc733 Updated testing-related documentation 2022-08-26 13:55:12 -04:00
snipe 96ec96ff7f Merge pull request #11737 from inietov/fixes/validation_error_still_without_required_rule
Fixed Validation error when empty default customfield values
2022-08-25 17:54:04 -07:00
snipe 4fd1827576 Merge pull request #11738 from inietov/fixes/problem_checkin_and_delete_users
Fixed #11695 Problem with checkin all and delete user.
2022-08-25 17:52:51 -07:00
Ivan Nieto Vivanco 0d4e9c183b Save correct id in action log if the bulk-checkin is of type license 2022-08-25 19:16:48 -05:00
Ivan Nieto Vivanco 1ff2d15c4a Replace 'required' rule with 'nullable' to allow blank default customfields values 2022-08-25 18:16:50 -05:00
Godfrey M fc6fefdb4e adds migration, variables, checkbox,working on groups 2022-08-25 15:19:38 -07:00
snipe 482a7b2a3a Merge pull request #11700 from inietov/fixes/unaccepted_assets_reminder_500
Fixed 500 error when sending unaccepted assets reminder
2022-08-25 14:00:00 -07:00
snipe 6f0f6c8042 Don’t prevent deletion if user has consumables checked out
Signed-off-by: snipe <snipe@snipe.net>
2022-08-25 12:51:02 -07:00
snipe 4cc9b5a5a2 Merge remote-tracking branch 'origin/develop'
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	config/version.php
2022-08-25 12:34:38 -07:00
snipe 8720a58b51 Bumped version
Signed-off-by: snipe <snipe@snipe.net>
2022-08-25 12:34:02 -07:00
snipe 22710afee3 Merge remote-tracking branch 'origin/develop' 2022-08-25 12:28:06 -07:00
snipe 968f8fb554 Merge pull request #11735 from snipe/security/logout_other_devices
Fixed: Log user out of other devices when they change their password
2022-08-25 12:26:13 -07:00
snipe 6fde72a693 Log user out of other devices when they change their password
Signed-off-by: snipe <snipe@snipe.net>
2022-08-25 12:24:26 -07:00
snipe afb7fa2e81 Merge remote-tracking branch 'origin/develop' 2022-08-24 18:12:26 -07:00
snipe c9ef49ec65 Merge pull request #11731 from snipe/fixes/add_sig_column_to_user_history
Fixed #10593 - added signature column to user history
2022-08-24 18:08:41 -07:00
snipe 36ab794adc Added signature field to user history
Signed-off-by: snipe <snipe@snipe.net>
2022-08-24 18:05:43 -07:00
snipe 2ad9c39090 Merge pull request #11730 from inietov/fixes/importing_licenses_field_mismatch
Fixed #11679 Importing Licenses - Field Mismatch
2022-08-24 17:31:12 -07:00
Ivan Nieto Vivanco c59fd7b8da Fix importer field mapping for command line 2022-08-24 19:20:23 -05:00
snipe 44e598b0dc Updated branch name in version
Signed-off-by: snipe <snipe@snipe.net>
2022-08-24 17:17:38 -07:00
snipe ffd38292cf Merge pull request #11729 from uberbrady/improve_docker_assetmodels_restore
Fixed #11708 - pre-create private_storage directories for Docker restores
2022-08-24 17:16:21 -07:00
snipe 660c1429b2 Merge pull request #11728 from snipe/fixes/adds_style_to_readonly_date_fields
Added style to readonly date fields
2022-08-24 17:14:16 -07:00
Brady Wetherington 8ad5fb34d3 Fixed #11708 - pre-create private_storage directories for Docker restores 2022-08-24 17:11:21 -07:00
snipe a5fd9ebbb1 Added style to readonly datetime picker field
Signed-off-by: snipe <snipe@snipe.net>
2022-08-24 17:10:15 -07:00
snipe 49d2aef831 Merge pull request #11726 from inietov/fixes/customfields_date_format_issue
Fixed #11709 Dates in custom fields not always stored in the correct format
2022-08-24 16:46:35 -07:00
snipe 74f5980af7 Merge pull request #11724 from inietov/fixes/remove_required_rule_for_default_custom_values
Fixed Validation error when creating custom fields' default values
2022-08-24 16:44:46 -07:00
snipe 1a47e1000d Merge pull request #11727 from snipe/security/updated_compiled_assets
Updated compiled assets
2022-08-24 16:43:08 -07:00
snipe ab60fa08df Updated dev assets
Signed-off-by: snipe <snipe@snipe.net>
2022-08-24 16:38:11 -07:00
snipe 8a312f69a6 Bumped hash
Signed-off-by: snipe <snipe@snipe.net>
2022-08-24 16:37:22 -07:00
Ivan Nieto Vivanco 581cae94ab Add readonly property to datepickers 2022-08-24 18:21:54 -05:00
Ivan Nieto Vivanco 6e85c2e5cb Delete unused import 2022-08-24 16:30:25 -05:00
Ivan Nieto Vivanco 30d0125cbd Remove the rule 'required' for default values, if custom field is obligatory 2022-08-24 16:18:11 -05:00
snipe e2dec5d5d7 Merge pull request #11723 from snipe/fixes/fail_with_error_when_uploaded_file_does_not_exist
Fixed crash on Asset View if file doesn’t exist on server
2022-08-24 13:50:26 -07:00
snipe af34fc207c Suppress error output if file doesn’t exist on server
Signed-off-by: snipe <snipe@snipe.net>
2022-08-24 13:47:56 -07:00
snipe cca531f8ca Add @sunflowerbofh as a contributor 2022-08-22 16:32:30 -07:00
snipe 45f17fea8a Merge pull request #11510 from sunflowerbofh/tmp-ldap
Fixed #11509 allow-ldap-anonymous-bind
2022-08-22 16:32:07 -07:00
snipe 3ac84eab58 Merge pull request #11651 from inietov/fixes/activity_report_search
Fixed Search in activity report for full name in relation
2022-08-22 16:23:50 -07:00
snipe 15af4ea56e Add @kylegordon as a contributor 2022-08-22 16:21:20 -07:00
snipe d649c65508 Merge pull request #11669 from kylegordon/master
Declare DB_PORT in all .env files
2022-08-22 16:20:40 -07:00
snipe 0965ac9592 Merge pull request #11680 from snipe/snyk-upgrade-3dd3b8528a5a6c5104f99fc833e3820e
[Snyk] Upgrade @fortawesome/fontawesome-free from 6.1.1 to 6.1.2
2022-08-22 16:18:15 -07:00
snipe bfadc69d73 Merge pull request #11681 from snipe/snyk-upgrade-ce70c2a6ece4c881ee4f6267e992332c
[Snyk] Upgrade webpack from 5.73.0 to 5.74.0
2022-08-22 16:17:53 -07:00
snipe 41be3f7208 Add @julian-piehl as a contributor 2022-08-22 16:17:24 -07:00
snipe 906a36dc1a Merge pull request #11703 from julian-piehl/fixes/wrong-trans-string
Fixed Translation String: wrong key at request canceled message
2022-08-22 16:16:10 -07:00
snipe aba8449dc6 Merge pull request #11707 from wewhite/manager_name
Fixed #11706 Manager name
2022-08-22 16:15:52 -07:00
snipe 861283b874 Merge pull request #11712 from Godmartinz/gh11711Admin_options_disappear
Fixed #11711 clearfix missing on admin settings page  to prevent blanking divs
2022-08-22 16:15:06 -07:00
Godfrey M 2994c3613a adds clearfix to settings page 2022-08-22 10:46:15 -07:00
Warren White ba7d6dde3f Fixed #11706: changes the display of managers username to First Last name 2022-08-19 10:17:25 -07:00
Warren White 4b9a91f55b Fixed #10565, #11086: correctly looks up Manager DN from AD Manager attribute and sets manager id 2022-08-19 09:09:03 -07:00
Peace 94bbf2bf2f fixed translation string for canceled requests 2022-08-19 13:59:01 +02:00
Ivan Nieto Vivanco e5cc6ec972 Fixes error 500 if checkout_acceptances table have a created_at null column 2022-08-17 22:02:13 -05:00
snyk-bot e97c526050 fix: upgrade webpack from 5.73.0 to 5.74.0
Snyk has created this PR to upgrade webpack from 5.73.0 to 5.74.0.

See this package in npm:
https://www.npmjs.com/package/webpack

See this project in Snyk:
https://app.snyk.io/org/snipe/project/3d53e1dd-b8bf-46b5-ba61-18ce26933166?utm_source=github&utm_medium=referral&page=upgrade-pr
2022-08-15 23:41:31 +00:00
snyk-bot 7b45328fcc fix: upgrade @fortawesome/fontawesome-free from 6.1.1 to 6.1.2
Snyk has created this PR to upgrade @fortawesome/fontawesome-free from 6.1.1 to 6.1.2.

See this package in npm:
https://www.npmjs.com/package/@fortawesome/fontawesome-free

See this project in Snyk:
https://app.snyk.io/org/snipe/project/3d53e1dd-b8bf-46b5-ba61-18ce26933166?utm_source=github&utm_medium=referral&page=upgrade-pr
2022-08-15 23:41:27 +00:00
snipe 40bc13a946 Merge pull request #11676 from snipe/fixes/added_category_to_model_info
Adds the category in the side info on Models > View
2022-08-14 14:03:09 -07:00
snipe 368bd5da3f Adds the category in the side info on Models > View
Signed-off-by: snipe <snipe@snipe.net>
2022-08-14 14:01:58 -07:00
snipe 1763bbfbd3 Merge pull request #11662 from octobunny/patch-1
Fixed #6899 Docker container's php configuration isn't congruent with snipe-it uploads setting size.
2022-08-14 13:46:38 -07:00
snipe 7b44afc43c Merge pull request #11666 from snipe/features/add_null_option_for_purchase_expected_dates
Added `null` option for `purchase_date` and `expected_checkin` dates
2022-08-14 13:43:03 -07:00
snipe 13b6c281df Merge pull request #11675 from snipe/revert-11663-fixes/user_cant_be_deleted_if_has_consumables
Revert "Prevent to delete a user if still has consumables associated to them"
2022-08-14 13:42:45 -07:00
snipe 5feea17f8d Revert "Prevent to delete a user if still has consumables associated to them" 2022-08-14 13:42:14 -07:00
snipe 60d1578a01 Merge pull request #11663 from inietov/fixes/user_cant_be_deleted_if_has_consumables
Prevent to delete a user if still has consumables associated to them
2022-08-14 13:41:09 -07:00
Chris Hartjes 07585809b3 Got unit and browser tests working, added documentation 2022-08-12 13:00:26 -04:00
Kyle Gordon 98a111796b Declare DB_PORT in all .env files 2022-08-12 15:07:02 +01:00
snipe 7b3be076b4 Make location field the same width
Signed-off-by: snipe <snipe@snipe.net>
2022-08-11 18:38:34 -07:00
snipe 2c68ec927a Use trans_choice for string
Signed-off-by: snipe <snipe@snipe.net>
2022-08-11 18:30:59 -07:00
snipe a0ba33ed7c Added checkboxes
Signed-off-by: snipe <snipe@snipe.net>
2022-08-11 18:25:22 -07:00
snipe 70bb4cd746 Added translation
Signed-off-by: snipe <snipe@snipe.net>
2022-08-11 18:25:15 -07:00
snipe 91e824c5b0 Check for nullifying checkboxes
Signed-off-by: snipe <snipe@snipe.net>
2022-08-11 18:25:07 -07:00
snipe 491cdd4de6 Merge pull request #11664 from snipe/snyk-upgrade-bcc306620433a4ebeaaed8c3e4d4c9eb
[Snyk] Upgrade acorn from 8.7.1 to 8.8.0
2022-08-11 16:59:45 -07:00
snyk-bot 3454cdd2a0 fix: upgrade acorn from 8.7.1 to 8.8.0
Snyk has created this PR to upgrade acorn from 8.7.1 to 8.8.0.

See this package in npm:
https://www.npmjs.com/package/acorn

See this project in Snyk:
https://app.snyk.io/org/snipe/project/3d53e1dd-b8bf-46b5-ba61-18ce26933166?utm_source=github&utm_medium=referral&page=upgrade-pr
2022-08-11 23:58:21 +00:00
Ivan Nieto Vivanco db53a00d3f Prevent to delete a user if still has consumables associated to them 2022-08-11 17:01:52 -05:00
octobunny 8324b94022 Change PHP post_max_size
Must change post_max_size in addition to upload_max_filesize to increase total upload size to greater than 8MB.
2022-08-11 17:07:46 -04:00
Ivan Nieto Vivanco a33ca39237 Figure out declined notifications 2022-08-11 16:00:21 -05:00
Ivan Nieto Vivanco 98bcd82108 Add the mail recipient from configuration in the CheckoutAcceptance model 2022-08-11 15:33:18 -05:00
Ivan Nieto Vivanco d2c486bb1e Create the mail template for the acceptance 2022-08-11 15:28:30 -05:00
snipe 8c579d693a Merge pull request #11660 from Godmartinz/departments_location_and_company_updates_with_null
Fixes Departments update/store  to allow company and/or location ids to be null
2022-08-11 13:04:45 -07:00
Godfrey M 814992eb7d allows company and location ids to be null 2022-08-11 12:47:40 -07:00
Ivan Nieto Vivanco 267997f0a6 Customize the notifications with the needed data 2022-08-11 14:01:11 -05:00
Ivan Nieto Vivanco 0172fe6403 Add Notifiable trait to the CheckoutAcceptance Model 2022-08-11 13:02:25 -05:00
Ivan Nieto Vivanco 509bbbc685 Create Notifications classes for accepted and declined and add some necesary lang strings 2022-08-11 13:01:21 -05:00
Ivan Nieto Vivanco 8cee5060af Remove unused DB statement 2022-08-10 19:16:04 -05:00
Ivan Nieto Vivanco a7de97f060 Found a better place for the where condition 2022-08-10 19:13:28 -05:00
Ivan Nieto Vivanco c1074000f9 Add a concat to search for full name when the relationship search in the users table 2022-08-10 18:27:28 -05:00
snipe c7d9baad8e Merge remote-tracking branch 'origin/master' into develop 2022-08-10 16:11:29 -07:00
snipe c77d763f05 Merge pull request #11650 from snipe/fixes/6877_add_notes_to_consumables
Fixed #6877 - Added notes to consumables, components on checkout
2022-08-10 16:11:08 -07:00
snipe ef099aa644 Reverted notes to note since pivot
Signed-off-by: snipe <snipe@snipe.net>
2022-08-10 16:09:56 -07:00
snipe acd666fdf5 Added notes to user consumables tab
Signed-off-by: snipe <snipe@snipe.net>
2022-08-10 15:34:07 -07:00
snipe 8de7e9a2ab Use route name in case the user biffs the checkout twice
Signed-off-by: snipe <snipe@snipe.net>
2022-08-10 15:17:52 -07:00
snipe dd0260c3be Use old note on validation failure
Signed-off-by: snipe <snipe@snipe.net>
2022-08-10 15:15:29 -07:00
snipe 512348cc5a Added withInput()
Signed-off-by: snipe <snipe@snipe.net>
2022-08-10 15:15:09 -07:00
snipe fb3d7bf82e Made button wider
Signed-off-by: snipe <snipe@snipe.net>
2022-08-10 15:07:58 -07:00
snipe e3293151a2 Added note on checkout
Signed-off-by: snipe <snipe@snipe.net>
2022-08-10 15:04:59 -07:00
snipe 3ec77724d8 Added note pivot
Signed-off-by: snipe <snipe@snipe.net>
2022-08-10 15:04:34 -07:00
snipe 024a014298 Changed notes to note
Signed-off-by: snipe <snipe@snipe.net>
2022-08-10 15:04:19 -07:00
snipe c1e5d03340 Added pivot for note
Signed-off-by: snipe <snipe@snipe.net>
2022-08-10 15:03:41 -07:00
snipe fb2fe61daf Use a less stupid URL for this endpoint
Signed-off-by: snipe <snipe@snipe.net>
2022-08-10 15:03:26 -07:00
snipe 0d9eccb7eb Addeed note field
Signed-off-by: snipe <snipe@snipe.net>
2022-08-10 15:03:12 -07:00
snipe f9956cc5df Added DB migration
Signed-off-by: snipe <snipe@snipe.net>
2022-08-10 14:54:33 -07:00
snipe f7cceaedd5 Merge pull request #11649 from snipe/features/add_url_in_export
Fixed #8928 - add URL and ID to custom asset report
2022-08-10 13:58:22 -07:00
snipe e7c47408a7 Derp
Signed-off-by: snipe <snipe@snipe.net>
2022-08-10 13:57:42 -07:00
snipe 637604dfaf Fixed #8928 - add URL and ID to custom asset report
Signed-off-by: snipe <snipe@snipe.net>
2022-08-10 13:51:47 -07:00
snipe f66df4d468 Merge pull request #11648 from uberbrady/reimplement_active_flag
Fixed the active flag to be as it was in later v5 releases
2022-08-10 13:32:52 -07:00
Brady Wetherington b6adfa294c Fixed the active flag to be as it was in later v5 releases
Originally implemented here:

https://github.com/snipe/snipe-it/pull/10610/files
2022-08-10 12:55:30 -07:00
snipe f374f231d4 Added ERD link
Signed-off-by: snipe <snipe@snipe.net>
2022-08-10 11:37:17 -07:00
snipe d4e60a46c1 Merge remote-tracking branch 'origin/develop' 2022-08-09 15:15:31 -07:00
snipe a834ac6ec2 Merge pull request #11642 from Godmartinz/monthly_depreciation_calculation
Fixes Monthly depreciation calculation if EOL is blank
2022-08-09 15:14:57 -07:00
Godfrey M 92e6ea96b2 if eol is missing from asset model monthly depreciation will be recalculated 2022-08-09 15:05:15 -07:00
snipe de449fd1c2 Merge pull request #11635 from exula/fix/missing_closing_div_in_general_admin_settings
Added a closing div tag around the mail text help block, this was cau…
2022-08-09 11:07:19 -07:00
Brad Coudriet 77a1fcb1fc There was actually a missing p tag too 2022-08-09 06:36:53 -04:00
Brad Coudriet 0cf0598936 Added a closing div tag around the mail text help block, this was causing labels further down the page to be formatted in correctly 2022-08-09 06:32:03 -04:00
snipe 80d91c0c51 Merge remote-tracking branch 'origin/develop'
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	config/version.php
2022-08-08 15:33:10 -07:00
snipe c39bf7b7e6 Added German (Informal) to select list
Signed-off-by: snipe <snipe@snipe.net>
2022-08-08 15:30:58 -07:00
snipe 9db0b038a5 Updated translation strings
Signed-off-by: snipe <snipe@snipe.net>
2022-08-08 15:29:28 -07:00
snipe 4f4c4ed5be Bumped version
Signed-off-by: snipe <snipe@snipe.net>
2022-08-08 14:35:04 -07:00
snipe 51f7298720 Merge remote-tracking branch 'origin/develop' 2022-08-05 18:16:20 -07:00
snipe bc4032c2cd Merge pull request #11617 from inietov/fixes/components_wrong_remaining_inventory
Fixed wrong calculation of assigned components
2022-08-05 18:05:21 -07:00
Ivan Nieto Vivanco c055c91739 Change db query for an existing method 2022-08-04 09:20:20 -05:00
Ivan Nieto Vivanco ea8f12579d Calculate the proper amount of assigned components 2022-08-04 07:58:25 -05:00
snipe 88db2d9e18 Merge remote-tracking branch 'origin/develop' 2022-08-03 17:57:07 -07:00
snipe 5f93d7b3be Merge pull request #11615 from inietov/fixes/autoincrement_in_importer
Fix auto incrementing in CSV importer [sc-19366]
2022-08-03 17:50:23 -07:00
snipe 1875ed55cc Merge pull request #11612 from snipe/fixes/improved_report_search
Added relations to report search
2022-08-03 17:49:59 -07:00
Ivan Nieto Vivanco 9f0ecba9b9 Add autoincrementing asset tags to the import if the CSV column is empty 2022-08-03 12:48:48 -05:00
snipe 9acfceba29 Added relations to report search
Signed-off-by: snipe <snipe@snipe.net>
2022-08-02 23:50:10 -07:00
snipe 92bf8b4436 Merge remote-tracking branch 'origin/develop' 2022-08-02 20:22:02 -07:00
snipe b52c00d49b Merge pull request #11611 from snipe/fixes/added_configuration_change_to_maintenance_types
Added configuration change to maintenance types
2022-08-02 20:21:25 -07:00
snipe 20fcf7a1e9 Added configuration change to maintenance types
Signed-off-by: snipe <snipe@snipe.net>
2022-08-02 20:19:43 -07:00
snipe 095dd3ecf2 Added configuration, PAT test strings
Signed-off-by: snipe <snipe@snipe.net>
2022-08-02 20:19:28 -07:00
snipe 5a1b8bc4b6 Fixed icheck checkbox class
Signed-off-by: snipe <snipe@snipe.net>
2022-08-02 20:19:19 -07:00
snipe eadb36cb26 Merge remote-tracking branch 'origin/develop' 2022-08-02 20:00:13 -07:00
snipe 6eac133caf Merge pull request #11610 from snipe/fixes/adds_deleted_at_to_custom_report_export
Added deleted at to custom report export
2022-08-02 19:59:39 -07:00
snipe cc92d342ea Added deleted at value
Signed-off-by: snipe <snipe@snipe.net>
2022-08-02 19:58:37 -07:00
snipe 02caa13222 Removed debugging
Signed-off-by: snipe <snipe@snipe.net>
2022-08-02 19:58:30 -07:00
snipe 975b4dee2f Added deleted header
Signed-off-by: snipe <snipe@snipe.net>
2022-08-02 19:58:17 -07:00
snipe 65f0a3f535 Merge pull request #11609 from snipe/fixes/checkboxes_on_custom_report
Fixed labels on radio buttons in custom report
2022-08-02 19:54:14 -07:00
snipe 9ae7c66b77 Fixed indenting
Signed-off-by: snipe <snipe@snipe.net>
2022-08-02 19:50:21 -07:00
snipe 77ab4ac1b5 Fixed labels on radio buttons in custom report
Signed-off-by: snipe <snipe@snipe.net>
2022-08-02 19:48:41 -07:00
snipe b0e66ae445 Merge remote-tracking branch 'origin/develop'
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	resources/views/locations/print.blade.php
2022-08-02 19:41:17 -07:00
snipe 5fe8db541e Merge pull request #11608 from snipe/features/add_time_diff_to_eol
Added time diff to EOL in asset view
2022-08-02 19:40:10 -07:00
snipe 87bed9b294 Fixed typo in code comments
Signed-off-by: snipe <snipe@snipe.net>
2022-08-02 19:24:46 -07:00
snipe da1c1dbdd9 Added warning icon
Signed-off-by: snipe <snipe@snipe.net>
2022-08-02 19:19:08 -07:00
snipe 56b6904564 Added time difference
Signed-off-by: snipe <snipe@snipe.net>
2022-08-02 19:13:02 -07:00
snipe 10e64deafe Updated method name in mail
Signed-off-by: snipe <snipe@snipe.net>
2022-08-02 19:12:44 -07:00
snipe ac72b69ece Update method name
Signed-off-by: snipe <snipe@snipe.net>
2022-08-02 19:12:28 -07:00
snipe 8e18ce74b2 Update method name
Signed-off-by: snipe <snipe@snipe.net>
2022-08-02 19:12:18 -07:00
snipe 254ce72415 Add @vickyjaura183 as a contributor 2022-08-02 17:20:51 -07:00
snipe 1b657ee995 Merge pull request #11601 from vickyjaura183/bugfix/error_404_bulkcheckout
Error 404 fixed on submitting without mandatory field
2022-08-02 17:19:22 -07:00
snipe 71facb1850 Merge pull request #11596 from snipe/fixes/unique_undeleted_for_custom_fields
Use unique_undeleted instead of unique for custom fields
2022-08-02 17:16:12 -07:00
snipe 8d8c502546 Merge pull request #11605 from snipe/fixes/really_disable_consumable_checkout
Disallow checkout if qty = 0
2022-08-02 12:31:29 -07:00
snipe 0a9bd07f20 Disallow checkout if qty = 0
Signed-off-by: snipe <snipe@snipe.net>
2022-08-02 12:27:58 -07:00
snipe 688577c1ed Merge pull request #11604 from snipe/fixes/only_show_requested_if_requestable_perms
Hide requested assets if the user cannot see requestable items
2022-08-02 11:49:22 -07:00
snipe 8027039754 Hide requested assets if the user cannot see requestable items
Signed-off-by: snipe <snipe@snipe.net>
2022-08-02 11:48:45 -07:00
snipe 031b7998c9 Merge pull request #11603 from inietov/fixes/actions_on_licenses
Use apropiate string for license actions
2022-08-02 10:40:20 -07:00
Ivan Nieto Vivanco 13053b85ef Remove Actions button and pass the correct variable to the routes 2022-08-02 12:37:27 -05:00
snipe e3b13143bf Merge pull request #11594 from Godmartinz/adds_deleted_asset_options_to_custom_reports
Adds options to include Deleted assets to custom asset reports
2022-08-02 10:33:57 -07:00
Godfrey M e150ab58e9 reworded trans 2022-08-02 10:31:06 -07:00
Godfrey M ff080a2d8f replace checkboxes with radiobuttons 2022-08-02 10:27:55 -07:00
Ivan Nieto Vivanco a63d00bb5c Use apropiate string for license actions 2022-08-02 11:55:11 -05:00
vishalkumar183 96b40a5edd Error 404 fixed on sumitting witout mandtory field 2022-08-02 18:44:16 +05:30
Katharina Drexel 8596c54d6a Fixing query order (otherwise you run into app_key exception before anonymous ldap applied).
Signed-off-by: Katharina Drexel <katharina.drexel@bfh.ch>
2022-08-02 14:24:00 +02:00
snipe e07532dd1b Applied master fix to develop
Signed-off-by: snipe <snipe@snipe.net>
2022-08-01 18:55:28 -07:00
snipe 04a467bdc7 One more
Signed-off-by: snipe <snipe@snipe.net>
2022-08-01 18:53:00 -07:00
snipe 06d60bb1d1 Applied date formatter PR to master
Signed-off-by: snipe <snipe@snipe.net>
2022-08-01 18:49:56 -07:00
snipe 9c6c01bab1 Merge pull request #11597 from snipe/fixes/missed_date_formatting_on_print
Fixed date format for Current Date output on location print assigned
2022-08-01 18:48:41 -07:00
snipe 4133ac6ef0 Applied date formatter to Current Date output on location print assigned
Signed-off-by: snipe <snipe@snipe.net>
2022-08-01 18:47:29 -07:00
snipe 4834c33861 Missed a named route
Signed-off-by: snipe <snipe@snipe.net>
2022-08-01 18:43:54 -07:00
snipe 904b5c2886 Merge pull request #11595 from snipe/fixes/fix_routes_for_optimize
Fixed routes for optimize
2022-08-01 17:55:34 -07:00
snipe e79a819724 Fixed inconsistency in naming
Signed-off-by: snipe <snipe@snipe.net>
2022-08-01 17:45:39 -07:00
snipe 0fdbd410b6 Use unique_undeleted instead of unique for custom fields
Signed-off-by: snipe <snipe@snipe.net>
2022-08-01 17:10:39 -07:00
snipe af7ccf3beb Handle logout route names
Signed-off-by: snipe <snipe@snipe.net>
2022-08-01 16:17:40 -07:00
snipe 3e48f436af Handled user route names
Signed-off-by: snipe <snipe@snipe.net>
2022-08-01 16:13:30 -07:00
snipe 5e488bd81f Handle components route names
Signed-off-by: snipe <snipe@snipe.net>
2022-08-01 16:10:39 -07:00
snipe 53ff28d2b0 Handle consumables route names
Signed-off-by: snipe <snipe@snipe.net>
2022-08-01 16:07:56 -07:00
snipe 4a4636bd03 Handle accessories route names
Signed-off-by: snipe <snipe@snipe.net>
2022-08-01 16:06:28 -07:00
snipe 744d0d299e Handle model route names
Signed-off-by: snipe <snipe@snipe.net>
2022-08-01 16:03:45 -07:00
snipe b035003546 Handled hardware route names
Signed-off-by: snipe <snipe@snipe.net>
2022-08-01 15:59:54 -07:00
Godfrey M 842dafefec adds options to include Deleted assets to custom asset reports 2022-08-01 14:52:12 -07:00
snipe 375963f92d Merge remote-tracking branch 'origin/develop' 2022-08-01 14:08:16 -07:00
snipe a51b446a10 Merge pull request #11578 from snipe/fixes/conditionally_add_nbsp
Switched to conditionally adding the nbsp; that the table needs for proper layout if cell is empty
2022-08-01 14:07:50 -07:00
snipe 371aba9912 Merge pull request #11593 from snipe/fixes/add_bulk_assets_to_company_view
Added bulk edit to company view
2022-08-01 14:07:14 -07:00
snipe 8b30992a11 Added bulk edit to company view
Signed-off-by: snipe <snipe@snipe.net>
2022-08-01 14:06:18 -07:00
snipe 33de45d8fb Swirtched to conditionally adding the nbsp; that the table needs for proper layout if cell is empty
Signed-off-by: snipe <snipe@snipe.net>
2022-07-29 00:57:20 -07:00
snipe d7d0056b73 Merge remote-tracking branch 'origin/develop' 2022-07-27 15:10:38 -07:00
snipe 7d2fcef807 Merge pull request #11562 from uberbrady/clarify_logging
Fixed inconsistent `*_LOG_LEVEL` variables; set reasonable defaults
2022-07-25 20:02:37 -07:00
Brady Wetherington 1981b79557 Good catch! APP_LOG -> LOG_CHANNEL 2022-07-25 19:57:14 -07:00
Brady Wetherington 0c7d4a709a Cleaned up more logging options 2022-07-25 19:25:06 -07:00
snipe 6c8d226b21 Merge pull request #11561 from snipe/features/added_perl_module_link
Added link to SEDC / perl-www-snipe
2022-07-25 18:54:57 -07:00
snipe 211bbeda5b Added link to SEDC / perl-www-snipe
Signed-off-by: snipe <snipe@snipe.net>
2022-07-25 18:53:17 -07:00
Brady Wetherington 7057cb0104 Make all *_LOG_LEVEL vars consistent; set default to 'warning' 2022-07-25 18:44:37 -07:00
snipe 658edb64d6 Merge remote-tracking branch 'origin/develop' 2022-07-22 19:06:28 -07:00
snipe dc06f14505 Merge pull request #11554 from snipe/security/upgrade_dompdf
Bumped packages
2022-07-22 18:21:51 -07:00
snipe f446314ce6 Merge pull request #11547 from snipe/fixes/midnight_timestamp
Applies current time to checkin date
2022-07-22 17:58:45 -07:00
snipe 443b1df5e1 Bumped packages
Signed-off-by: snipe <snipe@snipe.net>
2022-07-22 17:55:19 -07:00
snipe 3c22e0d203 Merge remote-tracking branch 'origin/develop' 2022-07-22 17:28:43 -07:00
snipe d636ad8e09 Merge pull request #11553 from snipe/security/upgrade_imagemin
Upgraded imagemin
2022-07-22 17:27:35 -07:00
snipe adfdbf3d44 Upgraded imagemin
Signed-off-by: snipe <snipe@snipe.net>
2022-07-22 17:26:47 -07:00
snipe 8b03abde8d Production assets for dark skin fix
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	public/css/dist/skins/skin-black-dark.css
#	public/css/dist/skins/skin-black-dark.min.css
#	public/css/dist/skins/skin-blue-dark.css
#	public/css/dist/skins/skin-blue-dark.min.css
#	public/css/dist/skins/skin-green-dark.css
#	public/css/dist/skins/skin-green-dark.min.css
#	public/css/dist/skins/skin-orange-dark.css
#	public/css/dist/skins/skin-orange-dark.min.css
#	public/css/dist/skins/skin-purple-dark.css
#	public/css/dist/skins/skin-purple-dark.min.css
#	public/css/dist/skins/skin-red-dark.css
#	public/css/dist/skins/skin-red-dark.min.css
#	public/css/dist/skins/skin-yellow-dark.css
#	public/css/dist/skins/skin-yellow-dark.min.css
#	public/mix-manifest.json
2022-07-22 15:39:46 -07:00
snipe 67320dc024 Merge pull request #11551 from snipe/fixes/dark_skin_dropdowns
Fixed #11549 - dark skin dropdown menu fixes
2022-07-22 15:38:02 -07:00
snipe c5530104ff Fixed #11549 - dark skin dropdowbn menu fixes
Signed-off-by: snipe <snipe@snipe.net>
2022-07-22 15:36:51 -07:00
snipe 78097df7ff Aplpies current time to checkin date
Signed-off-by: snipe <snipe@snipe.net>
2022-07-21 21:45:25 -07:00
snipe 072e6029b6 Merge remote-tracking branch 'origin/develop' 2022-07-21 12:20:24 -07:00
snipe 5926441984 Merge pull request #11542 from snipe/features/users_checkin_without_delete
Features/users checkin without delete
2022-07-20 18:59:45 -07:00
snipe a1fe2a8d58 Fixed translation reference
Signed-off-by: snipe <snipe@snipe.net>
2022-07-20 18:01:55 -07:00
snipe 25cc46e416 Fixed button string
Signed-off-by: snipe <snipe@snipe.net>
2022-07-20 18:01:41 -07:00
snipe 458d61fafe Front-end updates for checkin without delete
Signed-off-by: snipe <snipe@snipe.net>
2022-07-20 17:57:39 -07:00
snipe 32010d5387 Updated language strings
Signed-off-by: snipe <snipe@snipe.net>
2022-07-20 17:57:27 -07:00
snipe 7313bca403 Checkin without deleting
Signed-off-by: snipe <snipe@snipe.net>
2022-07-20 17:57:19 -07:00
snipe b7c7e6c623 Added/updated language strings
Signed-off-by: snipe <snipe@snipe.net>
2022-07-20 17:56:58 -07:00
snipe 0b4d243bf0 Merge pull request #11541 from Godmartinz/gh11540_Error_405_when_checking_out_Accessory
Fixes #11540 - accessory api routes from get to posts
2022-07-20 14:14:15 -07:00
Godfrey M 377c0e7075 fixes component routes 2022-07-20 13:41:35 -07:00
Godfrey M 0c4c4fc352 changes api checkin and checkout routes to post 2022-07-20 11:52:54 -07:00
Katharina Drexel 9d627936e6 Fixed #11509: Allow LDAP anonymous bind. 2022-07-20 17:24:20 +02:00
snipe 29a32c4726 Merge remote-tracking branch 'origin/develop' 2022-07-19 12:46:05 -07:00
snipe e72c4f989f Merge pull request #11528 from uberbrady/upgrade_laravel_scim_server
Upgraded our fork of laravel-scim-server to better support scim creates
2022-07-18 19:56:06 -07:00
snipe 0d656e3963 Production assets
Signed-off-by: snipe <snipe@snipe.net>
2022-07-18 17:29:37 -07:00
snipe 50ce471dc6 Production assets
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	public/js/build/app.js
#	public/js/dist/all.js
#	public/mix-manifest.json
2022-07-18 17:29:29 -07:00
snipe 8113838eee Merge pull request #11531 from snipe/security/upgrade_jquery_ui
Upgraded jquery-UI
2022-07-18 17:28:22 -07:00
snipe a92bb80055 Upgraded jquery-UI
Signed-off-by: snipe <snipe@snipe.net>
2022-07-18 17:27:54 -07:00
snipe e9121c15d8 Merge remote-tracking branch 'origin/develop'
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	config/version.php
2022-07-18 16:50:53 -07:00
snipe 43bd00da86 Bumped version
Signed-off-by: snipe <snipe@snipe.net>
2022-07-18 16:50:12 -07:00
snipe d124c89ced Moved session driver setting to be more clear
Signed-off-by: snipe <snipe@snipe.net>
2022-07-18 16:47:46 -07:00
Brady Wetherington b2112e6792 Whoops, bump version to have the right syntax! 2022-07-18 15:16:45 -07:00
Brady Wetherington 250db10249 Upgrade our fork of laravel-scim-server to better support scim creates 2022-07-18 15:05:42 -07:00
snipe ff5d64fcbf Merge remote-tracking branch 'origin/develop' 2022-07-18 12:15:44 -07:00
snipe ec01aadbe4 Merge pull request #11526 from snipe/fixes/use_icheck_on_custom_report
Use icheckbox formatting on BOM and archived checkboxes
2022-07-18 12:13:27 -07:00
snipe f0a9de72b1 Use icheckbox formatting on BOM and archived checkboxes
Signed-off-by: snipe <snipe@snipe.net>
2022-07-18 12:12:22 -07:00
snipe 145c191a65 Merge remote-tracking branch 'origin/develop' 2022-07-15 19:17:04 -07:00
snipe 5cb5ef249b Fixed typo
Signed-off-by: snipe <snipe@snipe.net>
2022-07-15 19:16:54 -07:00
snipe ea38cef48c Merge remote-tracking branch 'origin/develop' 2022-07-15 19:15:31 -07:00
snipe 4808185b5c Added link to MosyleSnipeSync
Signed-off-by: snipe <snipe@snipe.net>
2022-07-15 19:15:19 -07:00
snipe b3d65b5703 Merge remote-tracking branch 'origin/develop' 2022-07-15 18:53:20 -07:00
snipe 0f38714e21 Merge pull request #11517 from snipe/fixes/small_changes_to_gh_actions_configs
Changed some autolabeler and code owners
2022-07-15 18:53:01 -07:00
snipe 7a099bc268 Changed some autolabeler and code owners
Signed-off-by: snipe <snipe@snipe.net>
2022-07-15 18:51:57 -07:00
snipe 6f1f6c75e6 Merge remote-tracking branch 'origin/develop'
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	public/css/build/app.css
#	public/css/build/overrides.css
#	public/css/dist/all.css
#	public/mix-manifest.json
2022-07-15 17:11:55 -07:00
snipe 40d5c37aea Merge pull request #11516 from snipe/fixes/11508_alert_font_size
Fixed #11508 - font size in alert menu
2022-07-15 17:10:26 -07:00
snipe 58499c2322 Fixed #11508 - font size in alert menu
Signed-off-by: snipe <snipe@snipe.net>
2022-07-15 17:09:17 -07:00
snipe 6428dc5cd2 Removed duplicate supplier_id
Signed-off-by: snipe <snipe@snipe.net>
2022-07-13 13:08:15 -07:00
snipe 5f5ff04636 Merge pull request #11502 from mikeroq/fixes/eula_download_if_app_locale_is_not_en
Fixes #11496 - Wrong URL generated for download of asset acceptance PDF if locale was not en
2022-07-12 16:18:59 -07:00
mikeroq f21824a8e2 Changed comparing the action type from translated in presenter to actual value 2022-07-12 17:59:03 -05:00
snipe 0ccd7e09de Merge pull request #11488 from Godmartinz/feature/sc-19107/add-box-to-custom-reports-to-not-include
adds a checkbox to exclude archived assets from custom reports
2022-07-12 12:59:18 -07:00
Godfrey M 27039325f3 removed comments, because I forgot 2022-07-12 12:41:07 -07:00
Godfrey M 58c54cc3dc uses notArchived scope instead now 2022-07-12 12:20:11 -07:00
Godfrey M 48349071ed accounts for status_id as well 2022-07-12 09:46:44 -07:00
snipe bb5ac900ec Merge pull request #11492 from mikeroq/fixes/email_all_assigned_to_user_with_no_email
Fixes "email list of all assigned" apparently being successful even if the user has no email address
2022-07-11 18:27:01 -07:00
mikeroq 5efe45226d Fixes Email List of All Assigned being "successful" when the user has no email
Added check in view to disable button if there is no email
Added translation for title on disabled button and for email check in controller
Fixed missing trans for user not found message
2022-07-11 20:02:10 -05:00
snipe a0183ff56f Merge remote-tracking branch 'origin/develop' 2022-07-11 17:11:44 -07:00
snipe bb091760af Fixedd unclosed brace
Signed-off-by: snipe <snipe@snipe.net>
2022-07-11 17:11:28 -07:00
snipe 78d13871eb Merge pull request #11458 from snipe/dependabot/github_actions/codacy/codacy-analysis-cli-action-4.1.0
Bump codacy/codacy-analysis-cli-action from 1.1.0 to 4.1.0
2022-07-11 16:34:51 -07:00
snipe fc5cf3e291 Merge pull request #11483 from snipe/fixes/migrations_on_restore
Fixes - migrations on restore
2022-07-11 16:34:06 -07:00
snipe 3182f251e1 Merge remote-tracking branch 'origin/develop' 2022-07-11 16:26:14 -07:00
snipe d6ba8655bb Merge pull request #11490 from snipe/fixes/print_assigned_sig_broken
Fixed - print assigned sig broken
2022-07-11 14:48:25 -07:00
snipe 8114d01799 Only show sig file if there is a value for accepted sig
Signed-off-by: snipe <snipe@snipe.net>
2022-07-11 14:46:45 -07:00
Godfrey M 309229619b fixes the order expiring assets are listed in notifications 2022-07-11 12:25:38 -07:00
Godfrey M 75844c5942 adds a checkbox to exclude archived assets from custom reports 2022-07-11 09:56:58 -07:00
snipe 78d5c37267 Merge pull request #11484 from mikeroq/fixes/delete_file_modal_on_licenses
Fixes license file(s) delete modal showing entire model data instead of just the name
2022-07-10 13:23:03 -07:00
mikeroq 397e89cbed Fixes modal showing entire model data instead of just the name 2022-07-09 14:09:40 -05:00
snipe 2518e2f0ee Removed > 300
Signed-off-by: snipe <snipe@snipe.net>
2022-07-08 17:09:56 -07:00
snipe e833052e8e Check for column
Signed-off-by: snipe <snipe@snipe.net>
2022-07-08 16:46:00 -07:00
snipe 43e370f35a Move migrations further up
Signed-off-by: snipe <snipe@snipe.net>
2022-07-08 16:40:51 -07:00
snipe 8d3c9e67a0 Merge remote-tracking branch 'origin/develop' 2022-07-07 16:19:29 -07:00
snipe 3988c0e3f0 Merge pull request #11480 from snipe/fixes/changed_model_file_icon
Changed model file icon
2022-07-07 16:19:09 -07:00
snipe 723454b04d Changed model file icon
Signed-off-by: snipe <snipe@snipe.net>
2022-07-07 16:17:35 -07:00
snipe 30c03435e4 Merge remote-tracking branch 'origin/develop'
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	public/css/build/app.css
#	public/css/build/overrides.css
#	public/css/dist/all.css
#	public/mix-manifest.json
2022-07-07 16:01:17 -07:00
snipe 5043533fde Merge pull request #11479 from snipe/fixes/padlock_icon
Fixes padlock icon
2022-07-07 16:00:02 -07:00
snipe d458973649 Removed unneeded JS
Signed-off-by: snipe <snipe@snipe.net>
2022-07-07 15:58:37 -07:00
snipe 9c86b4bf88 Fixes padlock icon
Signed-off-by: snipe <snipe@snipe.net>
2022-07-07 15:57:33 -07:00
snipe 3a6c6d8466 Prod assets
Signed-off-by: snipe <snipe@snipe.net>
2022-07-07 14:40:39 -07:00
snipe d62167e364 Merge remote-tracking branch 'origin/develop' 2022-07-07 14:39:02 -07:00
snipe 9297d8af1d Merge pull request #11478 from snipe/fixes/upgrade_font_awesome
Upgrade font-awesome to v6
2022-07-07 14:38:34 -07:00
snipe bae9792f01 Missed two
Signed-off-by: snipe <snipe@snipe.net>
2022-07-07 14:36:09 -07:00
snipe b98af0f50f Upgrade font-awesome to v6
Signed-off-by: snipe <snipe@snipe.net>
2022-07-07 14:22:08 -07:00
snipe 75e5cde39b Merge remote-tracking branch 'origin/develop' 2022-07-06 18:20:30 -07:00
snipe f853188bc7 Merge pull request #11471 from uberbrady/add_license_seat_indexes
This adds some indexes for performance on license_seats
2022-07-06 18:19:40 -07:00
Brady Wetherington 61813a6f2c This adds some indexes for performance on license_seats 2022-07-06 18:10:48 -07:00
snipe 7a0c9776b4 Merge remote-tracking branch 'origin/develop' 2022-07-05 17:58:59 -07:00
snipe ee4f355e49 Changed logging to debug
Signed-off-by: snipe <snipe@snipe.net>
2022-07-05 17:58:45 -07:00
snipe bfc8c18675 Merge pull request #11451 from mikeroq/fixes/populate_custom_fields_from_asset_model_create
Fixes custom fields not populating when creating asset from asset model page
2022-07-05 17:31:08 -07:00
snipe f1488767f8 Merge remote-tracking branch 'origin/develop'
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	config/version.php
2022-07-05 16:41:00 -07:00
snipe 2d5755c1dd Bumped version
Signed-off-by: snipe <snipe@snipe.net>
2022-07-05 16:40:17 -07:00
snipe acc2e12f12 Merge remote-tracking branch 'origin/develop' 2022-07-05 16:35:34 -07:00
snipe eb2793bfa7 Added @reederda
Signed-off-by: snipe <snipe@snipe.net>
2022-07-05 16:35:12 -07:00
snipe 1a05843183 Merge pull request #11462 from reederda/develop
Fixed #NA: typo
2022-07-05 16:33:09 -07:00
snipe ef17fd41f7 Merge branch 'develop' into develop 2022-07-05 16:26:53 -07:00
snipe 7bdbbbee50 Branch in config set to master
Signed-off-by: snipe <snipe@snipe.net>
2022-07-05 16:20:33 -07:00
snipe 2e800e6a0d Merge pull request #11467 from snipe/translations/updated_strings
Updated translations
2022-07-05 16:19:46 -07:00
snipe dae53a1128 Updated translations
Signed-off-by: snipe <snipe@snipe.net>
2022-07-05 16:18:53 -07:00
mikeroq 2781bd02b5 Add TODO to indicate future refactoring. 2022-07-05 18:02:37 -05:00
Daniel Reeder 7772ef22db Quick typo fix 2022-07-04 21:57:54 +00:00
snipe 2137c4e897 Back to develop
Signed-off-by: snipe <snipe@snipe.net>
2022-07-04 10:12:25 -07:00
snipe 4a0e51bf34 Merge remote-tracking branch 'origin/develop' 2022-07-04 10:11:05 -07:00
snipe 9f581a7677 Merge pull request #11460 from mikeroq/fix_missing_use_statement
Fixes #11459 Missing import for Setting model in AcceptanceController
2022-07-04 10:07:54 -07:00
mikeroq be8869978d Added import for Setting model 2022-07-04 07:29:01 -05:00
dependabot[bot] 1ae044b91e Bump codacy/codacy-analysis-cli-action from 1.1.0 to 4.1.0
Bumps [codacy/codacy-analysis-cli-action](https://github.com/codacy/codacy-analysis-cli-action) from 1.1.0 to 4.1.0.
- [Release notes](https://github.com/codacy/codacy-analysis-cli-action/releases)
- [Commits](https://github.com/codacy/codacy-analysis-cli-action/compare/1.1.0...v4.1.0)

---
updated-dependencies:
- dependency-name: codacy/codacy-analysis-cli-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-04 08:28:05 +00:00
snipe e550fb1a52 Merge pull request #11447 from snipe/dependabot/github_actions/docker/metadata-action-4
Bump docker/metadata-action from 3 to 4
2022-07-03 20:04:15 -07:00
snipe fc65bb020f Merge pull request #11446 from snipe/dependabot/github_actions/docker/login-action-2
Bump docker/login-action from 1 to 2
2022-07-03 20:03:50 -07:00
snipe a4dfdcd90d Merge pull request #11450 from snipe/dependabot/github_actions/docker/build-push-action-3
Bump docker/build-push-action from 2 to 3
2022-07-03 20:03:32 -07:00
snipe 16d2e34148 Merge pull request #11448 from snipe/dependabot/github_actions/docker/setup-buildx-action-2
Bump docker/setup-buildx-action from 1 to 2
2022-07-03 20:03:08 -07:00
snipe 567eefab1a Merge pull request #11449 from snipe/dependabot/github_actions/github/codeql-action-2
Bump github/codeql-action from 1 to 2
2022-07-03 20:02:31 -07:00
snipe 1ef20ec622 Merge remote-tracking branch 'origin/develop' 2022-07-02 13:08:59 -07:00
snipe afab167e8c Fixed restore button in listings
Signed-off-by: snipe <snipe@snipe.net>
2022-07-02 13:08:46 -07:00
snipe af14ee0d47 Merge pull request #11453 from mikeroq/fixes/asset_restore_not_working
Fixes #11452 - Asset Restore routes/buttons also asset models/users restore as well
2022-07-02 13:07:29 -07:00
Mike Roquemore 0a5ca6eb25 Change restore route to POST instead of GET 2022-07-02 14:34:43 -05:00
Mike Roquemore 6e9f24c08f Change restore route to POST instead of GET 2022-07-02 14:34:23 -05:00
Mike Roquemore 07ac4087a3 Remove link from alert since there is already a restore button on the side 2022-07-02 14:34:22 -05:00
Mike Roquemore 1650c9f878 Remove duplicate users routes 2022-07-02 14:34:22 -05:00
Mike Roquemore 123963c14c Modify genericActionsFormatter restore link to be a button instead since it's in a form.
Changed user restore route to POST
2022-07-02 14:34:22 -05:00
Mike Roquemore 1b45170ca3 Adds check if request has model_id, if so call fetchCustomFields on document ready 2022-07-01 20:15:11 -05:00
snipe 9a0b677dac Merge remote-tracking branch 'origin/develop' 2022-07-01 14:31:29 -07:00
snipe b44f27dafa Add @mikeroq as a contributor 2022-07-01 14:31:07 -07:00
snipe 92d46edca3 Cleaned up logging output
Signed-off-by: snipe <snipe@snipe.net>
2022-07-01 13:33:58 -07:00
dependabot[bot] 471cf117ab Bump docker/build-push-action from 2 to 3
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 2 to 3.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-01 18:36:55 +00:00
dependabot[bot] bf78bd4b8b Bump github/codeql-action from 1 to 2
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 1 to 2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v1...v2)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-01 18:36:50 +00:00
dependabot[bot] a0a0d7e344 Bump docker/setup-buildx-action from 1 to 2
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 1 to 2.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v1...v2)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-01 18:36:45 +00:00
dependabot[bot] a9361571d6 Bump docker/metadata-action from 3 to 4
Bumps [docker/metadata-action](https://github.com/docker/metadata-action) from 3 to 4.
- [Release notes](https://github.com/docker/metadata-action/releases)
- [Upgrade guide](https://github.com/docker/metadata-action/blob/master/UPGRADE.md)
- [Commits](https://github.com/docker/metadata-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: docker/metadata-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-01 18:36:41 +00:00
dependabot[bot] 1a13be9b5d Bump docker/login-action from 1 to 2
Bumps [docker/login-action](https://github.com/docker/login-action) from 1 to 2.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v1...v2)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-01 18:36:36 +00:00
snipe 0ed84c83c8 Merge pull request #11437 from turrisxyz/Dependabot-GitHub-Actions
chore: Included githubactions in the dependabot config
2022-07-01 11:35:58 -07:00
snipe 9670ca3b8a Merge remote-tracking branch 'origin/develop' 2022-07-01 11:26:46 -07:00
snipe d4476cb10b Merge pull request #11445 from snipe/fixes/11444
Replicates #11444
2022-07-01 11:26:25 -07:00
snipe 45c616639c Replicates #11444
Signed-off-by: snipe <snipe@snipe.net>
2022-07-01 11:21:02 -07:00
snipe eedd646c28 Merge remote-tracking branch 'origin/develop' 2022-06-30 21:10:46 -07:00
snipe acbd4deb1b Merge pull request #11440 from snipe/fixes/check_for_image_on_signing
Fixed #11393 - reject acceptance if no file is present
2022-06-30 21:09:16 -07:00
snipe 4e547a3639 Fixed typos :(
Signed-off-by: snipe <snipe@snipe.net>
2022-06-30 21:06:36 -07:00
snipe b910db0617 Fixed #11393 - reject acceptance if no file is present
Signed-off-by: snipe <snipe@snipe.net>
2022-06-30 21:01:58 -07:00
snipe bb382f3d2a Merge remote-tracking branch 'origin/develop' 2022-06-30 18:52:02 -07:00
snipe 25cb32ca6a Fixed typo
Signed-off-by: snipe <snipe@snipe.net>
2022-06-30 18:51:44 -07:00
snipe 6a13a7e096 Merge remote-tracking branch 'origin/develop' 2022-06-30 18:38:25 -07:00
snipe e366caf3d1 Merge pull request #11438 from uberbrady/backout_linear_depreciation_math
Revert a change in our Linear Depreciation math
2022-06-30 18:38:03 -07:00
naveen cfa301f5ae chore: Included githubactions in the dependabot config
This should help with keeping the GitHub actions updated on new releases. This will also help with keeping it secure.

Dependabot helps in keeping the supply chain secure https://docs.github.com/en/code-security/dependabot

GitHub actions up to date https://docs.github.com/en/code-security/dependabot/working-with-dependabot/keeping-your-actions-up-to-date-with-dependabot

https://github.com/ossf/scorecard/blob/main/docs/checks.md#dependency-update-tool
Signed-off-by: naveen <172697+naveensrinivasan@users.noreply.github.com>
2022-07-01 01:33:50 +00:00
Brady Wetherington f72aa2415f Revert a change in our Linear Depreciation math; I think the old algorithm was correct 2022-06-30 18:24:45 -07:00
snipe 7969a66552 Merge remote-tracking branch 'origin/develop' 2022-06-30 18:17:51 -07:00
snipe 4edba064d5 Removed duplicate model column in depreciation report
Signed-off-by: snipe <snipe@snipe.net>
2022-06-30 18:17:30 -07:00
snipe f3a3c59b7b Fixed branch name
Signed-off-by: snipe <snipe@snipe.net>
2022-06-30 18:05:46 -07:00
snipe aa54c23f98 Bumped version
Signed-off-by: snipe <snipe@snipe.net>
2022-06-30 18:04:53 -07:00
snipe df1e2687d6 Updated languages
Signed-off-by: snipe <snipe@snipe.net>
2022-06-30 17:35:02 -07:00
snipe 4f07e77bf9 Add @naveensrinivasan as a contributor 2022-06-30 17:35:02 -07:00
snipe a10f570350 Merge pull request #11436 from turrisxyz/Pinned-Dependencies-GitHub
chore: Set permissions for GitHub actions
2022-06-30 17:30:17 -07:00
naveen ac94aa8e46 chore: Set permissions for GitHub actions
Restrict the GitHub token permissions only to the required ones; this way, even if the attackers will succeed in compromising your workflow, they won’t be able to do much.

- Included permissions for the action. https://github.com/ossf/scorecard/blob/main/docs/checks.md#token-permissions

https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions

https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs

[Keeping your GitHub Actions and workflows secure Part 1: Preventing pwn requests](https://securitylab.github.com/research/github-actions-preventing-pwn-requests/)

Signed-off-by: naveen <172697+naveensrinivasan@users.noreply.github.com>
2022-07-01 00:29:21 +00:00
snipe 7ebf125dae Merge remote-tracking branch 'origin/develop' 2022-06-30 15:44:51 -07:00
snipe 9a361d573f Merge pull request #11435 from snipe/features/ldap_warnings
Added warnings for common LDAP misconfigs
2022-06-30 15:44:33 -07:00
snipe 1a423a252b Derp
Signed-off-by: snipe <snipe@snipe.net>
2022-06-30 15:22:58 -07:00
snipe 7591f3f092 Added auth filter check regex
Signed-off-by: snipe <snipe@snipe.net>
2022-06-30 15:15:49 -07:00
snipe 2cace3c73a Added LDAP warnings on page load
Signed-off-by: snipe <snipe@snipe.net>
2022-06-30 15:08:12 -07:00
snipe 97afafdd48 Merge remote-tracking branch 'origin/develop' 2022-06-30 14:20:34 -07:00
snipe 656efc5f92 Fixed missing trans()
Signed-off-by: snipe <snipe@snipe.net>
2022-06-30 14:20:15 -07:00
snipe 46d055cf74 Fixed weird extra padding on crown
Signed-off-by: snipe <snipe@snipe.net>
2022-06-30 14:17:53 -07:00
snipe 423e7439ee Merge remote-tracking branch 'origin/develop' 2022-06-30 14:09:19 -07:00
Nathan Butler 0617480f73 Asset checkinbytag now consistent with existingAPI
This is a non-breaking change to the checkinbytag endpoint to bring it
inline with the usage/formatting of the other bytag endpoints that
currently exist - using the URL path to define the asset_tag instead of
passing it through as a url query.

Both methods will work, but the URL Path method will take precidence if
it is used (the query will be ignored if included)
2022-06-30 09:23:52 +10:00
snipe 2262ef818e Merge pull request #11427 from Godmartinz/email_users_list
[feature] adds button to email user list of assets from profile
2022-06-29 15:25:18 -07:00
snipe 02459aad26 Merge pull request #11430 from uberbrady/scim_more_tolerant
Make SCIM be more tolerant of missing fields
2022-06-29 15:24:25 -07:00
Brady Wetherington 2451bb9a2b Make SCIM be more tolerant of missing fields 2022-06-29 14:48:59 -07:00
Godfrey M cd9d2d0cec adds docblock 2022-06-29 13:01:29 -07:00
Godfrey M fc636ea888 removed redundant header 2022-06-29 12:01:56 -07:00
Godfrey M e471aa8639 adds button to email user list of assets from profile 2022-06-29 11:15:15 -07:00
snipe 180f36d145 Merge remote-tracking branch 'origin/develop' 2022-06-29 05:04:21 -07:00
snipe f8fd87b896 Add @ntbutler-nbcs as a contributor 2022-06-29 05:04:07 -07:00
snipe 130c8ea1b0 Add @ntbutler-nbcs as a contributor 2022-06-29 05:03:22 -07:00
snipe 5af6330398 Merge pull request #11417 from ntbutler-nbcs/master
[Feature] - Add checkoutByTag API endpoint for assets
2022-06-29 05:03:01 -07:00
snipe daaf8713d8 Merge branch 'dampfklon-9813-duplicate-accept-asset' into develop 2022-06-29 04:58:26 -07:00
snipe 5b02d9ed06 Merge branch '9813-duplicate-accept-asset' of https://github.com/dampfklon/snipe-it into dampfklon-9813-duplicate-accept-asset
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	resources/views/account/accept/create.blade.php
2022-06-29 04:58:13 -07:00
snipe b04cf20735 Merge pull request #10758 from inietov/fixes/badmethodcallexception_undefined_method_Asset.unaccepted_develop
Fixes BadMethodCallException Call to undefined method App\Models\Asset::unaccepted() for master [ch-17636]
2022-06-29 04:34:51 -07:00
Nathan Butler 6531657ee0 Revert version to dev for pull request 2022-06-29 18:00:15 +10:00
Nathan Butler e28e7e37b8 Removed unneeded checks when searching for asset 2022-06-29 17:49:50 +10:00
snipe 467f59e193 Merge remote-tracking branch 'origin/develop' 2022-06-29 00:25:00 -07:00
snipe be9e6fe847 Another typo
Signed-off-by: snipe <snipe@snipe.net>
2022-06-29 00:24:33 -07:00
snipe b0e13611f7 Fixed typo
Signed-off-by: snipe <snipe@snipe.net>
2022-06-29 00:24:08 -07:00
snipe f3887aef33 Merge remote-tracking branch 'origin/develop' 2022-06-29 00:10:38 -07:00
snipe 7b3f891edd Merge pull request #11418 from snipe/features/api_backup_download
Download backup via API
2022-06-29 00:07:09 -07:00
snipe b590f29f33 Attempt a download via API
Signed-off-by: snipe <snipe@snipe.net>
2022-06-28 23:59:13 -07:00
snipe 1debdc47cf Backups endpoint
Signed-off-by: snipe <snipe@snipe.net>
2022-06-28 23:30:17 -07:00
snipe bb7662a214 Merge pull request #11416 from snipe/features/personal_access_endpoint
Added personal access endpoint to API
2022-06-28 23:27:21 -07:00
snipe 53bc15900b Formatted show api
Signed-off-by: snipe <snipe@snipe.net>
2022-06-28 23:23:55 -07:00
snipe 90fe7af863 Small refactor
Signed-off-by: snipe <snipe@snipe.net>
2022-06-28 23:18:16 -07:00
snipe 67ad24af08 Return token ID in cli
Signed-off-by: snipe <snipe@snipe.net>
2022-06-28 23:13:25 -07:00
Nathan Butler 67e9b7795a Added asset checkoutByTag API endpoint 2022-06-29 16:11:57 +10:00
snipe 52332bc9ed Include token ID in payload
Signed-off-by: snipe <snipe@snipe.net>
2022-06-28 23:10:56 -07:00
snipe dc27d3bec9 Change to plural endpoints
Signed-off-by: snipe <snipe@snipe.net>
2022-06-28 23:10:40 -07:00
snipe a711e608c9 Changed siganture to be clearer
Signed-off-by: snipe <snipe@snipe.net>
2022-06-28 22:26:37 -07:00
snipe 2f7c04362e Make -kkey-only a flag
Signed-off-by: snipe <snipe@snipe.net>
2022-06-28 22:20:55 -07:00
snipe 9b6fd7e19a Set $accessTokenName
Signed-off-by: snipe <snipe@snipe.net>
2022-06-28 22:11:46 -07:00
snipe 9680b02bce Check that the user has permission to create their own API keys
Signed-off-by: snipe <snipe@snipe.net>
2022-06-28 22:09:18 -07:00
snipe e7de7d1716 Show user info as well
Signed-off-by: snipe <snipe@snipe.net>
2022-06-28 22:06:46 -07:00
snipe 112f147596 Console script to generate API tokens
Signed-off-by: snipe <snipe@snipe.net>
2022-06-28 22:04:39 -07:00
snipe 413487de80 Made method naming consistent
Signed-off-by: snipe <snipe@snipe.net>
2022-06-28 21:32:12 -07:00
snipe 1158fa9ea8 Added personal access tokens to api
Signed-off-by: snipe <snipe@snipe.net>
2022-06-28 21:29:15 -07:00
snipe a8e8112b34 Merge pull request #11415 from snipe/features/more_api_filters
Added additional filters for api indexes
2022-06-28 20:04:01 -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 14ba3af086 Merge pull request #11414 from snipe/features/additional_search_fields_for_locations
Added additional search filters for location API
2022-06-28 19:08:08 -07:00
snipe 71c8050883 Added additional search filters for location API
Signed-off-by: snipe <snipe@snipe.net>
2022-06-28 19:07:11 -07:00
snipe df5b01492c Merge remote-tracking branch 'origin/develop' 2022-06-28 18:55:59 -07:00
snipe 9dbb355e8d Merge pull request #11412 from snipe/features/model_uploads
Added model uploads
2022-06-28 18:42:05 -07:00
snipe 0f3778f07b Merge pull request #11413 from uberbrady/add_username_index
Add index across username and deleted_at to improve performance
2022-06-28 17:16:01 -07:00
Brady Wetherington f515bd2dc8 Add index across username and deleted_at to improve large directory sync performance 2022-06-28 17:12:14 -07:00
snipe f3075facb4 Added delete button
Signed-off-by: snipe <snipe@snipe.net>
2022-06-28 16:25:22 -07:00
snipe ed95adb45c Show model files on hardware page
Signed-off-by: snipe <snipe@snipe.net>
2022-06-28 16:17:46 -07:00
snipe 95d4f7c62e Added models router to BS tables
Signed-off-by: snipe <snipe@snipe.net>
2022-06-28 15:56:18 -07:00
snipe c90ed9f25f Allow models uploads
Signed-off-by: snipe <snipe@snipe.net>
2022-06-28 15:50:07 -07:00
snipe 7f664a7971 Layout changes for file upload
Signed-off-by: snipe <snipe@snipe.net>
2022-06-28 12:32:12 -07:00
snipe 14c6879f06 Merge remote-tracking branch 'origin/develop' 2022-06-28 11:41:56 -07:00
snipe d8d12d4590 Merge pull request #11408 from uberbrady/add_filter_option_to_ldap_sync
Add a new `--filter` option to Artisan ldap-sync command
2022-06-28 09:50:48 -07:00
Brady Wetherington be3388d647 Add a new --filter option to Artisan ldap-sync command 2022-06-27 19:49:59 -07:00
snipe 242836719d Bumped hash
Signed-off-by: snipe <snipe@snipe.net>
2022-06-27 19:32:10 -07:00
snipe 393c32558b Gotta bump that hash up
Signed-off-by: snipe <snipe@snipe.net>
2022-06-27 19:31:26 -07:00
snipe 94e723a88f Merge pull request #11404 from snipe/features/fix_transliteration
Fixed custom field transliteration
2022-06-27 17:42:02 -07:00
snipe 14d8fb66aa Merge pull request #11405 from snipe/fixes/use_db_column_instead_of_converted_value
Only care about the custom field's converted name when updating the custom field itself
2022-06-27 17:36:26 -07:00
snipe ae73d4cc7c Merge pull request #11407 from snipe/features/disclosure_arrows_on_user_screen
Added disclosure arrows for lesser used options on user screen
2022-06-27 17:33:31 -07:00
snipe bf08e73f8f Removed comments and server side cookie info
Signed-off-by: snipe <snipe@snipe.net>
2022-06-27 16:36:09 -07:00
snipe 4a3f56acf2 Removed old cooke stuff
Signed-off-by: snipe <snipe@snipe.net>
2022-06-27 16:35:54 -07:00
snipe e33a4c2ef2 Added disclosure arrows to use screen
Signed-off-by: snipe <snipe@snipe.net>
2022-06-27 16:35:44 -07:00
snipe 52bd7d0d68 Merge remote-tracking branch 'origin/develop' 2022-06-27 14:25:38 -07:00
snipe baad3b9d58 Only care about the converted name when updating the custom field itself
Signed-off-by: snipe <snipe@snipe.net>
2022-06-27 14:17:07 -07:00
snipe 131edb611e Refine output and checks
Signed-off-by: snipe <snipe@snipe.net>
2022-06-27 13:54:21 -07:00
snipe 518395bbc7 Merge pull request #11403 from uberbrady/remember_disclosure_triangles
Remember the state of the disclosure triangles in Assets
2022-06-27 13:28:14 -07:00
Brady Wetherington 34b4499178 Remember the state of the disclosure triangles in Assets 2022-06-27 12:57:19 -07:00
snipe 8f900fb4e1 More UI tweaks
Signed-off-by: snipe <snipe@snipe.net>
2022-06-27 12:15:11 -07:00
snipe 9355689dd4 Nicer output for custom fields error
Signed-off-by: snipe <snipe@snipe.net>
2022-06-27 11:52:51 -07:00
snipe 0909feaa6b Few more UI tweaks
Signed-off-by: snipe <snipe@snipe.net>
2022-06-27 11:01:19 -07:00
snipe 7f18180105 Fixed toggle
Signed-off-by: snipe <snipe@snipe.net>
2022-06-27 10:26:37 -07:00
snipe bee694e605 Fixed typo
Signed-off-by: snipe <snipe@snipe.net>
2022-06-27 09:57:20 -07:00
snipe 08525a3c20 Few more changes
Signed-off-by: snipe <snipe@snipe.net>
2022-06-27 09:43:32 -07:00
snipe d70b36750c Merge pull request #10967 from veenone/fix/hide_optional_field_on_create_asset
Fixes #8155 -  improve the workflow during asset creation
2022-06-24 18:53:07 -07:00
snipe 8c85d7bc97 Merge pull request #11370 from inietov/fixes/customfields_default_values_not_validating
Adds validation to custom fields' default values
2022-06-24 18:11:16 -07:00
snipe cb225cb1ce Merge remote-tracking branch 'origin/develop' 2022-06-24 18:00:21 -07:00
snipe 7e7ae3bb95 Really reverting this time
Signed-off-by: snipe <snipe@snipe.net>
2022-06-24 17:55:34 -07:00
snipe 838579e9a8 Reverting :(
Signed-off-by: snipe <snipe@snipe.net>
2022-06-24 17:30:56 -07:00
snipe a99896618d Merge branch 'develop' of https://github.com/snipe/snipe-it into develop
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	composer.json
#	composer.lock
2022-06-24 17:21:57 -07:00
snipe 24cb13d52b Upgraded guzzle (not broken this time)
Signed-off-by: snipe <snipe@snipe.net>
2022-06-24 17:18:34 -07:00
snipe cc7513e202 Merge pull request #11392 from snipe/security/upgrade_guzzle
Upgraded guzzle to 7.4.5
2022-06-24 17:04:17 -07:00
snipe c0b6d5aa2c Upgraded guzzle to 7.4.5
Signed-off-by: snipe <snipe@snipe.net>
2022-06-24 17:01:24 -07:00
snipe 5788038b49 Merge pull request #11391 from snipe/security/upgrade_webpack
Upgrade webpack from 5.72.1 to 5.73.0
2022-06-24 16:41:59 -07:00
snipe fbf0815b16 Upgrade webpack from 5.72.1 to 5.73.0
Signed-off-by: snipe <snipe@snipe.net>
2022-06-24 16:41:19 -07:00
snipe e2c227f02b Merge remote-tracking branch 'origin/develop' 2022-06-24 16:21:10 -07:00
snipe be0f0fc421 Merge pull request #11388 from snipe/features/disable_purge_in_env
Disallow purge backup deletion by default and, enable via .env
2022-06-24 16:12:00 -07:00
snipe a03075b6ea Merge pull request #11389 from uberbrady/errmagerd_the_gerneral
Typo of 'general' was in the migration blade a few places
2022-06-24 16:05:40 -07:00
Brady Wetherington 3b3f1a817e Typo of 'general' was in the migration blade a few places 2022-06-24 16:00:15 -07:00
snipe 601f7a6994 Moved new variables in example env
Signed-off-by: snipe <snipe@snipe.net>
2022-06-24 16:00:05 -07:00
snipe 75d19d815d Still show the purge button even if not allowed to avoid confusion
Signed-off-by: snipe <snipe@snipe.net>
2022-06-24 15:59:40 -07:00
snipe d167d2a10f Disallow backup deletion and log attempt if not allowed
Signed-off-by: snipe <snipe@snipe.net>
2022-06-24 15:49:22 -07:00
snipe fce4f0dc0e Disable delete button if not allowed
Signed-off-by: snipe <snipe@snipe.net>
2022-06-24 15:49:07 -07:00
snipe 657039882c Added purge and backup strings
Signed-off-by: snipe <snipe@snipe.net>
2022-06-24 15:48:46 -07:00
snipe cf99d42413 Added backup delete to app config
Signed-off-by: snipe <snipe@snipe.net>
2022-06-24 15:48:37 -07:00
snipe f483eafae9 Added backup delete env
Signed-off-by: snipe <snipe@snipe.net>
2022-06-24 15:44:11 -07:00
snipe 77bf28bcb6 Disallow purge
Signed-off-by: snipe <snipe@snipe.net>
2022-06-23 20:11:43 -07:00
snipe 6c2d06efb9 Merge remote-tracking branch 'origin/develop' 2022-06-23 20:02:19 -07:00
snipe d0081188c7 Merge pull request #11387 from snipe/fixes/nicer_settings_search
Moved the settings search box higher
2022-06-23 19:31:24 -07:00
snipe ce2362459c Layout tweak for search and back placement
Signed-off-by: snipe <snipe@snipe.net>
2022-06-23 19:30:52 -07:00
snipe 4e568bec8a Moves the settings search box higher
Signed-off-by: snipe <snipe@snipe.net>
2022-06-23 19:25:30 -07:00
snipe 18c37c97b8 Dark skin prod assets
Signed-off-by: snipe <snipe@snipe.net>
2022-06-23 19:14:12 -07:00
snipe 82e5faa869 Merge remote-tracking branch 'origin/develop'
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	public/css/dist/skins/skin-black-dark.css
#	public/css/dist/skins/skin-black-dark.min.css
#	public/css/dist/skins/skin-blue-dark.css
#	public/css/dist/skins/skin-blue-dark.min.css
#	public/css/dist/skins/skin-orange-dark.css
#	public/css/dist/skins/skin-orange-dark.min.css
#	public/css/dist/skins/skin-purple-dark.css
#	public/css/dist/skins/skin-purple-dark.min.css
#	public/css/dist/skins/skin-red-dark.css
#	public/css/dist/skins/skin-red-dark.min.css
#	public/css/dist/skins/skin-yellow-dark.css
#	public/css/dist/skins/skin-yellow-dark.min.css
#	public/mix-manifest.json
2022-06-23 19:14:01 -07:00
snipe dec7122ac7 Dark skin dev assets
Signed-off-by: snipe <snipe@snipe.net>
2022-06-23 19:13:01 -07:00
snipe a75fc8af7e Merge remote-tracking branch 'origin/develop' 2022-06-23 19:12:13 -07:00
snipe 86d2c2b153 Small naming changes
Signed-off-by: snipe <snipe@snipe.net>
2022-06-23 19:11:59 -07:00
snipe 9fc4565bc1 Merge remote-tracking branch 'origin/develop' 2022-06-23 18:56:04 -07:00
snipe f0cc418965 Merge pull request #11383 from snipe/features/adds_user_id_to_users
Added created_by to users
2022-06-23 18:48:42 -07:00
snipe 0bc3ca5c42 Fixed comments
Signed-off-by: snipe <snipe@snipe.net>
2022-06-23 18:44:27 -07:00
snipe 62ab867051 Fixed url param
Signed-off-by: snipe <snipe@snipe.net>
2022-06-23 18:43:10 -07:00
snipe 9fd3541520 Missed on createdBy
Signed-off-by: snipe <snipe@snipe.net>
2022-06-23 18:42:22 -07:00
snipe 3e559044b2 Changed method and scope names
Signed-off-by: snipe <snipe@snipe.net>
2022-06-23 18:41:13 -07:00
snipe 75a631b91f Merge pull request #11375 from Godmartinz/bootS_dropdown_menu_fix
fixes dropdown column select font color  in bootstrap tables
2022-06-23 18:31:36 -07:00
snipe 3a8786fdb7 Updated assets for prod
Signed-off-by: snipe <snipe@snipe.net>
2022-06-23 18:27:31 -07:00
snipe f2a89161b3 Merge remote-tracking branch 'origin/develop' 2022-06-23 18:26:36 -07:00
snipe 1c25057e42 Merge pull request #11379 from Godmartinz/license_acceptance_eula
adds eula blade for licenses/consumables/components and fixes assigned_to for dom_pdf
2022-06-23 18:26:19 -07:00
snipe 590630e4e0 Merge pull request #11386 from snipe/fixes/default_skin_settings_colors
Small fixes to default blue
2022-06-23 18:23:45 -07:00
snipe 487dedba25 Merge pull request #11384 from snipe/fixes/bs_tables_undefined_for_archived
Fixed missing archived tooltip
2022-06-23 18:16:31 -07:00
snipe f4c346a57c Small fixes to default blue skin
Signed-off-by: snipe <snipe@snipe.net>
2022-06-23 18:11:42 -07:00
snipe 35365882ac Used new settings_button class in settings index
Signed-off-by: snipe <snipe@snipe.net>
2022-06-23 18:10:28 -07:00
snipe ea254ccc04 Tweaked default @blue
Signed-off-by: snipe <snipe@snipe.net>
2022-06-23 18:10:14 -07:00
snipe 06d5b5f4b1 Small change to color in overrides
Signed-off-by: snipe <snipe@snipe.net>
2022-06-23 18:10:03 -07:00
snipe 2536b02ace Fixed some colors on default skin
Signed-off-by: snipe <snipe@snipe.net>
2022-06-23 18:09:52 -07:00
snipe 6b8abb1511 Fixed missing archived tooltip
Signed-off-by: snipe <snipe@snipe.net>
2022-06-23 17:32:39 -07:00
snipe 9c9f5be6fe Do not show the creating admin by default in list view
Signed-off-by: snipe <snipe@snipe.net>
2022-06-23 17:28:34 -07:00
snipe d8daec2e0a Added created_by results to user index API
Signed-off-by: snipe <snipe@snipe.net>
2022-06-23 17:19:30 -07:00
snipe c9b81d65f1 Save the user id who is creating the user
Signed-off-by: snipe <snipe@snipe.net>
2022-06-23 17:19:08 -07:00
snipe 7f05029089 Added created_by to API output
Signed-off-by: snipe <snipe@snipe.net>
2022-06-23 17:18:31 -07:00
snipe 23c50ea9a5 Added admihn scopes
Signed-off-by: snipe <snipe@snipe.net>
2022-06-23 17:18:11 -07:00
snipe 2e5e8f363b Added admin to oresenter
Signed-off-by: snipe <snipe@snipe.net>
2022-06-23 17:18:04 -07:00
snipe e63183649a Show admin in user view
Signed-off-by: snipe <snipe@snipe.net>
2022-06-23 17:17:48 -07:00
snipe ef86c0273a Added migration to store admin ID
Signed-off-by: snipe <snipe@snipe.net>
2022-06-23 17:17:38 -07:00
snipe dd8d90aa39 Merge remote-tracking branch 'origin/develop' 2022-06-23 16:16:04 -07:00
snipe 670a46e85c Merge pull request #11382 from snipe/fixes/check_for_archived_setting_on_counts
Fixes check for archived setting on counts
2022-06-23 16:13:20 -07:00
snipe daf6c72005 Fleshed out comments on new scope
Signed-off-by: snipe <snipe@snipe.net>
2022-06-23 16:02:54 -07:00
snipe 1a4579b770 Missed one
Signed-off-by: snipe <snipe@snipe.net>
2022-06-23 16:00:27 -07:00
snipe 398c77bfdc Use new scope for additional tabs
Signed-off-by: snipe <snipe@snipe.net>
2022-06-23 15:37:39 -07:00
snipe d45d322b54 Use scoped query for asset count
Signed-off-by: snipe <snipe@snipe.net>
2022-06-23 13:43:23 -07:00
Godfrey M b0897a1fc9 adds acceptance for consumables and components 2022-06-23 11:52:35 -07:00
Godfrey M d00b469001 fixed the search for the license 2022-06-23 11:33:36 -07:00
snipe c5a6cec194 Merge pull request #11380 from snipe/features/better_excel_export
Fixed #11378 - Added better excel export
2022-06-23 11:25:33 -07:00
snipe e2b1494511 Reordered and added xlsx to export list
Signed-off-by: snipe <snipe@snipe.net>
2022-06-23 11:18:59 -07:00
Godfrey M df76e6eacf adds eula blade for licenses and fixes assigned_to for dom_pdf 2022-06-23 11:15:15 -07:00
Godfrey M 541ae919d9 fixes dropdown column select font color in bootstrap tables 2022-06-23 09:38:44 -07:00
Ivan Nieto Vivanco 7976401aa2 Add error message when the default customfield values can't be validated 2022-06-22 22:17:05 -05:00
Ivan Nieto Vivanco 7e10abe605 Fix the date control in custom fields' default values form to show the selected date 2022-06-22 21:47:08 -05:00
Ivan Nieto Vivanco afdf93ca63 Adds controls for custom fields of type date in the default value form 2022-06-22 21:37:11 -05:00
Ivan Nieto Vivanco 321367b974 Adds validation to custom fields' default values 2022-06-22 21:06:07 -05:00
snipe 366f3aacef Merge pull request #11367 from snipe/js_library_updates
Updated/upgraded assets
2022-06-22 16:23:03 -07:00
snipe 4b9ec9218d Upgraded/updates assets
Signed-off-by: snipe <snipe@snipe.net>
2022-06-22 15:54:58 -07:00
snipe cae66753fb Merge pull request #11323 from Godmartinz/bug/sc-19255/issues-with-black-light-sk
fixes non-dark mode black theme
2022-06-22 15:47:55 -07:00
snipe 5ac9efa9a3 Merge remote-tracking branch 'origin/develop' 2022-06-22 12:20:04 -07:00
snipe ded635207f Merge pull request #11365 from snipe/fixes/adds_missing_zip_to_user_view
Added missing postal code from user view
2022-06-22 12:19:27 -07:00
snipe f0f37df76e Added missing postal code from user view
Signed-off-by: snipe <snipe@snipe.net>
2022-06-22 12:18:57 -07:00
snipe f5702532f0 Bumped version
Signed-off-by: snipe <snipe@snipe.net>
2022-06-22 11:21:51 -07:00
snipe 2f02eee69b Bumped version
Signed-off-by: snipe <snipe@snipe.net>
2022-06-22 11:21:04 -07:00
snipe 89c234b1c2 Merge pull request #11358 from snipe/fixes/missing_token_lang
Fixed missing password.token string and checked for user existing before attempting to send reset email
2022-06-22 11:15:08 -07:00
snipe c24052cb2d Merge pull request #11364 from snipe/features/link_asset_to_order_number
Fixed #11351 - add link on asset view to order number
2022-06-22 11:08:40 -07:00
snipe a7a61a3620 Fixed #11351 - add link on asset view to order number
Signed-off-by: snipe <snipe@snipe.net>
2022-06-22 11:07:54 -07:00
snipe 135fdae209 Merge pull request #11337 from mikeroq/fixes/user_edit_website_missing
Fixed #11332 Added website field that was missing from update and store method.
2022-06-22 10:16:38 -07:00
snipe 5c30de517d Use rate limiter for API calls
Signed-off-by: snipe <snipe@snipe.net>
2022-06-22 09:11:40 -07:00
snipe a7dc6162fa Simplify password attempts rate limiting
Signed-off-by: snipe <snipe@snipe.net>
2022-06-22 09:11:24 -07:00
snipe 18778d3723 Additional example variables
Signed-off-by: snipe <snipe@snipe.net>
2022-06-22 09:07:48 -07:00
snipe 5ff1b5fd50 Increased throttle
Signed-off-by: snipe <snipe@snipe.net>
2022-06-21 19:39:50 -07:00
snipe 1c1f3dc42c Added password requests cleanup to scheduler
Signed-off-by: snipe <snipe@snipe.net>
2022-06-21 19:35:16 -07:00
snipe d67afc3bd0 Merge pull request #11359 from uberbrady/dont_show_images_on_checkin_email_if_not_requested
Fixes issue where asset images were showing up in checkin emails
2022-06-21 19:34:22 -07:00
snipe a5b857c753 Return error if token is incorrect
Signed-off-by: snipe <snipe@snipe.net>
2022-06-21 19:30:51 -07:00
snipe b00db3cc56 Added throttling to password reset token form
Signed-off-by: snipe <snipe@snipe.net>
2022-06-21 19:30:11 -07:00
snipe 57720cb978 Added comment block
Signed-off-by: snipe <snipe@snipe.net>
2022-06-21 19:12:57 -07:00
snipe 172e8d463f Use newer forgotten password variables
Signed-off-by: snipe <snipe@snipe.net>
2022-06-21 19:11:57 -07:00
snipe 284dbb7553 Set higher threshhold, moved throttle settings
Signed-off-by: snipe <snipe@snipe.net>
2022-06-21 19:11:39 -07:00
Brady Wetherington 1156eea8af Fixes issue where asset images were showing up in checkin emails 2022-06-21 19:11:16 -07:00
snipe 17ee332715 Remove throttle from GET in password reset
Signed-off-by: snipe <snipe@snipe.net>
2022-06-21 18:53:14 -07:00
snipe 2f258a3e3d Make the strings match
Signed-off-by: snipe <snipe@snipe.net>
2022-06-21 18:48:22 -07:00
snipe a31bca1798 Check that the user is activated before letting them reset their password
Signed-off-by: snipe <snipe@snipe.net>
2022-06-21 18:48:02 -07:00
snipe 791f77f641 Fixed throttle variables
Signed-off-by: snipe <snipe@snipe.net>
2022-06-21 18:41:12 -07:00
snipe 1b6df232aa Updated string
Signed-off-by: snipe <snipe@snipe.net>
2022-06-21 18:41:02 -07:00
snipe 386272a618 Manually add the additional routes so we can throttle them
Signed-off-by: snipe <snipe@snipe.net>
2022-06-21 18:40:53 -07:00
snipe 7f8fc7add9 Make SAML debugging less noisy
Signed-off-by: snipe <snipe@snipe.net>
2022-06-21 17:57:17 -07:00
snipe 6bc525bc25 Merge pull request #11352 from inietov/fixes/assets_transformer_date_customfields_fixes
Fixed #11335 Assets transformer date customfields issues
2022-06-21 17:56:17 -07:00
snipe de048e1009 Updated language
Signed-off-by: snipe <snipe@snipe.net>
2022-06-21 16:13:59 -07:00
snipe 68150d11b7 Make logo clickable
Signed-off-by: snipe <snipe@snipe.net>
2022-06-21 16:13:52 -07:00
snipe f4f400ed87 Handle workflow better for invalid users
Signed-off-by: snipe <snipe@snipe.net>
2022-06-21 16:13:43 -07:00
snipe a49ccf0863 Removed unused rules
Signed-off-by: snipe <snipe@snipe.net>
2022-06-21 16:13:26 -07:00
snipe 300879847f Added a few comments to make it clearer what’s happening
Signed-off-by: snipe <snipe@snipe.net>
2022-06-21 14:33:10 -07:00
snipe d4c53945d9 Tweaked language
Signed-off-by: snipe <snipe@snipe.net>
2022-06-21 14:19:49 -07:00
snipe 21875100b6 Fixed missing password.token string and checked for user existing before trying to reset
Signed-off-by: snipe <snipe@snipe.net>
2022-06-21 14:15:38 -07:00
snipe 87980643ea Merge pull request #11357 from snipe/fixes/11343_null_asset_name
Fixed #11343 - ability to null asset name on checkin
2022-06-21 10:58:28 -07:00
snipe 675f42401c Fixed #11343 - ability to null asset name
Signed-off-by: snipe <snipe@snipe.net>
2022-06-21 10:57:39 -07:00
Ivan Nieto Vivanco 3a5c09c424 Used the getFormattedDateObject() function with the expected parameters 2022-06-20 19:58:51 -05:00
snipe 3b462ffadc Merge pull request #11329 from mikeroq/fixes/deprecations_pagination_missing
Fixed #11285 - Depreciation index table missing pagination
2022-06-18 19:58:32 -07:00
mikeroq d60af478ad Added website field that was missing from update and store method. 2022-06-17 08:09:39 -05:00
snipe cabef8ff12 Merge pull request #11326 from snipe/features/added_number_format_to_tab_badges
Added number_format() to tab badges
2022-06-16 14:05:29 -07:00
Mike Roquemore 8a27ef30d5 Missing total argument on transformDeprecations method
Removed duplicate array key on transformDeprecation method
2022-06-15 21:52:15 -05:00
snipe a111482217 Use number_format on badges
Signed-off-by: snipe <snipe@snipe.net>
2022-06-15 14:59:06 -07:00
snipe a758e825ed Dev assets
Signed-off-by: snipe <snipe@snipe.net>
2022-06-15 13:45:33 -07:00
snipe af66f83a3d Check for blank (not null) values i asset transformer date
Signed-off-by: snipe <snipe@snipe.net>
2022-06-15 13:42:30 -07:00
snipe b3605fa141 Merge remote-tracking branch 'origin/develop' 2022-06-15 11:39:16 -07:00
snipe 6f713985fb Merge pull request #11324 from snipe/features/add_badges_to_companies
Features/add badges to companies
2022-06-15 11:38:32 -07:00
snipe 677e5a8cf1 Added tab badges to company detail view
Signed-off-by: snipe <snipe@snipe.net>
2022-06-15 11:37:44 -07:00
snipe 872600a7a7 Link company on license page
Signed-off-by: snipe <snipe@snipe.net>
2022-06-15 11:37:26 -07:00
Godfrey M 3a879bda4a more adjustments 2022-06-15 11:08:42 -07:00
Godfrey M a6852cf4d2 fixes non-dark mode black theme 2022-06-15 10:20:25 -07:00
snipe 61c601dbdf Merge remote-tracking branch 'origin/develop'
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	public/css/build/app.css
#	public/css/build/overrides.css
#	public/css/dist/all.css
#	public/mix-manifest.json
2022-06-15 02:09:32 -07:00
snipe 74bc06cc49 Removed debugging code
Signed-off-by: snipe <snipe@snipe.net>
2022-06-15 02:07:58 -07:00
snipe 5fe1078013 Squashed commit of the following:
commit a011b07d99
Merge: b392ed269 6059e9e11
Author: snipe <snipe@snipe.net>
Date:   Tue Jun 14 17:52:50 2022 -0700

    Merge pull request #11315 from snipe/features/adds_fullscreen_option_to_tables

    Added fullscreen option to tables

commit b392ed269b
Merge: 693043e64 e6d792bdf
Author: snipe <snipe@snipe.net>
Date:   Tue Jun 14 17:52:41 2022 -0700

    Merge pull request #11316 from snipe/fixes/smaller_padlock_on_table_header

    Tweaked CSS for smaller padlock

commit 6059e9e119
Author: snipe <snipe@snipe.net>
Date:   Tue Jun 14 17:49:00 2022 -0700

    Added fullscreen option to tables

    Signed-off-by: snipe <snipe@snipe.net>

commit e6d792bdf7
Author: snipe <snipe@snipe.net>
Date:   Tue Jun 14 17:43:12 2022 -0700

    Tweaked CSS for smaller padlock

    Signed-off-by: snipe <snipe@snipe.net>

Signed-off-by: snipe <snipe@snipe.net>
2022-06-14 17:54:18 -07:00
snipe a011b07d99 Merge pull request #11315 from snipe/features/adds_fullscreen_option_to_tables
Added fullscreen option to tables
2022-06-14 17:52:50 -07:00
snipe b392ed269b Merge pull request #11316 from snipe/fixes/smaller_padlock_on_table_header
Tweaked CSS for smaller padlock
2022-06-14 17:52:41 -07:00
snipe 6059e9e119 Added fullscreen option to tables
Signed-off-by: snipe <snipe@snipe.net>
2022-06-14 17:49:00 -07:00
snipe e6d792bdf7 Tweaked CSS for smaller padlock
Signed-off-by: snipe <snipe@snipe.net>
2022-06-14 17:43:12 -07:00
snipe f16a4b6aef Removed footer from show category
Signed-off-by: snipe <snipe@snipe.net>
2022-06-14 17:16:14 -07:00
snipe d74b4f55fb Merge remote-tracking branch 'origin/develop' 2022-06-14 17:15:39 -07:00
snipe 693043e645 Merge pull request #11313 from snipe/fixes/nicer_suppliers_mfgs_ui
Nicer suppliers and manufacturers UI
2022-06-14 17:14:53 -07:00
snipe e935a34946 Merge remote-tracking branch 'origin/develop' 2022-06-14 16:25:50 -07:00
snipe 4052e360c1 Merge pull request #11314 from snipe/fixes/deja_vu_font_pdf
Fixed #11175 - Use the Deja Vu font in PDFs to be able to support Cyrillic, etc
2022-06-14 16:25:33 -07:00
snipe cc6a2f2d49 Use the Deja Vu font to be able to support cyrllic, etc
Signed-off-by: snipe <snipe@snipe.net>
2022-06-14 16:23:30 -07:00
snipe 07bc2fd742 Added maintenance scope for ordering by supplier
Signed-off-by: snipe <snipe@snipe.net>
2022-06-14 16:11:43 -07:00
snipe a57a6486e7 Only add http:// if the url variable isn’t blank
Signed-off-by: snipe <snipe@snipe.net>
2022-06-14 16:11:13 -07:00
snipe a33276cb3d Additional filters on maintenances UI
Signed-off-by: snipe <snipe@snipe.net>
2022-06-14 16:10:48 -07:00
snipe bfec0059c5 Improved manufacturers UI
Signed-off-by: snipe <snipe@snipe.net>
2022-06-14 16:10:36 -07:00
snipe aea9dd1de5 Improved suplpiers UI
Signed-off-by: snipe <snipe@snipe.net>
2022-06-14 16:06:56 -07:00
snipe 954b54f914 Removed duplicated $allowed_columns
Signed-off-by: snipe <snipe@snipe.net>
2022-06-14 15:06:04 -07:00
snipe 56a15731ef Merge remote-tracking branch 'origin/develop' 2022-06-14 12:56:16 -07:00
snipe 766e59acde Merge pull request #11310 from snipe/fixes/statuslabels_bulk_edit
Fixes #11308 - bulk edit on statuslabels detail page
2022-06-14 12:55:56 -07:00
snipe f1a63f25e7 Partialize and add data atributes to statuslabel bulk
Signed-off-by: snipe <snipe@snipe.net>
2022-06-14 12:50:26 -07:00
snipe 88dfdb7538 Fixed bug in uncheck
Signed-off-by: snipe <snipe@snipe.net>
2022-06-14 12:50:10 -07:00
snipe 9072f7c6c9 Added click-to-select to tables
Signed-off-by: snipe <snipe@snipe.net>
2022-06-14 12:49:50 -07:00
snipe bff34063cd Merge pull request #11309 from uberbrady/ldap_troubleshooter_improvements
Fixed SC-19104 - fixes to ldap:troubleshoot artisan command
2022-06-14 12:24:24 -07:00
Brady Wetherington 1e685ca835 Fixed SC-19104 - fixes to ldap:troubleshoot artisan command 2022-06-14 12:18:42 -07:00
snipe b55630aafa Merge remote-tracking branch 'origin/develop' 2022-06-14 11:45:27 -07:00
snipe c3b644797e Merge pull request #11169 from inietov/fixes/user_update_from_import_location_in_assets
Fixes Asset location doesn't change when assigned user's location change via importer
2022-06-14 11:44:26 -07:00
snipe 1806dacb9d Bumped hash on master to 6.0.4
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	config/version.php
2022-06-13 23:59:43 -07:00
snipe abb7f23ca5 Bumped version to 6.0.4
Signed-off-by: snipe <snipe@snipe.net>
2022-06-13 23:58:53 -07:00
snipe b448c89655 Merge remote-tracking branch 'origin/develop'
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	config/version.php
2022-06-13 23:52:48 -07:00
snipe 8857391da7 Merge pull request #11305 from inietov/fixes/trying_to_access_array_offset_on_value_of_type_null
Fixed #11304 Trying to access array offset on value of type null at .../Transformers/AssetsTransformer.php
2022-06-13 23:51:51 -07:00
Ivan Nieto Vivanco 50c008ead5 Adds check in condition that format custom dates 2022-06-14 01:37:15 -05:00
snipe 3e8837dd6e Bumped dev branch to 6.0.3
Signed-off-by: snipe <snipe@snipe.net>
2022-06-13 22:13:18 -07:00
snipe ea1ff1e8bb Bumped version to 6.0.3
Signed-off-by: snipe <snipe@snipe.net>
2022-06-13 22:12:40 -07:00
snipe a7b155108d Merge remote-tracking branch 'origin/develop' 2022-06-13 22:07:13 -07:00
snipe 44c0c1bf0e Merge pull request #11301 from snipe/features/models_view_in_categories
Added models view (and bulk edit) in category detail view
2022-06-13 21:45:43 -07:00
snipe 7cd35a80b6 Updated assets for production
Signed-off-by: snipe <snipe@snipe.net>
2022-06-13 20:52:47 -07:00
snipe e8973f08b5 Added a back button
Signed-off-by: snipe <snipe@snipe.net>
2022-06-13 20:47:35 -07:00
snipe dd9c9520fb Correctly filter by category_id
Signed-off-by: snipe <snipe@snipe.net>
2022-06-13 20:42:21 -07:00
snipe aec033d8d2 Use better phrasing for tab
Signed-off-by: snipe <snipe@snipe.net>
2022-06-13 20:33:37 -07:00
snipe 5496b62b33 Split categories into two tabs if the type = asset
Signed-off-by: snipe <snipe@snipe.net>
2022-06-13 20:30:50 -07:00
snipe e393e2eb4b Fixed issue in BS tables where uncheck-all then checking a few would not uncheck properly
Signed-off-by: snipe <snipe@snipe.net>
2022-06-13 20:30:35 -07:00
snipe 10781a6e4b Use new bulk edit partial
Signed-off-by: snipe <snipe@snipe.net>
2022-06-13 20:29:17 -07:00
snipe 5a86004081 Created new models bulk edit partial
Signed-off-by: snipe <snipe@snipe.net>
2022-06-13 20:29:08 -07:00
snipe 91ade1f33e Merge remote-tracking branch 'origin/develop' 2022-06-13 20:02:52 -07:00
snipe eaecf8137a Updated assets for develop
Signed-off-by: snipe <snipe@snipe.net>
2022-06-13 19:52:27 -07:00
snipe 92bb8fac32 Removed log statement
Signed-off-by: snipe <snipe@snipe.net>
2022-06-13 19:49:14 -07:00
snipe d4a7811078 Merge pull request #11282 from Godmartinz/new_Yellow_skin
redone none dark mode yellow skin
2022-06-13 19:48:24 -07:00
snipe cb8dbcc172 Merge pull request #11281 from Godmartinz/chore_dark_mode_color_clean_up
cleans up dark modes
2022-06-13 19:48:15 -07:00
snipe 495e68d23c Merge pull request #11258 from Godmartinz/bug/sc-19123/link-colors-slightly-different-settings
Fixed colors in light color skins
2022-06-13 19:48:05 -07:00
snipe 20a0c4e3b5 Merge pull request #11272 from inietov/fixes/date_localization_in_customfields
Fixes #8143 Date localization not working on custom fields
2022-06-13 19:47:20 -07:00
snipe 4d773829f8 Merge pull request #10988 from bestlong/bestlong-patch-1
Ensure schedule analysis job never runs on forked repos
2022-06-13 19:45:36 -07:00
snipe bcb9804be8 Added a little more context to mail template
Signed-off-by: snipe <snipe@snipe.net>
2022-06-13 19:44:18 -07:00
snipe 5e59fa2598 Default to $snipeSettings->site_name
Signed-off-by: snipe <snipe@snipe.net>
2022-06-13 19:29:46 -07:00
snipe 6ea722d41e Merge pull request #11271 from inietov/fixes/bulk_delete_not_checking_assignedto_type
Fix typo in language files
2022-06-13 19:24:08 -07:00
snipe 66346684a9 Merge pull request #11288 from snipe/fixes/set_crons_as_app_user_in_installer
Fixes - set crons as app user in installer
2022-06-13 19:18:55 -07:00
snipe 9731a31cb6 Merge remote-tracking branch 'origin/develop' 2022-06-13 18:37:18 -07:00
snipe ef3e016667 Merge pull request #11300 from snipe/fixes/fa_map_icon_in_chrome
Fixed font-awesome leading class
2022-06-13 18:37:04 -07:00
snipe 93e4d23143 Changed font-awesome leading class
Signed-off-by: snipe <snipe@snipe.net>
2022-06-13 18:36:13 -07:00
snipe 0153a37cd7 Merge pull request #11264 from snipe/fixes/set_default_ldap_version
Fixed default ldap version if not specified
2022-06-13 17:14:57 -07:00
snipe cce5846018 Squashed commit of the following:
commit a070f7cd5e
Merge: 166f52630 4c1104147
Author: snipe <snipe@snipe.net>
Date:   Thu Jun 9 17:23:05 2022 -0700

    Merge pull request #11291 from snipe/fixes/regression_missing_restore_command

    Fixed regression: missing restore option for assets via API

commit 4c11041477
Author: snipe <snipe@snipe.net>
Date:   Thu Jun 9 17:17:38 2022 -0700

    Fixed regression: missing restore option for assets via API

    Signed-off-by: snipe <snipe@snipe.net>

Signed-off-by: snipe <snipe@snipe.net>
2022-06-09 17:23:50 -07:00
snipe a070f7cd5e Merge pull request #11291 from snipe/fixes/regression_missing_restore_command
Fixed regression: missing restore option for assets via API
2022-06-09 17:23:05 -07:00
snipe 4c11041477 Fixed regression: missing restore option for assets via API
Signed-off-by: snipe <snipe@snipe.net>
2022-06-09 17:17:38 -07:00
snipe 166f526302 Merge pull request #11290 from inietov/fixes/asset_observer_fails_checkout_on_creating
Fixes observer fails when creating and assigning a new asset
2022-06-09 16:13:12 -07:00
Ivan Nieto Vivanco f8718ffc1e Fixes observer fails when creating and assigning asset 2022-06-09 18:08:04 -05:00
snipe 31e4d3b725 Added second run_as_app_user
Signed-off-by: snipe <snipe@snipe.net>
2022-06-09 14:31:02 -07:00
snipe a766572a2f Set crons as app user for installer
Signed-off-by: snipe <snipe@snipe.net>
2022-06-09 14:21:38 -07:00
snipe 6a8824a467 Merge pull request #11286 from inietov/fixes/return_element_type_of_customfield
Fixes #11092 Add element type of customfield to API response
2022-06-09 11:40:09 -07:00
Ivan Nieto Vivanco 0c3972d7b7 Add spaces to the code for consistency 2022-06-09 13:02:31 -05:00
Ivan Nieto Vivanco 4a0eb2b3f1 Add element type of customfield to API response 2022-06-09 12:57:20 -05:00
Godfrey M b3559ac74e redone none dark mode yellow skin 2022-06-08 13:59:46 -07:00
Godfrey M 4252bd2348 cleans up dark modes 2022-06-08 13:17:16 -07:00
snipe 728338bfa8 Merge pull request #10824 from inietov/fixes/accessories_consumables_negative_numbers_develop
Fixes Accessories total quantity shows a negative number for develop branch
2022-06-08 10:53:57 -07:00
snipe df8834fd88 Merge pull request #11278 from Godmartinz/bug/sc-19134/possible-missing-wrong-translations-in-ldap
fixes translation references in the users ldap blade
2022-06-08 10:47:03 -07:00
Godfrey M c8bc0eff11 fixes translation references in the users ldap blade 2022-06-08 09:52:55 -07:00
snipe 8b6e869215 Merge pull request #11276 from snipe/fixes/added_bulk_data_attributes_to_manufacturers
Added new JS data attributes for assets in manufacturers
2022-06-08 04:19:38 -07:00
snipe 063893c109 Added new JS data attributes for assets in manufacturers
Signed-off-by: snipe <snipe@snipe.net>
2022-06-08 04:18:05 -07:00
Ivan Nieto Vivanco 44f4f20187 Only fix typo in 'en' file 2022-06-07 19:09:59 -05:00
Ivan Nieto Vivanco 792b18f845 Return language files to previous state 2022-06-07 19:09:03 -05:00
snipe 0671e478cd Merge pull request #11273 from inietov/fixes/eol_without_specified_date_format
Fixes EOL field doesn't have date formatter applied
2022-06-07 17:01:46 -07:00
Ivan Nieto Vivanco d2fc27e21d Add formatted date to EOL field in asset detailed view 2022-06-07 18:22:09 -05:00
Ivan Nieto Vivanco 740f27198f Evaluate if a custom field is a Date to present it with the correct format 2022-06-07 18:00:46 -05:00
Ivan Nieto Vivanco 064f4b3fc6 Fix typo in language files 2022-06-07 16:30:18 -05:00
snipe 5458676ead Default to v3 of LDAP on settings save
Signed-off-by: snipe <snipe@snipe.net>
2022-06-06 21:00:22 -07:00
snipe 8337628323 Set elvis operator to ensure ldap version is 3 if null
Signed-off-by: snipe <snipe@snipe.net>
2022-06-06 20:57:18 -07:00
snipe 7faaa4ce24 Merge pull request #11263 from inietov/fixes/dont_save_update_action_if_nothings_changed
Fixes log update action even if no changes are made to assets [sc-19131]
2022-06-06 20:06:19 -07:00
snipe 9583a72016 Merge pull request #11262 from snipe/fixes/11093_use_true_false_in_custom_fields_fieldsets
Fixed #11093 - Return true/false for custom fields/fieldsets required value in API
2022-06-06 20:04:52 -07:00
snipe e0102ddbf0 Fixes #11093 Return true/false for custom fields/fieldsets required in API
Signed-off-by: snipe <snipe@snipe.net>
2022-06-06 20:03:20 -07:00
Ivan Nieto Vivanco 1030ad9a27 Early returns if no change is made in the Asset so the 'update' action doesn't log 2022-06-06 22:00:05 -05:00
snipe ab8dcdcc40 Merge remote-tracking branch 'origin/master' into develop 2022-06-06 19:35:29 -07:00
snipe 773997a492 Merge pull request #11261 from snipe/features/11255_add_location_2_to_locations_listing
Fixed #11255 - add address 2 field to locations listing
2022-06-06 19:35:07 -07:00
snipe 8333c80b7a Added address2 to column selector for locations listing
Signed-off-by: snipe <snipe@snipe.net>
2022-06-06 19:31:08 -07:00
snipe 96644ab6b9 Merge pull request #11259 from inietov/fixes/history_issues
Fixes some issues in the asset observer
2022-06-06 18:25:05 -07:00
Ivan Nieto Vivanco f977c53ecb Fixes some issues in the asset observer 2022-06-06 19:14:32 -05:00
Godfrey M 8c1843b351 updates colors in light color modes 2022-06-06 11:40:57 -07:00
snipe c9e86ac194 Merge remote-tracking branch 'origin/develop' 2022-06-06 10:23:37 -07:00
snipe f7449921e9 Merge pull request #11253 from snipe/features/nicer_locations_ui
Nicer locations UI
2022-06-06 10:23:04 -07:00
snipe 5f79534f4a Merge remote-tracking branch 'origin/develop' 2022-06-05 22:44:53 -07:00
snipe 3bcd5d94d6 Merge pull request #11254 from snipe/fixes/11224_only_show_possible_options_in_bulk_menu
Fixed  #11224 - only show menu options if the user is allowed
2022-06-05 22:44:26 -07:00
snipe 01348187c8 Fixed #11224 - only show menu options if the user is allowed
Signed-off-by: snipe <snipe@snipe.net>
2022-06-05 22:41:53 -07:00
snipe b26a4ad333 Added missing headers
Signed-off-by: snipe <snipe@snipe.net>
2022-06-05 21:35:57 -07:00
snipe 89f45d3d05 Removed extra console logs and unused variable
Signed-off-by: snipe <snipe@snipe.net>
2022-06-05 21:16:29 -07:00
snipe e83a062eda Use translation string for model editing
Signed-off-by: snipe <snipe@snipe.net>
2022-06-05 21:11:50 -07:00
snipe 1ea667e709 Update views with additional data fields
Signed-off-by: snipe <snipe@snipe.net>
2022-06-05 21:03:56 -07:00
snipe 5326ebd136 Removed toolbar div we weren’t using
Signed-off-by: snipe <snipe@snipe.net>
2022-06-05 21:03:45 -07:00
snipe 4db9892f8c Use partial in overdue audit screen
Signed-off-by: snipe <snipe@snipe.net>
2022-06-05 21:03:12 -07:00
snipe 880828379e Update bulki partials with new values
Signed-off-by: snipe <snipe@snipe.net>
2022-06-05 21:02:51 -07:00
snipe 9b54077409 Additional tweaks to BS tables partial
Signed-off-by: snipe <snipe@snipe.net>
2022-06-05 21:02:19 -07:00
snipe 9f478b51e2 Additional JS tweaking
Signed-off-by: snipe <snipe@snipe.net>
2022-06-05 20:13:51 -07:00
snipe 7c77e03c5a Initial rework of locations display
Signed-off-by: snipe <snipe@snipe.net>
2022-06-05 18:08:15 -07:00
snipe 9d3aed42b7 Add @denzfarid as a contributor 2022-06-05 17:16:58 -07:00
snipe 3dedd51b84 Merge remote-tracking branch 'origin/develop'
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	config/version.php
2022-06-05 17:16:21 -07:00
snipe 711c713ab8 Bumped hash
Signed-off-by: snipe <snipe@snipe.net>
2022-06-05 17:15:29 -07:00
snipe 5bc5e9f108 Merge remote-tracking branch 'origin/develop'
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	resources/lang/en/admin/locations/general.php
2022-06-05 17:14:31 -07:00
snipe 9770692d07 Merge pull request #11251 from denzfarid/fixes/docker-php-redis-extension
Fixed #10910  : Add php-redis extension
2022-06-05 17:09:39 -07:00
snipe 133da6569b Merge pull request #11252 from snipe/fixes/locations_improvements
Fixes/locations improvements
2022-06-05 17:05:25 -07:00
snipe 985e683896 Small display improvements
Signed-off-by: snipe <snipe@snipe.net>
2022-06-05 16:59:53 -07:00
Raden Farid Nugraha c3698053ea Fixed ( #10910 ) : Add php redis extension 2022-06-06 06:58:07 +07:00
snipe dba06a3a9e Check for valid location before trying to print
Signed-off-by: snipe <snipe@snipe.net>
2022-06-03 16:56:15 -07:00
snipe 07b1062fb2 Better handle API calls to nonexistent users
Signed-off-by: snipe <snipe@snipe.net>
2022-06-03 16:55:23 -07:00
snipe be0933a708 Merge pull request #11249 from snipe/fixes/better_handle_bad_date_values
Fixed crashing on date formatting helper when value is not actually a date
2022-06-03 16:46:09 -07:00
snipe d31f185cce Display the actual value
Signed-off-by: snipe <snipe@snipe.net>
2022-06-03 15:36:52 -07:00
snipe 5901182885 Removed stray character
Signed-off-by: snipe <snipe@snipe.net>
2022-06-03 15:30:34 -07:00
snipe f033aeda83 Fixed typo in comments
Signed-off-by: snipe <snipe@snipe.net>
2022-06-03 15:28:00 -07:00
snipe 53f9e2bc7a Wrap the Carbon method in a try/catch to prevent crashing on bad data
Signed-off-by: snipe <snipe@snipe.net>
2022-06-03 15:25:39 -07:00
snipe 514db05770 Merge remote-tracking branch 'origin/develop' 2022-06-03 13:29:04 -07:00
snipe 7ca617f077 Merge pull request #11246 from snipe/fixes/clearer_placeholder_text_for_ldap
Added explicit “Example:” text in placeholders
2022-06-03 13:28:40 -07:00
snipe 8f5ac5fb55 Removed quotes around filter query
Signed-off-by: snipe <snipe@snipe.net>
2022-06-03 13:01:53 -07:00
snipe 54f828743e Merge remote-tracking branch 'origin/develop' 2022-06-03 12:54:13 -07:00
snipe f519fb747f Merge pull request #11248 from snipe/fixes/corrected_gate_on_assetmodels
Updated Asset Model gate to correctly display the button on view
2022-06-03 12:53:52 -07:00
snipe 36f714e414 Updated Asset Model gate to correctly display the button on view
Signed-off-by: snipe <snipe@snipe.net>
2022-06-03 12:52:53 -07:00
snipe 773c773773 Merge pull request #11247 from snipe/fixes/added_missing_validation_translations
Added the validation strings for user creation password options
2022-06-03 12:03:47 -07:00
snipe 3071a83ae0 Added the validation strings for user creation password options
Signed-off-by: snipe <snipe@snipe.net>
2022-06-03 12:00:56 -07:00
snipe 1c4864a3cc Added explicit “Example:” text in placeholders
Signed-off-by: snipe <snipe@snipe.net>
2022-06-03 11:25:18 -07:00
snipe 50c92d4730 Merge remote-tracking branch 'origin/develop' 2022-06-02 17:09:52 -07:00
snipe f8a0bf6a4b Merge pull request #11244 from snipe/fixes/drop_log_level_to_warn_on_SAML
Dropped log level to warn on SAML error
2022-06-02 17:09:32 -07:00
snipe 910fc08406 Dropped log level to warn on SAML error
Signed-off-by: snipe <snipe@snipe.net>
2022-06-02 17:07:49 -07:00
snipe eebc56d54b Merge remote-tracking branch 'origin/develop' 2022-06-02 16:33:04 -07:00
snipe b5ddc2c85b Merge pull request #11243 from snipe/fixes/fix_diff_time_in_audit_report
Don’t use the formatted date for diff days in audit report
2022-06-02 16:32:46 -07:00
snipe 4e03ebe284 Don’t use the formatted date for diff days in audit report
Signed-off-by: snipe <snipe@snipe.net>
2022-06-02 16:30:26 -07:00
snipe 7577fc61e4 Merge pull request #11235 from Godmartinz/gh_5644-checkout_history_for_accessories
fixed issue with misplaced div
2022-06-01 17:03:23 -07:00
Godfrey M d302675056 fixed a div placement 2022-06-01 16:58:29 -07:00
Godfrey M 5316f41eba fixed a div placement 2022-06-01 16:56:01 -07:00
snipe fa6c463d46 Merge pull request #11046 from Godmartinz/gh_5644-checkout_history_for_accessories
Added history tab to accessories
2022-06-01 12:46:38 -07:00
snipe 23a441e7c8 Merge remote-tracking branch 'origin/develop' 2022-06-01 10:27:50 -07:00
snipe ac993184ee Merge pull request #11233 from snipe/fixes/11232_depreciation_layout
Fixed #11232 - missing closing div
2022-06-01 10:27:25 -07:00
snipe 1dbc1f4aa2 Fixed #11232 - missing closing div
Signed-off-by: snipe <snipe@snipe.net>
2022-06-01 10:26:26 -07:00
Achmad Fienan Rahardianto fe65de1207 implements cookie to maintain display preference 2022-06-01 11:54:05 +07:00
snipe 089704c4f9 Merge remote-tracking branch 'origin/develop' 2022-05-31 14:17:23 -07:00
snipe bb933e5214 Merge pull request #11227 from inietov/fixes/exception_getimagesize
Fixes #11116 Error exception in getimagesize
2022-05-31 14:09:18 -07:00
Ivan Nieto Vivanco eb34cf7917 Evaluates if logo is uploaded before export PDF 2022-05-31 15:59:01 -05:00
snipe 4909cf2a9e Merge pull request #11212 from inietov/fixes/checkout_logs_require_target
Fixes Exception checkout logs require target
2022-05-28 06:12:55 -07:00
Ivan Nieto Vivanco 37f9cca5ec Minor stylistic change 2022-05-28 08:11:13 -05:00
Ivan Nieto Vivanco 72192257f2 Delete a test file 2022-05-26 18:18:13 -05:00
Ivan Nieto Vivanco e0050bc844 Don't let a license to be checked out to a non-existent target 2022-05-26 18:06:53 -05:00
snipe d2d0842737 Merge pull request #11206 from snipe/features/suggest_updating_global_composer
Added a self-update suggestion in the upgrader
2022-05-26 11:30:09 -07:00
snipe fe3b9f9e86 Added a self-update suggestion in the upgrader
Signed-off-by: snipe <snipe@snipe.net>
2022-05-25 19:18:37 -07:00
snipe 0ea6671bfa Merge pull request #11202 from snipe/fixes/livewire_config
Starter Livewire config (for subdirectories)
2022-05-25 17:32:17 -07:00
snipe 9209675d45 Merge pull request #11204 from inietov/fixes/file_uploads_dont_show_in_target_activity_report
Fixes #11193 File Uploads don't show target in Activity report
2022-05-25 17:30:01 -07:00
Ivan Nieto Vivanco 3e44f39f4d Set the new File column as not visible by default 2022-05-25 19:19:25 -05:00
Ivan Nieto Vivanco 1f6ab340a6 Give a more descriptive name to variable 2022-05-25 18:53:17 -05:00
Ivan Nieto Vivanco f208869aff Add column to show filenames in Activity Report if the log action is 'uploaded' 2022-05-25 18:50:32 -05:00
snipe c031686825 Fixed path
Signed-off-by: snipe <snipe@snipe.net>
2022-05-25 15:12:38 -07:00
snipe 791c39d977 Starter Livewire config (for subdirectories)
Signed-off-by: snipe <snipe@snipe.net>
2022-05-25 15:10:20 -07:00
snipe aac432b00c Merge remote-tracking branch 'origin/develop' 2022-05-24 20:53:36 -07:00
snipe 2b5b3273e2 Strip quote marks from env_values
Signed-off-by: snipe <snipe@snipe.net>
2022-05-24 20:52:03 -07:00
snipe 4f57eebf24 Merge remote-tracking branch 'origin/develop' 2022-05-24 20:10:13 -07:00
snipe 0c9a1a8922 Merge pull request #11198 from snipe/features/check_for_dev_v_prod_in_updater
Check for APP_ENV in upgrader
2022-05-24 20:09:43 -07:00
snipe fa2a3e4b03 Added a line break
Signed-off-by: snipe <snipe@snipe.net>
2022-05-24 20:08:04 -07:00
snipe 94a337fc9e Rearrange a few thing
Signed-off-by: snipe <snipe@snipe.net>
2022-05-24 20:03:10 -07:00
snipe 8d9cdf9c15 Check for APP_ENV
Signed-off-by: snipe <snipe@snipe.net>
2022-05-24 19:56:42 -07:00
snipe fb8d52d599 Merge remote-tracking branch 'origin/develop' 2022-05-24 19:37:34 -07:00
snipe 070c36ffe6 Merge pull request #11197 from uberbrady/improve_ldap_php_81
Fixes #11119 - Downgraded/Removed log statements
2022-05-24 19:37:04 -07:00
snipe 5db1c50816 Merge pull request #11196 from snipe/fearures/env_checker_in_upgrader
Added a simple .env checker into the upgrader
2022-05-24 19:36:21 -07:00
snipe 43e97ea6ea Make printout more consistent
Signed-off-by: snipe <snipe@snipe.net>
2022-05-24 19:36:01 -07:00
Brady Wetherington 8fdedf9441 Downgraded/Removed log statements 2022-05-24 19:30:22 -07:00
snipe b67ed3eac2 Check for present APP_KEY as well
Signed-off-by: snipe <snipe@snipe.net>
2022-05-24 19:24:03 -07:00
snipe 116ce931ce Fixed path name to backup temp dir
Signed-off-by: snipe <snipe@snipe.net>
2022-05-24 18:44:32 -07:00
snipe 15d0fb4feb Added permissions check
Signed-off-by: snipe <snipe@snipe.net>
2022-05-24 18:40:15 -07:00
snipe 132b164a74 Slightly clarified error text
Signed-off-by: snipe <snipe@snipe.net>
2022-05-24 17:51:46 -07:00
snipe bdbe2c3ac6 Added a simple .env checker into the upgrader
Signed-off-by: snipe <snipe@snipe.net>
2022-05-24 17:43:23 -07:00
snipe 2db6cf85a7 Merge remote-tracking branch 'origin/develop'
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	config/version.php
2022-05-24 15:10:46 -07:00
snipe 5be7dee3d3 Updated language strings
Signed-off-by: snipe <snipe@snipe.net>
2022-05-24 15:07:14 -07:00
snipe 72799973e7 Bumped version
Signed-off-by: snipe <snipe@snipe.net>
2022-05-24 14:41:44 -07:00
snipe d8a8e03bf6 Nicer styling
Signed-off-by: snipe <snipe@snipe.net>
2022-05-24 14:39:01 -07:00
snipe a243823e5e Merge pull request #11190 from inietov/fixes/requested_assets_models_workflow
Adjust requested assets and models workflow a little bit.
2022-05-24 14:31:40 -07:00
Ivan Nieto Vivanco a4cf601c98 Remove extra tag and other stylistic changes 2022-05-24 16:27:55 -05:00
Ivan Nieto Vivanco 1e3c0d597e Use @can view directive instead of @if superadmin 2022-05-24 15:53:26 -05:00
snipe 91822d2e45 Use shorter helper config method
Signed-off-by: snipe <snipe@snipe.net>
2022-05-24 13:26:29 -07:00
snipe 43c5b412ca Merge remote-tracking branch 'origin/develop' 2022-05-24 13:17:39 -07:00
snipe 08ff71aae3 Merge pull request #11192 from snipe/fixes/typo_on_maintenance_screen
Fixed typo on maintenance screen
2022-05-24 13:16:50 -07:00
snipe 5d83516659 Fixed typoe on maintenance screen
Signed-off-by: snipe <snipe@snipe.net>
2022-05-24 13:15:01 -07:00
snipe f39005d295 Merge remote-tracking branch 'origin/develop' 2022-05-24 13:13:21 -07:00
snipe 0e6c82776a Merge pull request #11191 from snipe/fixes/corrected_activated_language_in_bulk_edit
Updated language strings from activated to able to login
2022-05-24 13:13:02 -07:00
snipe 67616dbcf4 Updated language strings from activated to able to login
Signed-off-by: snipe <snipe@snipe.net>
2022-05-24 13:12:02 -07:00
snipe 5881eef2c6 Merge remote-tracking branch 'origin/develop' 2022-05-24 13:01:16 -07:00
snipe 4839985f38 Added forced space after admin/superadmin badge
Signed-off-by: snipe <snipe@snipe.net>
2022-05-24 12:59:36 -07:00
Ivan Nieto Vivanco aa841a4674 Check permission before show links or not in requestable asset models view 2022-05-24 14:40:32 -05:00
Ivan Nieto Vivanco 6d1de73cad Fixes some html structure in the requested assets view 2022-05-24 14:06:05 -05:00
Ivan Nieto Vivanco e0b64a4879 Fixes constraint violation when ordering some columns 2022-05-24 14:00:23 -05:00
Ivan Nieto Vivanco 0a6626891e Add links to requestable Models' name 2022-05-24 13:36:13 -05:00
snipe 2ec7644a33 Merge remote-tracking branch 'origin/develop' 2022-05-24 10:49:13 -07:00
snipe 810578ff5d Merge pull request #11189 from snipe/fixes/show_username_on_user_view_if_not_admin
Fixed bug where username wasn’t showing for regular users
2022-05-24 10:48:55 -07:00
snipe 64eafb062e Fixed bug where username wasn’t showing for regular users
Signed-off-by: snipe <snipe@snipe.net>
2022-05-24 10:48:02 -07:00
snipe ad56928d04 Merge remote-tracking branch 'origin/develop' 2022-05-23 20:35:40 -07:00
snipe 30583f920d Merge pull request #11184 from uberbrady/fix_google_ldap_rebased
Google client-side TLS auth works better with null as context(?)
2022-05-23 20:35:15 -07:00
Brady Wetherington 5130a86854 Google client-side TLS auth works better with null as context(?) 2022-05-23 20:31:43 -07:00
snipe e4e32307de Merge remote-tracking branch 'origin/develop' 2022-05-23 20:15:33 -07:00
snipe e34ea32a5e Fixed translation styring reference
Signed-off-by: snipe <snipe@snipe.net>
2022-05-23 20:15:22 -07:00
snipe b8e6df545a Bumped hash
Signed-off-by: snipe <snipe@snipe.net>
2022-05-23 18:55:57 -07:00
snipe 90a4ce5723 Merge remote-tracking branch 'origin/develop' 2022-05-23 18:54:40 -07:00
snipe 8333089278 Merge pull request #11172 from snipe/rebased_added_gitkeep_to_to_eula_pdfs
Accept asset/accessory improvements and fixes
2022-05-23 12:59:01 -07:00
snipe 70344cc02e Merge pull request #11149 from Godmartinz/gh11129_setting_disclosure_arrow
Fixed #11129 - settings treeview won't stay active.
2022-05-23 12:55:11 -07:00
Godfrey M 4adb990a5d removed line breaks and deadspace 2022-05-23 09:37:20 -07:00
Godfrey M 160a147a58 removed line breaks and deadspace 2022-05-23 09:35:19 -07:00
snipe bd384d3f10 Small formatting fixes
Signed-off-by: snipe <snipe@snipe.net>
2022-05-19 17:55:59 -07:00
snipe ad8143b0bd Added comments
Signed-off-by: snipe <snipe@snipe.net>
2022-05-19 17:55:59 -07:00
snipe f439970e7a Fixed typo
Signed-off-by: snipe <snipe@snipe.net>
2022-05-19 17:55:59 -07:00
snipe 625f120813 Removed unused cases
Signed-off-by: snipe <snipe@snipe.net>
2022-05-19 17:55:59 -07:00
snipe a37a576ee5 FIxed translation string
Signed-off-by: snipe <snipe@snipe.net>
2022-05-19 17:55:59 -07:00
snipe 2bd0679a81 A few more tweaks to PDFs
Signed-off-by: snipe <snipe@snipe.net>
2022-05-19 17:55:59 -07:00
snipe b7eb72fe49 Rough refactor of the acceptance controller
Signed-off-by: snipe <snipe@snipe.net>
2022-05-19 17:55:59 -07:00
snipe afb3843fad Added sig and filename to acceptedCheckout method
Signed-off-by: snipe <snipe@snipe.net>
2022-05-19 17:55:59 -07:00
snipe 8e85d316c9 Removed stored_eula_file from API transformer
Signed-off-by: snipe <snipe@snipe.net>
2022-05-19 17:55:59 -07:00
snipe ebd3c11129 Added singleton
Signed-off-by: snipe <snipe@snipe.net>
2022-05-19 17:55:59 -07:00
snipe 75acb0f28a Added sig and eula pdf to checkout_acceptance
Signed-off-by: snipe <snipe@snipe.net>
2022-05-19 17:55:59 -07:00
snipe eb5f33e815 Removed logging statement
Signed-off-by: snipe <snipe@snipe.net>
2022-05-19 17:55:59 -07:00
snipe 8c64e7359a Added signature column, removed stored_eula_file column
Signed-off-by: snipe <snipe@snipe.net>
2022-05-19 17:55:59 -07:00
snipe 14495cd1da Nicer PDF display
Signed-off-by: snipe <snipe@snipe.net>
2022-05-19 17:55:59 -07:00
snipe 93eba43b76 Removed trailing slash from route
Signed-off-by: snipe <snipe@snipe.net>
2022-05-19 17:55:59 -07:00
snipe adbac82c30 Removed stored_eula_file from actionlog
Signed-off-by: snipe <snipe@snipe.net>
2022-05-19 17:55:59 -07:00
snipe e467ce912b Added some debugging and comments
Signed-off-by: snipe <snipe@snipe.net>
2022-05-19 17:55:59 -07:00
snipe 4eab5fd075 Removed older comments
Signed-off-by: snipe <snipe@snipe.net>
2022-05-19 17:55:59 -07:00
snipe d0e8a4ca09 Added some comments for clarity
Signed-off-by: snipe <snipe@snipe.net>
2022-05-19 17:55:59 -07:00
snipe bcd0671213 Migration to drop stored_eula_column
It’s extraneous, since we already have a file field in the action_logs, and we already store the stored_eula_file in checkout_acceptances.

Signed-off-by: snipe <snipe@snipe.net>
2022-05-19 17:55:59 -07:00
snipe 266a9e5328 Removed stored_eula_file from controller
Signed-off-by: snipe <snipe@snipe.net>
2022-05-19 17:55:59 -07:00
snipe a37fbe6abf Merge pull request #11171 from inietov/fixes/checkout_date_missing_in_mail_when_importing_assets
Fixes Checkout date missing in asset delivery mail
2022-05-19 15:49:43 -07:00
Ivan Nieto Vivanco 52901f50eb Add date to checkout action when importing assets 2022-05-19 17:38:10 -05:00
Ivan Nieto Vivanco 340c59969c Add query to update assigned assets location when importing users 2022-05-19 13:34:50 -05:00
snipe 8706b6d8a9 Merge pull request #11167 from inietov/fixes/error_500_on_import_page
Fixes #9019 Import page returns error 500
2022-05-19 10:50:59 -07:00
Ivan Nieto Vivanco 5d29f77d60 Initialize result variable so return don't crash 2022-05-19 12:47:12 -05:00
snipe 61a6c83418 Merge remote-tracking branch 'origin/develop'
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	public/css/dist/skins/skin-black.css
#	public/css/dist/skins/skin-black.min.css
#	public/css/dist/skins/skin-blue.css
#	public/css/dist/skins/skin-blue.min.css
#	public/css/dist/skins/skin-green.css
#	public/css/dist/skins/skin-green.min.css
#	public/css/dist/skins/skin-orange.css
#	public/css/dist/skins/skin-orange.min.css
#	public/css/dist/skins/skin-purple.css
#	public/css/dist/skins/skin-purple.min.css
#	public/css/dist/skins/skin-red.css
#	public/css/dist/skins/skin-red.min.css
#	public/css/dist/skins/skin-yellow.css
#	public/css/dist/skins/skin-yellow.min.css
#	public/mix-manifest.json
2022-05-18 17:21:32 -07:00
snipe deda1c2fd6 Merge pull request #11161 from snipe/fixes/corrects_retagging_script
Small fixes for asset tag regeneration script
2022-05-18 17:19:40 -07:00
snipe 4669bb54fe Small fixes for asset tag regeneration script
Signed-off-by: snipe <snipe@snipe.net>
2022-05-18 17:14:22 -07:00
snipe 319eae7810 Recompiled dev assets
Signed-off-by: snipe <snipe@snipe.net>
2022-05-18 16:21:04 -07:00
snipe 8449b5ca1e Merge pull request #11160 from uberbrady/improve_default_custom_field_value_on_asset_create
Fixed: #11098 - Smartly overwrite fields with default values for custom fields
2022-05-18 16:12:12 -07:00
Brady Wetherington e4b24e17f3 Improve comments because the logic is complicated and unintuitive 2022-05-18 16:06:39 -07:00
Brady Wetherington 981741062b Try to intelligently overwrite fields with default values for custom field 2022-05-18 15:51:32 -07:00
snipe a55adfc0a1 Merge pull request #11152 from Godmartinz/link_inconsistentcies
Thanks!
2022-05-18 15:45:30 -07:00
snipe f609146c29 Corrected field name
Signed-off-by: snipe <snipe@snipe.net>
2022-05-18 15:37:10 -07:00
snipe 891009dc67 Nicer formatting for buttons in bulk user edit
Signed-off-by: snipe <snipe@snipe.net>
2022-05-18 15:35:57 -07:00
Godfrey M ab23e04c65 re-adds Request::is to setting categories 2022-05-18 14:33:41 -07:00
Godfrey M 877b1bd0a3 re-adds Request::is to setting categories 2022-05-18 14:31:03 -07:00
snipe c0d352dd7d Merge remote-tracking branch 'origin/develop' 2022-05-18 14:17:51 -07:00
snipe bef895eaf4 Merge pull request #11158 from snipe/fixes/perform_db_migrate_on_restore
Run migrations after restore
2022-05-18 14:17:21 -07:00
snipe 014a32b050 Run migrations after restore
Signed-off-by: snipe <snipe@snipe.net>
2022-05-18 14:12:17 -07:00
snipe 937472feb0 Merge remote-tracking branch 'origin/develop'
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	public/js/build/app.js
#	public/js/build/vendor.js
#	public/js/dist/all.js
#	public/mix-manifest.json
2022-05-18 13:37:31 -07:00
snipe f14a4d3bc7 Recompiled dev assets
Signed-off-by: snipe <snipe@snipe.net>
2022-05-18 13:35:38 -07:00
snipe 9e9d371e1c Merge pull request #11157 from uberbrady/fix_select2_autofocus
Downgrade jQuery to 3.5.1 from 3.6.0 to re-enable select2 autofocus
2022-05-18 13:34:22 -07:00
Brady Wetherington 9e2bcfe168 Downgrade jQuery to 3.5.1 from 3.6.0 to re-enable select2 autofocus 2022-05-18 13:24:02 -07:00
Godfrey M eaeb74c576 readded comment 2022-05-18 13:13:38 -07:00
Godfrey M 23891054dc removed dead space and unused namespace 2022-05-18 13:11:20 -07:00
Godfrey M cfc4c58da3 fixes the Settings Tree menu to remain active when opened 2022-05-18 13:06:06 -07:00
snipe 5f187f71c8 Merge remote-tracking branch 'origin/develop' 2022-05-18 13:05:47 -07:00
snipe b2250ecb7a Merge pull request #11156 from inietov/fixes/error_500_on_unaccepeted_assets_report
Fixes error 500 on Unaccepted Assets Report
2022-05-18 13:04:54 -07:00
Ivan Nieto Vivanco 1453b36484 Add filter to only get Assets for the unaccepted assets report 2022-05-18 14:46:48 -05:00
snipe 4b21d9e7f4 Rebuild production assets
Signed-off-by: snipe <snipe@snipe.net>
2022-05-18 11:13:18 -07:00
snipe 4644f1479b Merge pull request #11154 from inietov/fixes/username_required_on_import
Fixes Username required on import process
2022-05-18 11:12:07 -07:00
snipe 3bf2328db2 Regenerated dev assets
Signed-off-by: snipe <snipe@snipe.net>
2022-05-18 11:11:34 -07:00
snipe 7d637eaa5a Merge pull request #11153 from Godmartinz/gh11146_license_detail_formatting
updated less files for license details to adhere to dark skin themes
2022-05-18 11:09:26 -07:00
Ivan Nieto Vivanco 32111a863b Call User::generateFormattedNameFromFullName() in the UserImporter 2022-05-18 13:02:44 -05:00
Godfrey M 0ed59753da updated less files for license details to adhere to dark skin themes 2022-05-18 10:55:57 -07:00
Godfrey M 75f5f3a0a8 fixes inconsistencies with links styling 2022-05-18 09:37:53 -07:00
Godfrey M 07679aa376 settings treeview won't stay active. still experimenting with potential solutions 2022-05-18 08:40:37 -07:00
snipe b7b21689f2 Merge remote-tracking branch 'origin/develop' 2022-05-18 04:25:23 -07:00
snipe b426fa352e Merge pull request #11147 from inietov/fixes/argument_passed_to_ItemImportRequest_is_null
FixesArgument 1 passed to App\Http\Requests\ItemImportRequest::import() must be an instance of App\Models\Import, null given
2022-05-18 04:24:46 -07:00
Ivan Nieto Vivanco a771984619 Add an early return if for some reason the import record is not found 2022-05-18 06:15:46 -05:00
snipe 71828d5461 One more trim…. sigh..
Signed-off-by: snipe <snipe@snipe.net>
2022-05-18 03:53:42 -07:00
snipe d9817ec696 Added a trim
Signed-off-by: snipe <snipe@snipe.net>
2022-05-18 03:51:53 -07:00
snipe 33ded3f18a More debugging
Signed-off-by: snipe <snipe@snipe.net>
2022-05-18 03:48:09 -07:00
snipe 004d567253 Added some debugging
Signed-off-by: snipe <snipe@snipe.net>
2022-05-18 03:31:00 -07:00
snipe e2fd5199c3 Merge remote-tracking branch 'origin/develop' 2022-05-18 02:43:14 -07:00
snipe b7b3b1a776 Merge pull request #11144 from snipe/fixes/add_spinner_to_backup_upload_icon
Added spinner onClick for file upload button on backups
2022-05-18 02:42:40 -07:00
snipe 4078e4e323 Added spinner onClick for file upload button on backups
Signed-off-by: snipe <snipe@snipe.net>
2022-05-18 02:40:32 -07:00
snipe 64d457425e Merge remote-tracking branch 'origin/develop' 2022-05-18 01:06:53 -07:00
snipe 524ef8261b Merge pull request #11142 from snipe/fixes/11141_fixed_accessories_api_endpoint
Fixed #11141 - accessories endpoint missing from API
2022-05-18 01:06:29 -07:00
snipe 344dcc10c1 Fixed #11141 - accessories endpoint missing from API
Signed-off-by: snipe <snipe@snipe.net>
2022-05-18 01:04:50 -07:00
snipe 2ad97ca040 Merge remote-tracking branch 'origin/develop' 2022-05-18 00:59:33 -07:00
snipe 7880e15672 Merge pull request #11140 from snipe/fixes/11120_textarea_on_fieldset
Fixed #11120 - custom fields not showing when textarea is present as field type
2022-05-18 00:59:13 -07:00
snipe ceffbb950f Fixed #11120 - custom fields not showing when textarea is present as field type
Signed-off-by: snipe <snipe@snipe.net>
2022-05-18 00:47:22 -07:00
snipe b941ea6950 Merge remote-tracking branch 'origin/develop' 2022-05-17 20:07:41 -07:00
snipe 54c1659210 Merge pull request #11139 from uberbrady/reduce_saml_debugging
Reduce saml debugging
2022-05-17 20:07:09 -07:00
Brady Wetherington b4a0d33ba8 Reduce logging further; we know the main error condition now 2022-05-17 19:57:42 -07:00
Brady Wetherington 4e65a8d755 Reduce SAML debugging output to actual error conditions 2022-05-17 19:54:14 -07:00
snipe bf028adcc3 Updated production assets
Signed-off-by: snipe <snipe@snipe.net>
2022-05-17 19:33:50 -07:00
snipe 137b558bef Merge pull request #11138 from snipe/fixes/updated_packages
Bumped packages
2022-05-17 19:32:18 -07:00
snipe be5be7a8b9 Bumped packages
Signed-off-by: snipe <snipe@snipe.net>
2022-05-17 19:30:57 -07:00
snipe 2b3a1ee120 Merge pull request #11137 from snipe/fixes/removed_weird_file_in_upgrader
Delete vendor/symfony/translation/TranslatorInterface.php in upgrader
2022-05-17 19:13:20 -07:00
snipe d316a3f044 Added trailing comma per convention
Signed-off-by: snipe <snipe@snipe.net>
2022-05-17 19:13:07 -07:00
snipe 105750bfde Delete vendor/symfony/translation/TranslatorInterface.php in upgrader
Signed-off-by: snipe <snipe@snipe.net>
2022-05-17 19:11:03 -07:00
snipe 3e34027ae0 Merge pull request #11136 from snipe/fixes/new_maintenance_page
Fixed #11124 - updated maintenance page
2022-05-17 19:03:54 -07:00
snipe 0f9559c1ff Fixed #11124 - updated maintenance page
Signed-off-by: snipe <snipe@snipe.net>
2022-05-17 19:01:37 -07:00
snipe 11db243514 Merge pull request #11135 from uberbrady/improve_restore_erroring
Do some better erroring if you can't launch the mysql binary
2022-05-17 18:16:40 -07:00
Brady Wetherington d391980b06 Do some better erroring if you can't launch the mysql binary 2022-05-17 17:01:23 -07:00
snipe a8eb138ae0 Merge pull request #11133 from inietov/fixes/backup_createdat_time_incorrect
Fixes #11096 Backup created_at time is incorrect
2022-05-17 14:39:19 -07:00
Ivan Nieto Vivanco 72493d54aa Show the date and time as the user select in their settings 2022-05-17 16:36:05 -05:00
Ivan Nieto Vivanco 91c7a89f93 Change to use the date() function instead of Helper::getFormattedDateObject() 2022-05-17 16:24:52 -05:00
snipe 11f540daaf Added debug line
Signed-off-by: snipe <snipe@snipe.net>
2022-05-17 09:41:35 -07:00
snipe 700b4ef058 Merge pull request #11127 from trav-c/bugfix/issue-11126-custom-css-encoding
Fixed #11126: don't entitise custom CSS on the labels view
2022-05-17 07:22:21 -07:00
Travers Carter 1fc0adf7b7 Fixed #11126: don't entitise custom CSS on the labels view 2022-05-18 00:16:18 +10:00
snipe 58875d5606 Added gitgnore to eula-pdfs
Signed-off-by: snipe <snipe@snipe.net>
2022-05-17 04:28:18 -07:00
snipe 0dfc98a493 Force db:wipe
Signed-off-by: snipe <snipe@snipe.net>
2022-05-17 04:27:48 -07:00
snipe 15a1db480a Merge pull request #11115 from snipe/fixes/update_constraints_to_php82
Update constraints to allow up to 8.2
2022-05-16 17:42:50 -07:00
snipe 3dc4f56fb4 Update constraints to allow up to 8.2
Signed-off-by: snipe <snipe@snipe.net>
2022-05-16 17:23:41 -07:00
snipe 7da8ec8448 Merge remote-tracking branch 'origin/develop' 2022-05-16 17:02:54 -07:00
snipe a973c0626e Merge pull request #11114 from uberbrady/bad_header_label_for_size_in_backups
We inadvertently used the wrong label for one of the headers
2022-05-16 17:02:31 -07:00
Brady Wetherington 213d990e47 We inadvertently used the wrong label for one of the headers on the backups page 2022-05-16 17:00:22 -07:00
snipe a5fbfdbab4 Merge remote-tracking branch 'origin/develop' 2022-05-16 16:51:46 -07:00
snipe b705878318 Merge pull request #11113 from snipe/fixes/11112_correct_formatter_for_locations
Fixed #11112 - use correct formatter for locations on dashboard
2022-05-16 16:51:22 -07:00
snipe 925529923a Fixed #11112 - use correct formatter for locations on dashboard
Signed-off-by: snipe <snipe@snipe.net>
2022-05-16 16:50:47 -07:00
snipe 13ce7513f0 Merge remote-tracking branch 'origin/develop' 2022-05-16 15:59:54 -07:00
snipe 7a1b17ff6a Backslash log:: (we shouldn’t have to do this tho?)
Signed-off-by: snipe <snipe@snipe.net>
2022-05-16 15:59:41 -07:00
snipe b32fba7f8a Switch to master
Signed-off-by: snipe <snipe@snipe.net>
2022-05-16 15:33:26 -07:00
snipe 7573a03cc5 Bumped minor version
Signed-off-by: snipe <snipe@snipe.net>
2022-05-16 15:32:57 -07:00
snipe b2e7572fe0 Merge pull request #11111 from snipe/fixes/individual_pass_reset
Fixed #11100 for individual users
2022-05-16 12:08:08 -07:00
snipe d4f7b5f80c Fixed #11100 for individual users
Signed-off-by: snipe <snipe@snipe.net>
2022-05-16 12:07:18 -07:00
snipe 64b582c657 Merge pull request #11108 from uberbrady/fix_ldap_first_login_password
Pass the password along directly instead of retrieving it from the In…
2022-05-16 11:01:35 -07:00
Brady Wetherington 6c86a28d18 Pass the password along directly instead of retrieving it from the Input or Request 2022-05-16 10:58:27 -07:00
snipe 63f8b0cad1 Merge pull request #11107 from uberbrady/fix_bulk_user_reset_passwords
Fixed #11104 - bulk-user reset-password links returning 500
2022-05-16 10:41:37 -07:00
Brady Wetherington b05d85ab0a Fix bulk-user reset-password links 2022-05-16 10:38:12 -07:00
snipe 93e509bd79 Merge pull request #11105 from snipe/fixes/upgrade_dom_pdf
Upgraded dompdf
2022-05-16 10:18:37 -07:00
snipe 4c06a451b8 Upgraded dompdf
Signed-off-by: snipe <snipe@snipe.net>
2022-05-16 10:17:46 -07:00
snipe 1c32dcae9f Add login note to demo resetter
Signed-off-by: snipe <snipe@snipe.net>
2022-05-15 10:20:03 -07:00
snipe 33c3a5a8ca Merge pull request #11088 from uberbrady/fix_ldap_manager_sync
Only set manager ID when the lookup succeeds.
2022-05-15 09:45:04 -07:00
Brady Wetherington f608e4586c Only set manager ID when the lookup succeeds. 2022-05-15 09:25:28 -07:00
snipe a050be873b Merge pull request #11080 from snipe/fixes/remove_sr_only_for_backup_file
Removed sr-only class for now - not sure why it’s interfering with the upload button
2022-05-14 11:02:55 -07:00
snipe ed8e82a606 Removed sr-only class for now - not sure why it’s interfering with the submit button JS
Signed-off-by: snipe <snipe@snipe.net>
2022-05-14 11:02:02 -07:00
snipe 8eed01bfa4 Merge pull request #11078 from snipe/fixes/show_encrypted_on_custom_field_view
Adds encrypted status to custom fields overview
2022-05-14 10:25:45 -07:00
snipe 418131df69 Merge pull request #11079 from snipe/fixes/adds_missing_backups_help_string
Fixed missing backups help string
2022-05-14 10:25:33 -07:00
snipe 5030c7e5ff Added missing backups help string
Signed-off-by: snipe <snipe@snipe.net>
2022-05-14 10:24:03 -07:00
snipe 91fb27ee00 Adds encrypted status to custom fields overview
Signed-off-by: snipe <snipe@snipe.net>
2022-05-14 10:20:04 -07:00
snipe 5f1f6baee9 Fixed unrelated typo
Signed-off-by: snipe <snipe@snipe.net>
2022-05-14 10:19:12 -07:00
snipe cc35a9ab6b Merge pull request #11077 from snipe/fixes/11075_wrong_var_for_licenses
Fix route for people file deletion
2022-05-14 08:26:29 -07:00
snipe 3fe0e04d52 Fix roite for people file deletion
Signed-off-by: snipe <snipe@snipe.net>
2022-05-14 08:25:22 -07:00
snipe d904fb1d80 Merge pull request #11076 from johnson-yi/fixes/saml_slo
Fixes #10706 - Fix saml slo for logout
2022-05-14 08:10:50 -07:00
Johnson Yi 4401dab8d6 fix saml slo for logout 2022-05-14 11:59:34 +00:00
snipe c4d75dca68 Merge pull request #11073 from snipe/features/add_filesize_to_object_uploads
Fixed #11052 - add file sizes to upload displays
2022-05-13 19:39:07 -07:00
snipe 3a31104b5c Fixed #11052 - add file sizes to upload displays
Signed-off-by: snipe <snipe@snipe.net>
2022-05-13 19:33:14 -07:00
snipe 157944b774 Try conditiinal formatting to support apache 2.2 and 2.4
Signed-off-by: snipe <snipe@snipe.net>
2022-05-13 18:01:06 -07:00
snipe 3ff745937a Merge pull request #11070 from snipe/fixes/11068_use_statement_for_login_attempts
Added missing use statement
2022-05-13 16:46:39 -07:00
snipe 333aa05809 Added missing use statement
Signed-off-by: snipe <snipe@snipe.net>
2022-05-13 16:46:13 -07:00
snipe c5ec3efc70 Merge pull request #11065 from snipe/fixes/double_encoding_for_custom_fields
Fixed  #11014 - double encoding for custom fields
2022-05-13 16:12:24 -07:00
snipe 747b58cb59 Bumped laravel version in readme
Signed-off-by: snipe <snipe@snipe.net>
2022-05-13 16:09:00 -07:00
snipe 8794936e1a Merge pull request #11067 from uberbrady/master
Fix cancel button in two-factor sign-in screen
2022-05-13 14:56:00 -07:00
Brady Wetherington ec65f7c72a Merge remote-tracking branch 'upstream/master' 2022-05-13 14:50:08 -07:00
Brady Wetherington b6284e6651 Fix 'cancel' button in two-factor screen 2022-05-13 14:49:37 -07:00
snipe 5cc4f9bc2a Merge pull request #11066 from uberbrady/fix_two_factor_v6
Switch the barcode backend to SVG, and fix the two-factor middleware
2022-05-13 14:38:15 -07:00
snipe d8a4509b22 Fix logout on 2fa
Signed-off-by: snipe <snipe@snipe.net>
2022-05-13 14:36:20 -07:00
Brady Wetherington 0ddb0f2c81 Switch the barcode backend to SVG, and fix the two-factor middleware 2022-05-13 14:22:27 -07:00
snipe ce5ae80755 Regenerated assets
Signed-off-by: snipe <snipe@snipe.net>
2022-05-13 13:44:51 -07:00
snipe c0868a68fb Removed console.log cruft
Signed-off-by: snipe <snipe@snipe.net>
2022-05-13 13:44:38 -07:00
snipe eccc5e7cf0 Make logout a post on 2FA cancel
Signed-off-by: snipe <snipe@snipe.net>
2022-05-13 13:35:13 -07:00
snipe 1424e168d6 Switch logout back to post
Signed-off-by: snipe <snipe@snipe.net>
2022-05-13 13:30:11 -07:00
snipe bda5d13c2b Fixed route name for appending models to kit
Signed-off-by: snipe <snipe@snipe.net>
2022-05-13 13:26:01 -07:00
snipe 7c82f5670b One more 2FA login change
Signed-off-by: snipe <snipe@snipe.net>
2022-05-13 12:48:55 -07:00
snipe 32bbe7c715 Fixed 2FA middleware
Signed-off-by: snipe <snipe@snipe.net>
2022-05-13 12:45:54 -07:00
snipe 293e3e02e4 Updated cookie name
Signed-off-by: snipe <snipe@snipe.net>
2022-05-13 12:07:00 -07:00
snipe 13d81f0a0c Updated prod assets
Signed-off-by: snipe <snipe@snipe.net>
2022-05-13 11:55:19 -07:00
snipe 64dc6fbd9c Switched branch to master
Signed-off-by: snipe <snipe@snipe.net>
2022-05-13 11:52:27 -07:00
snipe e55aac7fea Bumped hash
Signed-off-by: snipe <snipe@snipe.net>
2022-05-13 11:51:41 -07:00
snipe 6fc222a648 Fixed #11014 - Removed double escaping on custom fields
Signed-off-by: snipe <snipe@snipe.net>
2022-05-13 05:45:00 -07:00
snipe b36bfad0ca Set maxlength on password confirmation form element
Signed-off-by: snipe <snipe@snipe.net>
2022-05-13 05:27:47 -07:00
snipe 6b27c0311d Updated help text on groups for more info on deselecting
Signed-off-by: snipe <snipe@snipe.net>
2022-05-13 05:23:12 -07:00
snipe 93454decec Fixed broken quotes
Signed-off-by: snipe <snipe@snipe.net>
2022-05-13 05:14:53 -07:00
snipe 47fb323d90 Adding feature request file back
Signed-off-by: snipe <snipe@snipe.net>
2022-05-13 05:03:48 -07:00
snipe e4bd5be4fe Try deleting the issue template file because wtf?
Signed-off-by: snipe <snipe@snipe.net>
2022-05-13 05:03:27 -07:00
snipe cf4b418b22 Merge pull request #11063 from snipe/fixes/set_maxlength_for_user_fields
Sets maxlength of user fields to 191
2022-05-13 04:56:09 -07:00
snipe deb2d958d8 Sets maxlength of user fields to 191
Signed-off-by: snipe <snipe@snipe.net>
2022-05-13 04:54:12 -07:00
snipe c3e8c35063 Replaced feature request
Signed-off-by: snipe <snipe@snipe.net>
2022-05-12 22:15:02 -07:00
snipe aa04a9b2e2 Clear feature template to see if it fixes docker issue
Signed-off-by: snipe <snipe@snipe.net>
2022-05-12 22:14:49 -07:00
snipe 0cb6a9ce69 Bumped tableexport plugin
Signed-off-by: snipe <snipe@snipe.net>
2022-05-12 22:14:09 -07:00
snipe ef1eb15a91 Merge remote-tracking branch 'origin/master' into develop
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	config/permissions.php
2022-05-12 09:31:42 -07:00
snipe 714f6d80f2 Merge pull request #11059 from Godmartinz/feature/sc-19017/change-bootstrap-tables-export-to-be-landscape
Bootstrap tables export as landscape
2022-05-12 09:28:47 -07:00
Godfrey M 54f5e268a0 removed change from tableExport.js 2022-05-12 09:20:19 -07:00
Godfrey M 83d0743ab8 saves bootstrap pdf tables in landscape 2022-05-12 09:18:44 -07:00
snipe 722e88a472 Merge pull request #11058 from snipe/fixes/kit_permissions
Fixed kit checkout permissions if admin is not superadmin
2022-05-11 20:11:13 -07:00
snipe 91cc08d3fb Merge pull request #11050 from uberbrady/fix_encrypted_textareas
Make sure to decrypt Textareas as well as input type=text
2022-05-11 19:03:02 -07:00
snipe c52faaf23d Added checkout to permissions check
Signed-off-by: snipe <snipe@snipe.net>
2022-05-11 19:02:23 -07:00
snipe c0ef27fc9e Removed kit checkout permission - it’s just confusing
Signed-off-by: snipe <snipe@snipe.net>
2022-05-11 19:02:11 -07:00
snipe 5a5bb79188 Merge pull request #11055 from uberbrady/update_livewire_assets
Update Livewire assets, and make Composer auto-update Livewire assets
2022-05-11 14:02:04 -07:00
Brady Wetherington 35450aebdd Update Livewire assets, and make Composer auto-update Livewire assets as needed 2022-05-11 14:00:10 -07:00
Godfrey M 8ebe64e630 fixes final visual issue 2022-05-11 12:13:36 -07:00
Brady Wetherington e3696ff84c Make sure to decrypt Textareas as well as input type=text 2022-05-10 18:39:03 -07:00
snipe 446e44deb6 Merge pull request #11048 from Godmartinz/bug/sc-18989/purchase-cost-can-be-negative
Fixed validation for purchase cost allowed to be negative
2022-05-10 17:36:01 -07:00
snipe 816437b4d8 Updated hash
Signed-off-by: snipe <snipe@snipe.net>
2022-05-10 17:28:11 -07:00
snipe 5dfdf73e01 Dev assets
Signed-off-by: snipe <snipe@snipe.net>
2022-05-10 17:28:06 -07:00
snipe 780222d372 Merge remote-tracking branch 'origin/master' into develop
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	app/Http/Controllers/Api/AssetsController.php
#	app/Http/Controllers/Auth/LoginController.php
#	resources/views/users/print.blade.php
2022-05-10 17:26:26 -07:00
Godfrey M 2c1f368828 adds validation for all purchase costs variables 2022-05-10 16:26:06 -07:00
Godfrey M 33b1ab3658 prevents values for assets being negative through validation 2022-05-10 16:19:06 -07:00
snipe f4650c65db Clearer phrasing for log
Signed-off-by: snipe <snipe@snipe.net>
2022-05-10 13:00:48 -07:00
snipe d3830a44d8 Added more verbose messaging
Signed-off-by: snipe <snipe@snipe.net>
2022-05-10 12:40:50 -07:00
snipe 5869b6ed0c And still more debugging
Signed-off-by: snipe <snipe@snipe.net>
2022-05-10 12:38:46 -07:00
snipe 4fccf4ddc4 Few more log lines
Signed-off-by: snipe <snipe@snipe.net>
2022-05-10 12:27:42 -07:00
snipe 646166b2b6 Removed debug line
Signed-off-by: snipe <snipe@snipe.net>
2022-05-10 12:16:07 -07:00
snipe f4e737eaf3 More SAML debugging
Signed-off-by: snipe <snipe@snipe.net>
2022-05-10 12:14:22 -07:00
snipe f572eaa421 Added debugging for SAML login
Signed-off-by: snipe <snipe@snipe.net>
2022-05-10 12:07:07 -07:00
Godfrey M c07a244bab fixes 1/2 visual issues, adds history tab to accessories 2022-05-10 11:20:42 -07:00
snipe 72fe0d22ea Merge pull request #11040 from snipe/uberbrady-patch-2
Remove extraneous `{` in migration
2022-05-09 11:59:23 -07:00
Brady Wetherington 5357b1fa10 Remove extraneous { in migration
It looks like we inadvertently got an extra `{` in here - I noticed it because my IDE threw a big red dot on this migration. We must've accidentally put that in when we were adding the 'id' column.
2022-05-09 11:56:05 -07:00
snipe f3fc81b860 Merge pull request #11039 from snipe/features/adds_seat_id_to_seats_ui
Added license seat ID to the UI
2022-05-09 10:59:47 -07:00
snipe dc8669121d Added license seat ID to the UI
Signed-off-by: snipe <snipe@snipe.net>
2022-05-09 10:59:06 -07:00
Shao Yu-Lung (Allen) 8a032ee040 fix type 2022-05-07 22:54:47 +08:00
Shao Yu-Lung (Allen) a835401cb2 skip run schedule analysis job on forked repos 2022-05-07 22:50:01 +08:00
snipe dfd4d54433 Fixed route name
Signed-off-by: snipe <snipe@snipe.net>
2022-05-06 15:46:25 -07:00
snipe e353780b1b Merge pull request #11027 from snipe/features/add_bulk_edit_to_other_asset_views
Fixed #11026 - add bulk edit to other asset views
2022-05-06 14:21:10 -07:00
snipe 220f94faee Check that the session key exists
Signed-off-by: snipe <snipe@snipe.net>
2022-05-06 14:10:47 -07:00
snipe d5edb0908b Added translation string to the correct file this time
Signed-off-by: snipe <snipe@snipe.net>
2022-05-06 14:07:05 -07:00
snipe 89fee23d32 Commented out console log that was pooping up the joint
Signed-off-by: snipe <snipe@snipe.net>
2022-05-06 08:34:30 -07:00
snipe 2982d78899 Added translation for no assets selected
Signed-off-by: snipe <snipe@snipe.net>
2022-05-06 05:42:02 -07:00
snipe 22ec3c1398 Use error style instead of warn/info when nothing was selected
Signed-off-by: snipe <snipe@snipe.net>
2022-05-06 05:41:52 -07:00
snipe caf17d4f25 Fixed wrong variable name
Signed-off-by: snipe <snipe@snipe.net>
2022-05-06 05:41:32 -07:00
snipe e1b24bb763 Added a comment
Signed-off-by: snipe <snipe@snipe.net>
2022-05-06 05:30:21 -07:00
snipe 304cd75af5 Fixed extra divs
Signed-off-by: snipe <snipe@snipe.net>
2022-05-06 05:20:44 -07:00
snipe 59a0f4722b Use partial for asset bulk edit
Signed-off-by: snipe <snipe@snipe.net>
2022-05-06 05:20:35 -07:00
snipe 418a797e7e Use partial for asset bulk edit
Signed-off-by: snipe <snipe@snipe.net>
2022-05-06 05:20:29 -07:00
snipe adc017db23 Added checkbox to audit listing
Signed-off-by: snipe <snipe@snipe.net>
2022-05-06 05:16:13 -07:00
snipe 0c20543c49 Remove conflicting toolbar call in model listing
Signed-off-by: snipe <snipe@snipe.net>
2022-05-06 05:15:58 -07:00
snipe fe98e505fe Use the new partial for bulk asset edit
Signed-off-by: snipe <snipe@snipe.net>
2022-05-06 05:15:31 -07:00
snipe 78a9c16761 Minor formatting improvements
Signed-off-by: snipe <snipe@snipe.net>
2022-05-06 05:15:10 -07:00
snipe c4bf0045c8 Fixed stray < tag
Signed-off-by: snipe <snipe@snipe.net>
2022-05-06 05:14:55 -07:00
snipe c64f34ebcc Check the "do not change” radio button by default
Signed-off-by: snipe <snipe@snipe.net>
2022-05-06 05:14:31 -07:00
snipe 76213ec3d9 Create a session on bulk actions, store it for redirect, then delete it
Signed-off-by: snipe <snipe@snipe.net>
2022-05-06 05:14:08 -07:00
snipe 243739e9c3 Added missing gate for bulk checkout
Signed-off-by: snipe <snipe@snipe.net>
2022-05-06 05:13:36 -07:00
snipe cf0548bd1f Create a new partial for asset bulk actions
Signed-off-by: snipe <snipe@snipe.net>
2022-05-06 05:11:52 -07:00
snipe a43b54cc8d Bumped hash for clarity
Signed-off-by: snipe <snipe@snipe.net>
2022-05-06 02:13:56 -07:00
snipe caef98d36d Patched #11025 to develop
Signed-off-by: snipe <snipe@snipe.net>
2022-05-06 02:06:12 -07:00
snipe f91be34baf Merge pull request #11025 from snipe/fixes/missed_a_few_trans_strings
Fixed #10890 - Missed a few hard coded english strings
2022-05-06 02:02:15 -07:00
snipe fba731ac1c Missed a few hard coded english strings
Signed-off-by: snipe <snipe@snipe.net>
2022-05-06 02:01:17 -07:00
snipe 784bf4d784 Merge remote-tracking branch 'origin/master' into develop
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	.github/ISSUE_TEMPLATE/feature_request.yml
#	app/Http/Controllers/CustomFieldsetsController.php
#	app/Http/Controllers/ReportsController.php
#	config/version.php
#	package-lock.json
#	package.json
#	public/css/dist/all.css
#	public/css/dist/bootstrap-table.css
#	public/js/dist/bootstrap-table.js
#	public/mix-manifest.json
#	resources/views/users/print.blade.php
#	webpack.mix.js
2022-05-06 01:52:43 -07:00
snipe 6304709c77 Merge pull request #11023 from snipe/fixes/10890_use_translation_strings_in_assigned_printout
Fixed #10890 - Use translation strings in assigned printout instead of hardcoded English
2022-05-06 01:33:46 -07:00
snipe 39ee825ba2 Fixed html lang specification
Signed-off-by: snipe <snipe@snipe.net>
2022-05-06 01:32:20 -07:00
snipe c0e9393092 Fixed #10890 - use translation strings in user asset printout
Signed-off-by: snipe <snipe@snipe.net>
2022-05-06 01:30:58 -07:00
snipe 1ac626a43a Merge pull request #11022 from snipe/fixes/specify_full_url_in_favicons
Use full app_url in favicon paths
2022-05-06 00:22:14 -07:00
snipe 3a415b2fce Use full app_url in favicon paths
Signed-off-by: snipe <snipe@snipe.net>
2022-05-06 00:19:32 -07:00
snipe b20921cb62 Removed duplicate session regenerate
Signed-off-by: snipe <snipe@snipe.net>
2022-05-05 21:35:05 -07:00
snipe 2e03270fca Updated feature request YAML
Signed-off-by: snipe <snipe@snipe.net>
2022-05-05 19:06:25 -07:00
snipe 5370c2ca42 Merge pull request #10941 from Godmartinz/gh8856_signature_not_showing_in_print_all
[Fix] changes the query for the accept signature on print blade
2022-05-05 13:32:37 -07:00
snipe 0939591efb Merge pull request #11003 from inietov/fixes/integrity_constraint_violation_column_order_cannot_be_null_develop
Fixes QueryException Integrity constraint violation: Column 'order' cannot be null for develop
2022-05-05 13:28:00 -07:00
snipe a859eac4a0 Merge pull request #11002 from inietov/fixes/integrity_constraint_violation_column_order_cannot_be_null
Fixes QueryException Integrity constraint violation:  Column 'order' cannot be null
2022-05-05 13:27:45 -07:00
snipe 35d81be8d1 Merge pull request #11018 from snipe/update_bootstrap_table_to_latest
Update BS tables and table export to latest
2022-05-05 13:23:55 -07:00
snipe a5760cfe7b Update BS tables and table export to latest
Signed-off-by: snipe <snipe@snipe.net>
2022-05-05 12:22:20 -07:00
snipe cab29745e7 More small tweaks to feature request template
Signed-off-by: snipe <snipe@snipe.net>
2022-05-05 11:17:31 -07:00
snipe 41fa42f7d8 FR updates
Signed-off-by: snipe <snipe@snipe.net>
2022-05-05 11:14:55 -07:00
snipe eb49c33e1b Reverting feature request YAML
Signed-off-by: snipe <snipe@snipe.net>
2022-05-05 11:10:11 -07:00
snipe 31f2b73e5a Bumped version to GM
Signed-off-by: snipe <snipe@snipe.net>
2022-05-05 10:55:29 -07:00
snipe 953b3a8d6e Merge pull request #10993 from snipe/rcs/merge_master_into_develop_for_rc_8
Merge master into develop for RC 6.0.0-8
2022-05-05 10:53:17 -07:00
snipe c01f0880ef Changed language string
Signed-off-by: snipe <snipe@snipe.net>
2022-05-05 10:52:57 -07:00
snipe c838354b74 Merge pull request #11016 from benwa/patch-1
Update feature_request.yml
2022-05-05 10:19:37 -07:00
Bennett Blodinger 46c4d1a3d6 Update feature_request.yml
Correcting the label/description fields
2022-05-05 09:49:41 -05:00
snipe 57ed3afcc4 Bumped version
Signed-off-by: snipe <snipe@snipe.net>
2022-05-04 16:50:50 -07:00
snipe 5c78a15835 Removed dupe lines from merge conflict
Signed-off-by: snipe <snipe@snipe.net>
2022-05-03 12:56:29 -07:00
snipe 011ab604f2 Merge pull request #11001 from inietov/fixes/download_all_triggers_getDisplayNameAttribute_on_null_develop
Fixes Activity Report Download all action fails creating the CSV report for develop.
2022-05-03 20:52:47 +01:00
snipe fd71b48489 Merge pull request #11000 from inietov/fixes/download_all_triggers_getDisplayNameAttribute_on_null
Fixes Activity Report Download all action fails creating the CSV report.
2022-05-03 20:52:42 +01:00
Ivan Nieto Vivanco 37805509da Adds an integer casting to the order input field so it cannot be null 2022-05-01 15:27:05 -05:00
Ivan Nieto Vivanco 01232d9a54 Adds an integer casting to the order input field so it cannot be null 2022-05-01 15:16:56 -05:00
Ivan Nieto Vivanco ac8da55270 Evaluate if an item still exists before trying to get its name in the report 2022-05-01 13:25:55 -05:00
Ivan Nieto Vivanco 1cbbf8f976 Evaluate if an item still exists before trying to get its name in the report 2022-05-01 13:11:05 -05:00
snipe 313150e6dd Merge pull request #10998 from johnson-yi/fixes/saml_logout
Fixes #10980 - Prevent immediate saml login after normal logout
2022-04-30 19:49:54 +01:00
Johnson Yi 281c6df7b3 Customize login page when REQUIRE_SAML is enabled 2022-04-29 15:35:40 +00:00
Johnson Yi 92fe1287ea Do not saml login automatically after normal logout 2022-04-29 15:35:08 +00:00
snipe 5a8c3444e2 Merge pull request #10994 from snipe/fixes/use_str_slug_for_fileName_export
Fixed model export filename to use str_slug for filename for JS export (like we do elsewhere)
2022-04-28 21:58:28 +01:00
snipe edab4e1371 Uses str_slug for filename for JS export (like we do elsewhere)
Signed-off-by: snipe <snipe@snipe.net>
2022-04-28 21:55:26 +01:00
snipe 150724b744 Bumped version
Signed-off-by: snipe <snipe@snipe.net>
2022-04-28 17:51:27 +01:00
snipe 9aac1cbba4 Merge branch 'master' into rcs/merge_master_into_develop_for_rc_8
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	README.md
#	app/Console/Commands/MoveUploadsToNewDisk.php
#	app/Http/Controllers/ActionlogController.php
#	app/Http/Controllers/Api/LicensesController.php
#	app/Http/Controllers/Api/StatuslabelsController.php
#	app/Http/Controllers/Assets/AssetCheckinController.php
#	app/Http/Controllers/Licenses/LicensesController.php
#	app/Http/Controllers/Users/BulkUsersController.php
#	app/Http/Requests/AssetCheckoutRequest.php
#	app/Importer/LicenseImporter.php
#	app/Models/Actionlog.php
#	app/Models/License.php
#	app/Models/User.php
#	app/Observers/AssetObserver.php
#	composer.lock
#	config/version.php
#	database/factories/LicenseFactory.php
#	database/migrations/2015_09_21_235926_create_custom_field_custom_fieldset.php
#	database/migrations/2018_10_18_191228_add_kits_licenses_table.php
#	database/migrations/2018_10_19_153910_add_kits_table.php
#	database/migrations/2018_10_19_154013_add_kits_models_table.php
#	database/migrations/2019_02_07_185953_add_kits_consumables_table.php
#	database/migrations/2019_02_07_190030_add_kits_accessories_table.php
#	package-lock.json
#	package.json
#	public/css/dist/all.css
#	public/css/dist/bootstrap-table.css
#	public/js/dist/bootstrap-table.js
#	public/mix-manifest.json
#	resources/lang/ar/general.php
#	resources/lang/ar/passwords.php
#	resources/lang/cs/general.php
#	resources/lang/cs/passwords.php
#	resources/lang/de/admin/custom_fields/general.php
#	resources/lang/de/admin/settings/general.php
#	resources/lang/de/admin/settings/message.php
#	resources/lang/fr/admin/custom_fields/general.php
#	resources/lang/fr/admin/hardware/general.php
#	resources/lang/fr/admin/locations/table.php
#	resources/lang/fr/admin/settings/message.php
#	resources/lang/hu/admin/custom_fields/general.php
#	resources/lang/hu/admin/settings/general.php
#	resources/lang/hu/general.php
#	resources/lang/it/admin/settings/general.php
#	resources/lang/nl/admin/custom_fields/general.php
#	resources/lang/nl/admin/settings/general.php
#	resources/lang/nl/general.php
#	resources/lang/pl/admin/custom_fields/general.php
#	resources/lang/sv-SE/passwords.php
#	resources/lang/tr/general.php
#	resources/views/hardware/view.blade.php
#	resources/views/partials/bootstrap-table.blade.php
#	resources/views/reports/activity.blade.php
#	resources/views/users/print.blade.php
2022-04-28 17:49:06 +01:00
snipe 173ec44b9e Merge pull request #10991 from snipe/fixes/added_gate_to_requested_assets
Added access gate to the requested assets index
2022-04-28 15:47:54 +01:00
snipe 2e9cf8fa87 Added access gate to the requested assets index
Signed-off-by: snipe <snipe@snipe.net>
2022-04-28 15:45:37 +01:00
snipe 126bb486b5 Add @chrisweirich as a contributor 2022-04-28 15:30:12 +01:00
snipe c8d5445178 Merge pull request #10982 from Trizelos/develop
Fixed #10983: Possibility to set region for AWS (SES)
2022-04-28 14:23:39 +01:00
Shao Yu-Lung (Allen) 2cd7c7a357 Ensure analysis job never runs on forked repos 2022-04-28 16:51:53 +08:00
Christian Weirich 4be6288ae3 Possibility to set region for AWS (SES) 2022-04-27 15:26:33 +02:00
snipe 0abc108686 Merge pull request #10971 from snipe/fixes/potential_xss_in_depreciation
Escape checkout target name
2022-04-24 15:27:58 +01:00
snipe f623d05d0c Escape checkout target name
Signed-off-by: snipe <snipe@snipe.net>
2022-04-24 15:27:11 +01:00
Achmad Fienan Rahardianto dafe353050 Implements #8155 to improve the workflow during asset creation
- adding 2 options to hide optional information
2022-04-23 14:41:38 +07:00
snipe ef7f21e3ba Merge pull request #10952 from Godmartinz/fixes_double_updates
fixes double updates from action log and history
2022-04-21 21:25:29 +01:00
Godfrey M 91694064fb fixes double updates from action log and history 2022-04-18 11:30:24 -07:00
snipe 9a0219eff7 Merge pull request #10943 from snipe/fixes/add_status_id_to_checkout_api
Added status_id to asset checkout API
2022-04-15 14:38:44 +01:00
snipe b2087a9947 Adds validator to make sure the status ID is deployable
Signed-off-by: snipe <snipe@snipe.net>
2022-04-15 13:06:55 +01:00
snipe 6b1329133b Adds status ID to asset checkout API endpoint
Signed-off-by: snipe <snipe@snipe.net>
2022-04-15 13:06:35 +01:00
snipe e4ef970934 Bumped version
Signed-off-by: snipe <snipe@snipe.net>
2022-04-15 12:26:58 +01:00
snipe f211c11034 Merge pull request #10942 from snipe/fixes/xss_user_requested
Fixes potential XSS vuln in user requestable results
2022-04-15 12:25:56 +01:00
snipe 698c7f4904 Fixes potential XSS vuln in user requestable results
Signed-off-by: snipe <snipe@snipe.net>
2022-04-15 12:22:20 +01:00
Godfrey M 380cb38b7d changes the query for the accept signature on print blade 2022-04-14 17:17:28 -07:00
snipe 7479f5f12d Merge pull request #10936 from snipe/fixes/backport_licenses_loading
Ports #10494 to master
2022-04-12 21:31:19 +01:00
snipe 161c6b7d31 Removed security-advisories package for now
Signed-off-by: snipe <snipe@snipe.net>
2022-04-12 21:17:29 +01:00
snipe 1441cf9f4f Ports #10494 to master
Signed-off-by: snipe <snipe@snipe.net>
2022-04-12 21:04:57 +01:00
snipe 270143bb46 Merge pull request #10935 from uberbrady/backport_license_index_master
Backport the license index fix from Develop onto the v5 branch
2022-04-12 20:14:00 +01:00
Brady Wetherington 6b0a1ab3fb Backport the license index fix from Develop onto the v5 branch 2022-04-12 20:11:25 +01:00
snipe 809fe7f6d8 Compiled assets
Signed-off-by: snipe <snipe@snipe.net>
2022-04-12 19:28:58 +01:00
snipe bdbb0c0ce5 Merge pull request #10928 from uberbrady/fix_remembered_columns_develop
Fix #10482 for develop - Downgrade bootstrap-table to fix remembered-columns feature
2022-04-11 18:57:24 +01:00
snipe 5fba8202d6 Updated translations
Signed-off-by: snipe <snipe@snipe.net>
2022-04-11 15:40:58 +01:00
snipe 61f5825c69 Bumped version
Signed-off-by: snipe <snipe@snipe.net>
2022-04-11 15:37:38 +01:00
snipe 5314ef97e5 Updated assets
Signed-off-by: snipe <snipe@snipe.net>
2022-04-11 15:08:39 +01:00
snipe b7fbc5d018 Merge pull request #10927 from uberbrady/fix_columns_master
Fixes #10482 - Downgrade bootstrap-table so columns stay remembered
2022-04-11 15:03:08 +01:00
Brady Wetherington 3472aa9a46 Downgrade bootstrap-table to fix remembered-columns feature 2022-04-11 14:41:46 +01:00
Brady Wetherington 211a0820e5 Downgrade bootstrap-table so columns stay remembered 2022-04-11 14:29:59 +01:00
snipe 7b891f0952 Merge pull request #10913 from inietov/fixes/bulk_user_edit_not_updating_asset_locations
Fixes Bulk user edit not updating checked out asset locations
2022-04-07 19:41:01 +01:00
snipe 8218b5ef47 Merge pull request #10914 from inietov/fixes/bulk_user_edit_not_updating_asset_locations_develop
Fixes Bulk user edit not updating checked out asset locations
2022-04-07 19:40:42 +01:00
snipe b73542664b Merge pull request #10919 from Godmartinz/gh10866-checkin_time_always_show_12am
Fixed #10866 - Checkin time always shows 12am
2022-04-07 19:40:11 +01:00
snipe 6c1bb89776 Merge pull request #10920 from Godmartinz/Fixed_#10866_-_Checkin_time_always_shows_12am-master
Fixed #10866 - action_date for check-in not including H:i:s
2022-04-07 19:39:59 +01:00
Godfrey M 3eb7a87a66 fixes action_date for check-in not including H:i:s 2022-04-07 11:24:12 -07:00
Godfrey M 1325628039 fixes typo 2022-04-07 11:18:16 -07:00
Godfrey M 8498082f21 fixes typo 2022-04-07 11:16:40 -07:00
Godfrey M 6dc45c189b removed deadspace 2022-04-07 11:10:36 -07:00
Godfrey M 5d0a1ebb7a fixes action_date for check-in not including H:i:s 2022-04-07 11:08:43 -07:00
snipe 30a5d57ce5 Merge pull request #10917 from uberbrady/bs_tables_export_without_html_develop
This disables the display of HTML content during exports
2022-04-07 16:44:36 +01:00
snipe 0cb4caa4cf Merge pull request #10918 from uberbrady/bs_tables_export_without_html_master
This disables the display of HTML content during exports (cherry-picked for master)
2022-04-07 16:44:21 +01:00
Brady Wetherington 4db7cb0e21 This disables the display of HTML content during exports, without enabling XSS attacks 2022-04-07 16:37:32 +01:00
Brady Wetherington 5a776af091 This disables the display of HTML content during exports, without enabling XSS attacks 2022-04-07 16:27:06 +01:00
Ivan Nieto Vivanco e1927aa154 Update Assets locations when user's location changes whey they got bulk-edited 2022-04-06 19:23:49 -05:00
Ivan Nieto Vivanco 6529a75683 Update Assets locations when user's location changes whey they got bulk-edited 2022-04-06 19:12:02 -05:00
snipe 4b255ada70 Removed first()
Signed-off-by: snipe <snipe@snipe.net>
2022-04-06 12:08:51 +01:00
snipe 01342ca266 Fixed activity report
Signed-off-by: snipe <snipe@snipe.net>
2022-04-05 22:58:25 +01:00
Ivan Nieto Vivanco b5378eff64 Fix several typos 2022-04-05 16:12:31 -05:00
snipe 8195a664a9 Merge pull request #10883 from inietov/fixes/update_existing_value_import_develop
Fixes Importer always update existing values develop
2022-04-05 21:11:24 +01:00
snipe 87fc856361 Merge pull request #10902 from snipe/fixes/added_primary_key_to_custom_fields_pivot
Fixed #10892 - MySQL 8 compatibilty requires primary key
2022-04-05 20:35:14 +01:00
snipe 7385a0765e Merge pull request #10889 from uberbrady/scim_squashed_grok_library
SCIM integration using laravel-scim-server library
2022-04-05 20:32:16 +01:00
Brady Wetherington 599d725d55 Just needed to adjust the hash so that the composer.lock is correct 2022-04-05 20:31:34 +01:00
snipe 3dd7c00a0b Update migration back in time
Signed-off-by: snipe <snipe@snipe.net>
2022-04-05 20:31:17 +01:00
Brady Wetherington 9bd04eb8c9 Use our forked version of the Laravel-SCIM-Server package (hopefully temporary) 2022-04-05 20:26:40 +01:00
Brady Wetherington 6756dd193e SCIM integration using the 're-do-the routes' approach, which seems like a dead-end
Cleaning up routes to match laravel-scim-server's recommended implementation

Some actually *working* changes for SCIM support?!

Whoops, forgot my route file

Fix public SCIM routes

Removed Ziggy, removed old generated file, yanked Ziggy references

Resolves the first set of comments for SCIM

Ensure all /api routes have baseUrl prepended

Fix the parent:: call to be, uh, actually correct :P

Clarify the route-ordering, as it is quite tricky

This gets it so that users can actually be saved..

Work around the lack of callbacks with some inheritance

Mapped a bunch more fields from SCIM into Snipe-IT's user table

More baseUrl shenanigans since we yanked Ziggy :/

Properly map job title and work with some other necessary attributes

Map more fields...

Finalized basic mapping for core and enterprise namespaces

Latest tuned settings for SCIM config to work with Azure (and others)
2022-04-05 20:26:37 +01:00
snipe 56ee5c50a9 Merge pull request #10897 from ubc-cpsc/develop
Security updates to enshrined/svg-sanitize and guzzlehttp/psr7
2022-04-05 20:19:26 +01:00
snipe 0c31e840c4 Merge pull request #10903 from inietov/fixes/erroneous_checkout_date_in_print_all_assigned_report
Fixes Dates in Print All Assigned report doesn't match to history
2022-04-05 20:19:10 +01:00
snipe c12ef19fcc Fixed #10892 - MySQL 8 compatibilty requires primary key
Signed-off-by: snipe <snipe@snipe.net>
2022-04-05 18:58:14 +01:00
Ivan Nieto Vivanco 2d213a9c77 Make the report take the dates of pivot table instead of asset log 2022-04-05 12:57:49 -05:00
snipe 91e6acbfd9 Add @veenone as a contributor 2022-04-05 18:52:17 +01:00
snipe 08588a2e6a Merge pull request #10901 from veenone/fix/invalid_consumable_date_in_user_view
Fixes #10898 (invalid consumable date time info in user view)
2022-04-05 18:30:23 +01:00
snipe 0882cfede2 Merge pull request #10895 from ubc-cpsc/master
Security fixes to master branch
2022-04-05 18:29:25 +01:00
Achmad Fienan Rahardianto 231a34ace3 FIX: #10898 (invalid consumable date time info in user view) 2022-04-05 15:31:27 +07:00
Joël Pittet 472c94ef89 Security updates to enshrined/svg-sanitize and guzzlehttp/psr7 2022-04-04 12:31:27 -07:00
Joël Pittet 96cd90f842 Security fixes to master branch 2022-04-04 11:04:06 -07:00
Ivan Nieto Vivanco 1a448cc4b6 Take the values from the importer form to configure the used importer 2022-03-29 17:31:43 -06:00
snipe f7cd21a007 Sigh.
Signed-off-by: snipe <snipe@snipe.net>
2022-03-29 22:59:52 +01:00
snipe 8ccf148799 Fixed #10881 - bad merge with bootstrap-tables changes
Signed-off-by: snipe <snipe@snipe.net>
2022-03-29 22:57:00 +01:00
snipe b2056816c9 Use the same string for both radio buttons in bulk user edit
Signed-off-by: snipe <snipe@snipe.net>
2022-03-29 16:45:55 +01:00
snipe 67b0e731e5 Merge pull request #10879 from snipe/rcs/merge_master_into_develop
Merge master back down into develop
2022-03-29 16:40:31 +01:00
snipe a937bd34f6 Merge master back down into develop
Signed-off-by: snipe <snipe@snipe.net>
2022-03-29 16:28:43 +01:00
snipe d56552a8af Merge pull request #10876 from snipe/fixes/huntr_ebc26354_logout_user_when_deactivated
Logout user when their activated status is switched to off
2022-03-29 15:57:24 +01:00
snipe bdabbbd4e9 Logout user when their activated status is switched to off
Signed-off-by: snipe <snipe@snipe.net>
2022-03-29 13:44:53 +01:00
snipe 7941a88623 Merge pull request #10817 from dampfklon/fix-10810-unaccepted-assets
Fix #10810 unaccepted assets
2022-03-29 12:10:37 +01:00
snipe 80dff41c00 Merge pull request #10843 from ahpaleus/features/add_codeql_to_sdlc
[Feature] Adds CodeQL to the SDLC process
2022-03-29 12:07:44 +01:00
snipe b5f3a357e2 Merge pull request #10850 from Godmartinz/feature/sc-18937/add-manager-to-ldap-sync
This looks good, thanks!
2022-03-29 12:06:01 +01:00
snipe ab18ceb2f9 Add @QveenSi as a contributor 2022-03-29 11:54:51 +01:00
snipe e046db6d1e Merge pull request #10874 from QveenSi/patch-1
Fix problem with static paths
2022-03-29 11:52:32 +01:00
Yevhenii Huzii 863ea62551 Fix problem with static paths 2022-03-27 23:12:38 +03:00
snipe 70059f6f80 Merge pull request #10873 from uberbrady/fix_dashboard
Don't crash JS when there are no data-export-options (as is true in Dashboard) Fixes #10872
2022-03-27 07:21:34 +01:00
Brady Wetherington e50ad8a442 Don't crash JS when there are no data-export-options (as is true in Dashboard) 2022-03-27 07:18:12 +01:00
snipe 639409fb3f Backporting #10829 to master
Signed-off-by: snipe <snipe@snipe.net>
2022-03-25 13:00:16 +00:00
snipe e207a5043e Merge pull request #10737 from Godmartinz/feature/sc-15014/asset-acceptance-and-signed-eula-as-pdf
Fixed #7891, #3019 and #8260 [sc-15014] - added asset acceptance and signed eula as pdf
2022-03-24 20:52:41 +00:00
Godfrey M a1429ce86b removed manager_name from user files 2022-03-24 11:47:13 -07:00
Godfrey M c1f8252388 adds manager field to LDAP sync 2022-03-24 11:24:39 -07:00
snipe edcf109b0f Merge pull request #10861 from andreaci/develop
next_audit_date error on saving asset
2022-03-23 18:44:21 +00:00
andreaci ff5a95a6a4 next_audit_date error on saving asset
Solved error 500 when saving new Asset and no next_audit_date  is defined
2022-03-23 17:23:53 +01:00
Godfrey M 55680762de Merge branch 'develop' into feature/sc-18937/add-manager-to-ldap-sync 2022-03-22 16:33:58 -07:00
snipe 20e65804ef Removed comment
Signed-off-by: snipe <snipe@snipe.net>
2022-03-22 18:12:08 +00:00
Godfrey Martinez fe6a6740db Merge branch 'develop' into feature/sc-15014/asset-acceptance-and-signed-eula-as-pdf 2022-03-22 10:10:56 -07:00
Godfrey M 3e01981576 clean up 2022-03-22 10:07:08 -07:00
Godfrey M bc30eef23e clean up 2022-03-22 10:04:54 -07:00
Godfrey M 62352ef1a1 completes accessory eula agreement blade 2022-03-22 10:04:22 -07:00
snipe 729b23c0cf Merge pull request #10857 from uberbrady/fix_bs_tables_export_options
Fix bs tables export options
2022-03-22 17:03:18 +00:00
Brady Wetherington af9f3d5e1e Clean up the bootstrap table export options 2022-03-22 16:05:08 +00:00
snipe e9a59f55ab Merge pull request #10855 from inietov/fixes/exception_boolean_field_check_no_customfields
Validate custom fieldset only if the asset have one
2022-03-22 15:58:01 +00:00
Ivan Nieto Vivanco 98b78837e1 Validate custom fieldset only if the asset have one 2022-03-22 09:38:57 -06:00
Brady Wetherington 00ca30a205 WIP: fix bootstrap table export options 2022-03-22 15:12:11 +00:00
snipe 8c92198636 Possible fix for boolean field check
Signed-off-by: snipe <snipe@snipe.net>
2022-03-22 13:47:43 +00:00
snipe 169973e697 Merge pull request #10853 from inietov/fixes/customfields_boolean_format_not_saving_master
Fixes Customfields with boolean format not saving master[sc-9973]
2022-03-22 00:57:41 +00:00
Ivan Nieto Vivanco 7571c0b850 Add support for boolean type customfields 2022-03-21 18:48:42 -06:00
snipe 26cababc43 Merge pull request #10851 from inietov/fixes/licenses_assigned_to_assets_dont_follow_users
Fixes #10753 Licenses assigned to assets don't follow users
2022-03-21 21:22:41 +00:00
Ivan Nieto Vivanco 319d816002 Update in the license seat the user that the asset with that license have assigned 2022-03-21 15:06:43 -06:00
Godfrey M 4956eb0410 WIP: needs to be tested. adds ldap_manager field to ldap sync 2022-03-21 11:15:39 -07:00
Godfrey M 220df9710e adds most of the fields for an accessory eula agreement pdf 2022-03-21 09:18:29 -07:00
snipe 820f0a7f04 Merge pull request #10849 from snipe/fixes/10769_return_to_due_for_audit
Fixes #10769 - return to Due for Audit screen after auditing
2022-03-21 14:28:13 +00:00
snipe df60729140 Fixed #10769 - redirect user back to due for audit page
This could probably take a little reworking, since if you are auditing from the Overdue for Audit page, we’d want to take you back *there* instead of the Due for Audit page.

Signed-off-by: snipe <snipe@snipe.net>
2022-03-21 14:27:18 +00:00
snipe c01cc48482 Merge pull request #10848 from snipe/fixes/10819_use_full_url_for_barcodes_in_label_view
Fixed #10819 - use full url for label barcodes
2022-03-21 14:00:56 +00:00
snipe 760b78b584 Fixed #10819 - use full url for label barcodes
I don’t know when/why this would really be necessary, since it would be weird to call /hardware/123/label, but this fixes the broken barcodes

Signed-off-by: snipe <snipe@snipe.net>
2022-03-21 13:57:18 +00:00
Maciej Domanski d53750d389 LdapSync 2022-03-21 10:37:14 +01:00
Maciej Domanski 565f4eb6a1 LdapSync 2022-03-21 10:36:15 +01:00
Maciej Domanski 4a9ff86941 revert LdapSync 2022-03-21 10:31:21 +01:00
Maciej Domanski 70b22784fe Delete LdapSync.php 2022-03-21 10:04:42 +01:00
Maciej Domanski 374bed3f0c info update codeql 2022-03-21 09:51:29 +01:00
snipe ada0932e80 Merge pull request #10841 from snipe/fixes/default_id_suppliers
Fixed #10840 - defaulting to 0 on supplier ID if no value provided
2022-03-19 23:20:36 +00:00
snipe e04ae63d02 Apply the fix to API controller too :(
Signed-off-by: snipe <snipe@snipe.net>
2022-03-19 23:12:48 +00:00
snipe 7db252ade3 Fixed #10840 - defaulting to 0 on supplier ID if no value provided
Signed-off-by: snipe <snipe@snipe.net>
2022-03-19 23:11:42 +00:00
snipe 42220cc566 Merge pull request #10809 from inietov/fixes/customfields_boolean_format_not_saving
Fixes Customfields with boolean format not saving [ch-9973]
2022-03-19 22:10:54 +00:00
Maciej Domanski 41e89123e1 revert from develop 2022-03-17 12:22:37 +01:00
Maciej Domanski e09516d69b codeql sa 2022-03-17 12:10:44 +01:00
Ivan Nieto Vivanco 6ed9ed0e79 Add field type boolean to custom fields list all 2022-03-16 17:21:05 -06:00
Godfrey M b2e78e3382 formats most of the pdf blade 2022-03-16 15:53:32 -07:00
Dampfklon 9818d16834 fix showDeletedFunction by reverting #9508 2022-03-16 20:20:46 +01:00
Godfrey M 5fcc3c39f3 routes eula agreements for download correctly to the asset history 2022-03-16 11:56:56 -07:00
snipe d55c176199 Merge pull request #10831 from snipe/merges/master_down_to_develop_march_16
v6.0.0-RC-5 - Merges master down to develop
2022-03-16 18:35:42 +00:00
snipe c0451fe17a Bumped version to v6.0.0-RC-5
Signed-off-by: snipe <snipe@snipe.net>
2022-03-16 18:10:17 +00:00
snipe 0f95802699 Fixed mis-automerge
Signed-off-by: snipe <snipe@snipe.net>
2022-03-16 18:05:47 +00:00
snipe 9db8bd782d Merging master down into develop
Signed-off-by: snipe <snipe@snipe.net>
2022-03-16 18:02:07 +00:00
snipe 93ff9524d6 Merge pull request #10829 from snipe/features/add_statuslabel_filter_by_type_in_api
Added filter by status_type in StatusLabels API index endpoint
2022-03-16 10:04:58 -07:00
Godfrey M 6386fa1c5e clean up 2022-03-16 09:54:10 -07:00
snipe 89ddbddada Fixed comment
Signed-off-by: snipe <snipe@snipe.net>
2022-03-16 16:53:18 +00:00
snipe 7498fe36e9 Removed extra space because pedantry
Signed-off-by: snipe <snipe@snipe.net>
2022-03-16 16:45:03 +00:00
snipe babf7c064b Added ability to filter status label index endpoint by status type
Signed-off-by: snipe <snipe@snipe.net>
2022-03-16 16:38:45 +00:00
snipe 40a9470770 Merge pull request #10828 from snipe/fixes/10826_parse_error_on_print_all
Fixed #10826 - parse error on translation string for print all assets
2022-03-16 08:54:10 -07:00
snipe 781b426018 Fixed #10826 - parse error on translation string for print all assets
Signed-off-by: snipe <snipe@snipe.net>
2022-03-16 08:50:47 -07:00
snipe f499dcf7c3 Merge pull request #10827 from snipe/fixes/modal_dropdowns_broken
Fixed #10825 - selectlists in modals b0rked
2022-03-16 08:25:29 -07:00
snipe 54d6a4d978 Fixed #10825 - selectlists in modals b0rked
Signed-off-by: snipe <snipe@snipe.net>
2022-03-16 08:23:50 -07:00
Maciej Domanski 44d5b589bb Update phpstan.neon 2022-03-16 15:22:45 +01:00
Maciej Domanski 0a98adb246 Update SA-phpstan.yml 2022-03-16 15:22:27 +01:00
Maciej Domanski 540f783ba2 phpstan-fixes 2022-03-16 15:11:40 +01:00
Maciej Domanski 67ed550743 phpstan update 2022-03-16 12:37:32 +01:00
Maciej Domanski 967ee714a1 sa tooling 2022-03-16 12:14:18 +01:00
Ivan Nieto Vivanco 570dd09dcd Add validation to Accessories and Consumables to not let the user update the number of items to less than they already have checked out 2022-03-15 17:52:19 -06:00
Godfrey M b2f7262cd2 adds table structure for asset history 2022-03-14 19:38:36 -07:00
Dampfklon 29e1d657e3 fix missed rename 2022-03-11 21:33:25 +01:00
snipe 7cbcd2d95c Merge pull request #10814 from snipe/features/add_clear_sessions_artisan_command
Added session killer artisan command
2022-03-10 13:35:55 -08:00
snipe 1ac293a12a Add a force override
Signed-off-by: snipe <snipe@snipe.net>
2022-03-10 13:30:03 -08:00
snipe 3e3c277a3f Better phrasing
Signed-off-by: snipe <snipe@snipe.net>
2022-03-10 13:29:52 -08:00
snipe 93d6ce1a6a Added session killer artisan command
Signed-off-by: snipe <snipe@snipe.net>
2022-03-10 13:20:23 -08:00
snipe 84aa26dd50 Merge pull request #10728 from Godmartinz/gh10191-css-dropdownmenu
Fixed #10191 - font color contrast on mobile menu
2022-03-10 13:02:45 -08:00
Godfrey M e1a6a2afc6 adds translation for accept_eula, a bit more logic on the Acceptance Controller that is not working yet 2022-03-10 12:15:50 -08:00
snipe dadc80d558 Merge pull request #10811 from inietov/fixes/CarbonExceptions_InvalidFormatException_DateTime
Fixes Carbon\Exceptions\InvalidFormatException: DateTime::__construct(): Failed to parse time string
2022-03-10 10:40:46 -08:00
snipe 8984b3a59d Merge pull request #10812 from inietov/fixes/CarbonExceptions_InvalidFormatException_DateTime_develop
Fixes Carbon\Exceptions\InvalidFormatException: DateTime::__construct(): Failed to parse time string develop
2022-03-10 10:40:33 -08:00
Ivan Nieto Vivanco cdc0805fc4 Sanitize dates input in the importer before saving 2022-03-10 12:07:07 -06:00
Ivan Nieto Vivanco 9caf27ce60 Sanitize dates input in the importer before saving 2022-03-10 11:48:57 -06:00
Ivan Nieto Vivanco 86bd90c564 Show icons in the asset view for boolean customfields 2022-03-09 21:46:19 -06:00
Ivan Nieto Vivanco e104195796 Convert value of the customfield element from string to boolean 2022-03-09 18:49:39 -06:00
snipe d06ef4bdef Bumped lockfile
Signed-off-by: snipe <snipe@snipe.net>
2022-03-08 22:17:46 -08:00
snipe c817daa4da Merge pull request #10767 from uberbrady/fix_double_request_datatable
One attempt to fix the 'datatable double-request' problem.
2022-03-08 20:34:15 -08:00
snipe 1b3631d57d Merge pull request #10806 from snipe/fixes/removed_experimental_content_policies
Removed experimental feature policies
2022-03-08 20:32:39 -08:00
snipe 968de7e469 Merge pull request #10804 from inietov/fixes/date_localization_not_working_custom_fields
Fixes #8143 Date localization not work in custom fields
2022-03-08 20:11:49 -08:00
snipe e3d2f7cc96 Missed a few
Signed-off-by: snipe <snipe@snipe.net>
2022-03-08 20:05:17 -08:00
snipe d1358b6249 Removed experimental feature policies
Signed-off-by: snipe <snipe@snipe.net>
2022-03-08 16:58:24 -08:00
Godfrey M 59c583ac74 adds the ability to save eula pdfs to storage, still working on storing them in the DB and exposing them in the UI 2022-03-08 16:42:27 -08:00
snipe 95d6e1a402 Merge pull request #10805 from inietov/fixes/date_localization_not_working_custom_fields_develop
Fixes #8143 Date localization not work in custom fields for develop branch
2022-03-08 16:36:31 -08:00
Ivan Nieto Vivanco 657cfddd3c Add a condition to show customfields as the user wants in localization settings 2022-03-08 18:28:13 -06:00
Ivan Nieto Vivanco 2410b1a146 Add a condition to show customfields as the user wants in localization settings 2022-03-08 18:25:15 -06:00
snipe 9311584f43 Merge pull request #10033 from uberbrady/ldap_troubleshooter_cherrypicked
Fixed [ch14855] - create LDAP troubleshooter
2022-03-07 20:24:11 -08:00
snipe ed39df349f Merge pull request #10799 from snipe/fixes/check_if_tables_exist_before_trying_to_create
Check if table exists before trying to create in migrations
2022-03-07 20:22:28 -08:00
Brady Wetherington ab7bf3c5d4 Get rid of stale commented-out line 2022-03-07 20:22:23 -08:00
snipe 86a2312a31 Check if table exists before trying to create
Signed-off-by: snipe <snipe@snipe.net>
2022-03-07 20:13:10 -08:00
snipe e30d814ece Merge pull request #10798 from snipe/features/add_qr_and_barcode_urls_to_asset_transformer
Added QR and alt barcode urls to asset transformer
2022-03-07 19:53:08 -08:00
Brady Wetherington 0556c7653a Implement a generic timeout function, and run methods that need to run with a timeout using it. 2022-03-07 19:51:21 -08:00
Brady Wetherington b96303cb38 Clean up errors, add new required package to Dockerfile 2022-03-07 19:51:21 -08:00
Brady Wetherington 312a90ce77 Add start of Tracing to LDAP troubleshooter 2022-03-07 19:51:21 -08:00
Brady Wetherington 71b5c0e80f Add new LDAP troubleshoot ldapsearch subcommand, broaden out troubleshooting 2022-03-07 19:51:21 -08:00
Brady Wetherington 519bd00bef WIP - just need to get authed connections to work 2022-03-07 19:51:21 -08:00
Brady Wetherington ffd8f583b4 Got most of the stages working for the LDAP troubleshooter 2022-03-07 19:51:21 -08:00
Brady Wetherington 8cd5ec6799 Most of the host-port-tls discovery stuff is in-place now 2022-03-07 19:51:20 -08:00
Brady Wetherington ef0e9a3c93 WIP: Enhancing stage 2 of LDAP troubleshooter 2022-03-07 19:51:20 -08:00
Brady Wetherington 8aa975e959 First pass at Artisan-based LDAP troubleshooter 2022-03-07 19:51:20 -08:00
snipe e9d297e97d Added cache comment
Signed-off-by: snipe <snipe@snipe.net>
2022-03-07 19:37:06 -08:00
snipe 9269d5945e Added QR and alt barcode urls to asset transformer
Signed-off-by: snipe <snipe@snipe.net>
2022-03-07 19:32:18 -08:00
snipe 33ee63f985 Merge pull request #10797 from snipe/features/use_max_results_in_pagination
Use the max_results env value in the paginator
2022-03-07 19:14:49 -08:00
snipe def570db4b Finer grain for > 200
Signed-off-by: snipe <snipe@snipe.net>
2022-03-07 18:51:49 -08:00
snipe fcb81b9505 Use the max_results env value in the paginator
Signed-off-by: snipe <snipe@snipe.net>
2022-03-07 18:39:39 -08:00
Brady Wetherington 8d49d35463 Remove another data-toggle="table" - possibly the last one 2022-03-07 12:52:57 -08:00
Brady Wetherington 6f3e9033c2 One attempt to fix the 'datatable double-request' problem. 2022-03-07 12:52:57 -08:00
snipe 3e2fe10480 Fixed getAssetBySerial
Signed-off-by: snipe <snipe@snipe.net>
2022-03-05 09:03:29 -08:00
snipe 0c520476a3 Removed namespace
Signed-off-by: snipe <snipe@snipe.net>
2022-03-04 12:30:47 -08:00
snipe ba010618f7 Throttle got merged out - re-adding it
Signed-off-by: snipe <snipe@snipe.net>
2022-03-04 12:15:09 -08:00
snipe 2d7a8b5e15 Merge pull request #10776 from snipe/added_trim_to_email_and_username
Added trim to email and username
2022-03-04 11:57:33 -08:00
snipe 1dabd6cc71 Merge pull request #10777 from snipe/added_remote_to_bulk_user_edit
Add remote user setting to bulk edit
2022-03-04 10:35:07 -08:00
snipe 9a358087ec Add remote user to bulk edit
Signed-off-by: snipe <snipe@snipe.net>
2022-03-04 06:47:23 -08:00
snipe b6a1d245e8 Added trim to CC email as well
Signed-off-by: snipe <snipe@snipe.net>
2022-03-04 06:20:34 -08:00
snipe 67134ca387 Do a trim() before inserting/updating
Signed-off-by: snipe <snipe@snipe.net>
2022-03-04 06:18:52 -08:00
snipe 0dfc27f56e Added remote to allowed_columns for sorting
Signed-off-by: snipe <snipe@snipe.net>
2022-03-04 05:44:46 -08:00
snipe eb8b4a2aa5 Merge pull request #10775 from snipe/features/add_remote_checkbox_to_user
Added remote checkbox to user
2022-03-04 05:39:23 -08:00
snipe 06a05e6340 Added remote to view
Signed-off-by: snipe <snipe@snipe.net>
2022-03-04 05:37:28 -08:00
snipe 43c1949092 Add remote option to user
Signed-off-by: snipe <snipe@snipe.net>
2022-03-04 05:35:26 -08:00
snipe a9069e65e5 Don’t show groups in menu if there are none yet
Signed-off-by: snipe <snipe@snipe.net>
2022-03-04 04:39:39 -08:00
snipe 1400c610a1 Use correct button translation
Signed-off-by: snipe <snipe@snipe.net>
2022-03-04 04:22:44 -08:00
snipe f840652395 Suppress errors for missing signatures
Signed-off-by: snipe <snipe@snipe.net>
2022-03-04 03:18:28 -08:00
snipe 67ed0d91c0 Handle file_get_contents more gracefully
Signed-off-by: snipe <snipe@snipe.net>
2022-03-04 02:54:37 -08:00
snipe 349715576a Bumped RC version
Signed-off-by: snipe <snipe@snipe.net>
2022-03-03 22:23:24 -08:00
snipe 0d787fcc94 Updated language files
Signed-off-by: snipe <snipe@snipe.net>
2022-03-03 22:21:44 -08:00
snipe b876d0abb0 Merge remote-tracking branch 'origin/master' into develop
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	.env.example
#	app/Http/Controllers/Auth/LoginController.php
#	app/Http/Kernel.php
#	app/Http/Transformers/ActionlogsTransformer.php
#	app/Importer/AssetImporter.php
#	app/Models/Accessory.php
#	app/Models/Consumable.php
#	app/Presenters/AccessoryPresenter.php
#	app/Presenters/ComponentPresenter.php
#	app/Presenters/ConsumablePresenter.php
#	app/Providers/AuthServiceProvider.php
#	composer.json
#	composer.lock
#	config/app.php
#	config/cors.php
#	config/version.php
#	package-lock.json
#	public/js/build/app.js
#	public/js/build/app.js.LICENSE.txt
#	public/js/dist/all.js
#	public/mix-manifest.json
#	resources/views/accessories/view.blade.php
#	resources/views/consumables/view.blade.php
#	resources/views/settings/saml.blade.php
#	routes/api.php
2022-03-03 21:59:38 -08:00
snipe afd83311aa Fixed version number (vV)
Signed-off-by: snipe <snipe@snipe.net>
2022-03-03 20:58:54 -08:00
snipe 29a2e80984 Merge pull request #10771 from uberbrady/retry_fix_bad_metadata_display
Retry fix bad metadata display
2022-03-03 20:49:30 -08:00
snipe fa576bc78f Bumped version
Signed-off-by: snipe <snipe@snipe.net>
2022-03-03 20:45:34 -08:00
snipe 3e22dce117 Merge pull request #10774 from snipe/features/added_notes_to_accessories_etc
Fixed #6918 - added notes to accessories, components, consumables
2022-03-03 20:41:18 -08:00
snipe 9adcf58ae5 Added notes migration
Signed-off-by: snipe <snipe@snipe.net>
2022-03-03 20:30:58 -08:00
snipe 5266b2c71f Added notes field to view blades
Signed-off-by: snipe <snipe@snipe.net>
2022-03-03 20:30:27 -08:00
snipe 94dded3785 Added notes field to presenters for table view show/hide columns
Signed-off-by: snipe <snipe@snipe.net>
2022-03-03 20:30:07 -08:00
snipe ac8a7d0bc9 Made notes field fillable and searchable
Signed-off-by: snipe <snipe@snipe.net>
2022-03-03 20:29:48 -08:00
snipe 6fca8350f9 Added notes field to transformers
Signed-off-by: snipe <snipe@snipe.net>
2022-03-03 20:29:35 -08:00
snipe 9acb5413f6 Added notes field to controllers
Signed-off-by: snipe <snipe@snipe.net>
2022-03-03 20:29:25 -08:00
snipe 08a2fe4edb Merge pull request #10773 from snipe/features/adds_ldap_import_and_assets_count_to_user_api
Features/adds ldap import and assets count to user api
2022-03-03 19:15:14 -08:00
snipe 6abe8f296b We don’t need the users table here
Signed-off-by: snipe <snipe@snipe.net>
2022-03-03 19:12:03 -08:00
snipe a53a67be4a Added consumables, licenses, accessories count filters too
Signed-off-by: snipe <snipe@snipe.net>
2022-03-03 19:08:08 -08:00
snipe b72cac3511 Adds ldap_import and assets_count filter to user API endpoint
Signed-off-by: snipe <snipe@snipe.net>
2022-03-03 19:03:35 -08:00
snipe 698b7301b6 Merge pull request #10772 from snipe/fixes/use_correct_gate_for_maintainances
Use “update” instead of edit in gate
2022-03-03 18:50:33 -08:00
snipe c940d36fff Updated maintenance gate in API
Signed-off-by: snipe <snipe@snipe.net>
2022-03-03 18:49:54 -08:00
snipe cd12028845 Use “update” instead of edit in gate
Signed-off-by: snipe <snipe@snipe.net>
2022-03-03 18:47:20 -08:00
Brady Wetherington 3225605ef3 Handling the old weirdly-formatted data wasn't quite working. 2022-03-03 18:17:29 -08:00
Brady Wetherington 31dde20a2b Actually, re-introduce this code comment as it's still relevant and tricky 2022-03-03 15:48:04 -08:00
Brady Wetherington aa36ebc947 Merge branch 'fix_bad_metadata_display' into retry_fix_bad_metadata_display 2022-03-03 15:46:19 -08:00
Brady Wetherington 92434fa943 Revert "Revert "refactor and clean up attribute-changing logic for assets""
This reverts commit bdc737ce0c.
2022-03-03 15:45:54 -08:00
Godfrey M 14bd07e97d gerge branchevelop' into gh10191-css-dropdownmenu 2022-03-03 10:14:30 -08:00
Godfrey M 4435ea95fd removes changes to mix-manifest 2022-03-03 09:47:11 -08:00
Godfrey M f115385243 C&P mix-manifest to be tracked 2022-03-03 09:32:05 -08:00
Godfrey M 708dc08b4f mixes color contrast on dropdown menu from navbar
on file
2022-03-03 09:27:52 -08:00
Brady Wetherington 0164354463 Fix for the weird error that blew up the demo when my PR got merged 2022-03-02 15:15:16 -08:00
snipe bdc737ce0c Revert "refactor and clean up attribute-changing logic for assets"
This reverts commit 290baf1c8d.

Signed-off-by: snipe <snipe@snipe.net>
2022-03-02 14:45:14 -08:00
snipe 733b3a7550 Merge pull request #10682 from uberbrady/fix_bad_metadata_display
Fixed weird JSON-handling on log_meta updates
2022-03-02 14:36:38 -08:00
snipe 16fd109540 Merge pull request #10417 from inietov/fixes/trying_to_get_property_id_of_nonobject
Fixes trying to get property 'id' of non-object when running develop seeders.
2022-03-02 14:35:53 -08:00
snipe 2b4ee4827f Merge branch 'develop' into fixes/trying_to_get_property_id_of_nonobject 2022-03-02 14:35:35 -08:00
snipe 3339a691e1 Merge pull request #10721 from snipe/features/adds_users_consumables_endpoint
Added consumables endpoint to user API
2022-03-02 14:33:45 -08:00
snipe dc1e0ecdb7 Merge pull request #10739 from insert-waffle/fixes/prevent_double_values_email
Feature: Prevent showing of double values in a checkin or checkout email
2022-03-02 14:28:22 -08:00
Ivan Nieto Vivanco 0df9dd8320 Delete a function that is not longer used 2022-03-01 18:59:50 -06:00
snipe 2eef43e8bf Applies develop fix to master for location drop downs 2022-03-01 12:43:35 -08:00
snipe 5d1cd89838 Merge pull request #10751 from aranar-pro/bug_fix/location-drop-down-#10701
Fix for location and model drop down with granular permissions.
2022-02-28 16:33:12 -08:00
Andrew Roth 74248a4314 removing composer.lock from PR 2022-02-28 19:30:32 -05:00
Andrew Roth 2e60420aeb Fix for location and model drop down with granular permissions. 2022-02-28 17:38:38 -05:00
Jens Maes 9b88f650d2 Prevents showing double values
- If the asset name and tag are the same, the tag does not get shown in an email.
- If the model name is the same as the model number (when importing from LanSweeper for example), do not show the model number.
2022-02-25 08:19:46 +01:00
snipe 336d8e6574 Updated version 2022-02-24 18:17:15 -08:00
Godfrey M 533670f3f1 faulty method for converting asset acceptance to pdf 2022-02-24 14:50:16 -08:00
snipe a5c16c6a9c Update @insert-waffle as a contributor 2022-02-24 14:47:48 -08:00
snipe 1ee37212f1 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2022-02-24 14:47:14 -08:00
snipe ed43d36895 Updated assets
Signed-off-by: snipe <snipe@snipe.net>
2022-02-24 14:47:09 -08:00
snipe d243b822e7 Merge pull request #10729 from insert-waffle/fix-10708
Fixes 10708: removed line height of manufacturer and changed size of fa-hdd to 2x
2022-02-24 14:46:51 -08:00
snipe dfbff27483 Updated sample CSVs
Signed-off-by: snipe <snipe@snipe.net>
2022-02-24 14:19:35 -08:00
snipe 24ce34c8d7 Updated assets
Signed-off-by: snipe <snipe@snipe.net>
2022-02-24 14:19:27 -08:00
snipe 7abb1f960c Merge branch 'master' of https://github.com/snipe/snipe-it 2022-02-24 14:16:00 -08:00
snipe ec7df11d73 Merge pull request #10736 from inietov/fixes/imported_assets_duplicate_model_notes_from_assets_master
Separate notes on assets and asset models on master branch [sc-18810]
2022-02-24 14:15:48 -08:00
snipe f077d096e2 Merge pull request #10735 from inietov/fixes/imported_assets_duplicate_model_notes_from_assets
Separate notes on assets and asset models [sc-18810]
2022-02-24 14:15:13 -08:00
Ivan Nieto Vivanco 64fa7e23fc Separate notes on assets and asset models 2022-02-24 16:05:03 -06:00
snipe 93ad59466b Fixed typo
Signed-off-by: snipe <snipe@snipe.net>
2022-02-24 13:52:33 -08:00
Ivan Nieto Vivanco 577dc6b02c Separate notes on assets and asset models 2022-02-24 15:50:59 -06:00
snipe 4b7f45a15e Merge pull request #10734 from snipe/fixes/api_throttling
Fixed API throttling
2022-02-24 13:43:49 -08:00
snipe 83f21d0ddf Added a comment about why we use the middleware there
Signed-off-by: snipe <snipe@snipe.net>
2022-02-24 13:41:16 -08:00
snipe 2906a89442 Make the 429 error less stupid
Signed-off-by: snipe <snipe@snipe.net>
2022-02-24 13:10:34 -08:00
snipe 50f55b4308 Fixes broken API throttling
Signed-off-by: snipe <snipe@snipe.net>
2022-02-24 13:10:10 -08:00
Jens Maes 57e93e4e92 Fixes 10708: change size of fa-hdd to 2x 2022-02-24 11:05:40 +01:00
Jens Maes c0893c44a3 Fixes 10708: Removed line heigt from manufacturer list item. 2022-02-24 10:29:39 +01:00
snipe a8028e7dd0 Merge pull request #10727 from uberbrady/master
Fix for negative CORS/SAML interaction
2022-02-23 11:17:17 -08:00
Brady Wetherington 15abc84ab0 Migrate to Fruitcake/laravel-cors which has path-exclusion built-in 2022-02-23 11:06:19 -08:00
snipe 8a09211310 Merge pull request #10722 from snipe/features/add_force_saml_to_master
Fixes Restricted Logins to SAML controlled via environment variable #10436 - applies #10449 to master
2022-02-22 21:45:19 -08:00
snipe 42fcd29200 Fixed #10436 on master, applies #10449
Signed-off-by: snipe <snipe@snipe.net>
2022-02-22 21:06:54 -08:00
snipe dc2e6c2b06 Adds consumables endpoint to user API
Signed-off-by: snipe <snipe@snipe.net>
2022-02-22 20:44:34 -08:00
snipe 0cfc0a4bee Merge pull request #10718 from uberbrady/fix_cors_option_1_master
Fix CORS requests on master (option *ONE*)
2022-02-22 19:24:18 -08:00
snipe 292bf21e7d Merge pull request #10720 from uberbrady/fix_cors_develop
Fix cors develop
2022-02-22 19:23:43 -08:00
Brady Wetherington 294606fb0b Move new CORS library to global middleware, the only place it works 2022-02-22 19:07:23 -08:00
Brady Wetherington cd2c92fd6c Cors should respect the .env var for CORS domains 2022-02-22 19:00:59 -08:00
Brady Wetherington 64f83f9a5f Move HandleCors middleware to be universal 2022-02-22 17:43:40 -08:00
snipe 6ef053bc52 Merge pull request #10713 from snipe/fixes/error_handler
Added use statement
2022-02-22 10:46:58 -08:00
snipe 0a4a548f9c Added use statement
Signed-off-by: snipe <snipe@snipe.net>
2022-02-22 10:46:02 -08:00
snipe 784bf6f223 Bumped version
Signed-off-by: snipe <snipe@snipe.net>
2022-02-20 13:30:24 -08: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 cbfb8283f3 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2022-02-20 11:29:55 -08:00
snipe dc2b58f865 Merge pull request #10691 from snipe/fixes/update_audit_date_when_settings_update
Fixed #10690 - Initial audit date fix
2022-02-20 11:16:54 -08:00
snipe 34ebc629c2 Remove unusued translation string
Signed-off-by: snipe <snipe@snipe.net>
2022-02-20 11:15:56 -08:00
snipe 21a6bdabc6 Add @insert-waffle as a contributor 2022-02-20 11:12:52 -08:00
snipe eaf4fefc90 Merge pull request #10700 from insert-waffle/develop
Fixes #10699: Added 2 breaks in message.blade.php
2022-02-20 11:12:20 -08:00
snipe 19b25a39ea Merge pull request #10697 from inietov/features/save_loggedin_user_after_restore
Feature Save logged in user data and re-add them after restore if they don't exist [ch-17664]
2022-02-20 11:11:54 -08:00
Jens Maes e5f6b48115 🧑‍🔧 Added 2 breaks in message.blade.php
The uploaded logo does not align properly, therefor I added 2 breaks which make sure the site title is BELOW the logo and not next to it.
2022-02-18 10:27:12 +01:00
Ivan Nieto Vivanco f1ba5c7742 Changed the warning message in the Backups page 2022-02-17 22:47:35 -06:00
Ivan Nieto Vivanco 23a6907975 Some minor stylistic changes 2022-02-17 18:05:06 -06:00
Ivan Nieto Vivanco 5b2a5ff124 Put the 'remember_token' column as null in the users table 2022-02-17 18:03:00 -06:00
Ivan Nieto Vivanco 548b172744 Logout every connected user 2022-02-17 18:00:24 -06:00
Ivan Nieto Vivanco 263893b3c6 Search logged in user that made the restore, if they doesn't exist in the restored system, add it again 2022-02-17 17:42:06 -06:00
Ivan Nieto Vivanco 811ca51c4f Wipe database before restoration 2022-02-17 16:59:44 -06:00
snipe d1b45a83b8 Blergh, one more linebreak
Signed-off-by: snipe <snipe@snipe.net>
2022-02-17 14:51:06 -08:00
snipe 01a8701a8c Removed extra linebreaks
Signed-off-by: snipe <snipe@snipe.net>
2022-02-17 14:50:38 -08:00
snipe 67fe53e32a Removed debugging, added comments
Signed-off-by: snipe <snipe@snipe.net>
2022-02-17 14:50:07 -08:00
snipe 7f6b8cc43d Removed carbon, since we went with PHP's datetime instead
Signed-off-by: snipe <snipe@snipe.net>
2022-02-17 14:48:12 -08:00
snipe 5fe999eb02 Shored up the date math, updated the explanation
Signed-off-by: snipe <snipe@snipe.net>
2022-02-17 14:34:33 -08:00
snipe ea429d650e Initial audit date fix
Signed-off-by: snipe <snipe@snipe.net>
2022-02-16 20:19:38 -08:00
snipe a71911eba2 Merge pull request #10688 from snipe/features/add_unique_option_to_custom_fields
Fixes #9592 - Added unique option to custom fields
2022-02-16 16:22:19 -07:00
snipe 13832856f1 Added strings for unique
Signed-off-by: snipe <snipe@snipe.net>
2022-02-16 13:47:59 -08:00
snipe 824eedf7c2 Added UI elements for is_unique
Signed-off-by: snipe <snipe@snipe.net>
2022-02-16 13:47:48 -08:00
snipe a4a0aa5124 Removed debugging line
Signed-off-by: snipe <snipe@snipe.net>
2022-02-16 13:47:22 -08:00
snipe 6a91d4d19e Check for uniqueness constraint
Signed-off-by: snipe <snipe@snipe.net>
2022-02-16 13:46:22 -08:00
snipe 41778980bc Add migration for is_unique
Signed-off-by: snipe <snipe@snipe.net>
2022-02-16 13:45:59 -08:00
snipe ea8f9a6dd9 Make is_unique fillable
Signed-off-by: snipe <snipe@snipe.net>
2022-02-16 13:45:44 -08:00
snipe b78f32e876 Merge pull request #10655 from inietov/fixes/trying_to_get_property_checkin_email_of_non-object_develop
Fixes ErrorException: Trying to get property 'checkin_email' of non-object for develop[sc-17568]
2022-02-16 11:19:14 -07:00
snipe 7fe7d56999 Merge pull request #10656 from snipe/snyk-upgrade-0005397ba83c98631126ff98d5471e6d
[Snyk] Upgrade jquery-ui from 1.13.0 to 1.13.1
2022-02-16 11:19:00 -07:00
snipe 592f66bd0c Merge pull request #10670 from Godmartinz/gh10639/linear-depreciation-calculation
Fixed #10639 - incorrect linear depreciation calculation
2022-02-16 11:18:27 -07:00
snipe 4f89dfee49 Merge pull request #10679 from snipe/fixes/timing_attack_mitigation_for_forgot_password
Added usleep random to forgotten password method to mitigate timing attacks
2022-02-16 11:17:00 -07:00
snipe 017534bc07 Added deleted_at to license transformer
Signed-off-by: snipe <snipe@snipe.net>
2022-02-16 09:33:28 -08:00
snipe 5540069cce Be more specific with deleted license point
Require this value to be "true" speciically to get the deleted list

Signed-off-by: snipe <snipe@snipe.net>
2022-02-16 09:14:04 -08:00
snipe e9a4ff8e74 Merge pull request #10683 from snipe/features/add_deleted_only_endpoint_for_licenses
Adds delete endpoint for licenses
2022-02-16 10:10:22 -07:00
snipe 1ad56760ce Adds delete endpoint for licenses
Signed-off-by: snipe <snipe@snipe.net>
2022-02-16 09:08:50 -08:00
snipe 5582949008 Merge pull request #10681 from snipe/fixes/2fa_cookie_fix
Fixes 2FA cookie -> user issue
2022-02-15 19:34:13 -07:00
Brady Wetherington 290baf1c8d refactor and clean up attribute-changing logic for assets 2022-02-15 18:29:45 -08:00
snipe f878e0ad66 Fixes 2FA cookie -> user issue
Signed-off-by: snipe <snipe@snipe.net>
2022-02-15 18:29:23 -08:00
snipe 178e440951 Added usleep :(
Signed-off-by: snipe <snipe@snipe.net>
2022-02-15 18:09:58 -08:00
snipe 321be4733d Merge pull request #10672 from snipe/fixes/missing_gates_for_maintenances
Added Asset edit/delete gates to maintenances
2022-02-14 15:58:19 -08:00
snipe cab4fa1687 Fixes some conceptual gates
Signed-off-by: snipe <snipe@snipe.net>
2022-02-14 15:42:23 -08:00
snipe 4804e5b3ab Added Asset edit/delete gates to maintenances
Signed-off-by: snipe <snipe@snipe.net>
2022-02-14 15:34:06 -08:00
Godfrey M 7b9a2ae909 added rounding 2022-02-14 09:34:42 -08:00
Godfrey M 6e204a20ca fixed current value formula 2022-02-14 09:28:35 -08:00
Godfrey M e6e68934f7 adds a months depreciated variable 2022-02-14 09:13:14 -08:00
Godfrey M cdc402fa04 WIP formula for linear Depreciation has been corrected. still one variable left to fix. 2022-02-14 09:01:42 -08:00
snipe 885ab64c2e Merge branch 'master' of https://github.com/snipe/snipe-it 2022-02-13 12:01:59 -07:00
snipe 8624531f78 Bumped version
Signed-off-by: snipe <snipe@snipe.net>
2022-02-13 12:01:37 -07:00
snipe 1c0a96b0ce Added gate to supplier
Signed-off-by: snipe <snipe@snipe.net>
2022-02-13 11:58:12 -07:00
snipe db0c0e7908 Merge pull request #10665 from snipe/fixes/adds_gate_to_supplier_view
Adds gate to supplier
2022-02-13 10:56:55 -08:00
snipe d77a47765e Adds gate to supplier
Signed-off-by: snipe <snipe@snipe.net>
2022-02-13 11:53:45 -07:00
Dampfklon 0d49fc3a2e remove unused route, controller functions and view 2022-02-13 12:10:19 +01:00
Dampfklon 43d92bec5b apply translation to view
rearrange eula on top
small design fixes
2022-02-13 12:02:20 +01:00
snipe 05c0819776 Updated language string
Signed-off-by: snipe <snipe@snipe.net>
2022-02-11 15:55:42 -08:00
snipe 16f963fa3d Merge branch 'master' of https://github.com/snipe/snipe-it 2022-02-11 13:07:29 -08:00
snipe e032cf1fda Bumped version
Signed-off-by: snipe <snipe@snipe.net>
2022-02-11 13:07:26 -08:00
snipe 10c26f38c4 Merge pull request #10662 from snipe/fixes/tighter_security_on_select_lists
Added additional gate for selectlists
2022-02-11 12:48:55 -08:00
snipe d6b8222371 Refactor to combine permissions
Signed-off-by: snipe <snipe@snipe.net>
2022-02-11 12:48:30 -08:00
snipe 2c5abaaea4 Fixed copypasta
Signed-off-by: snipe <snipe@snipe.net>
2022-02-11 12:32:09 -08:00
snipe c1a0653847 Restrict to update or create gate methods for select lists
Signed-off-by: snipe <snipe@snipe.net>
2022-02-11 12:31:11 -08:00
snipe 9226c8292d Fixed typos in comments
Signed-off-by: snipe <snipe@snipe.net>
2022-02-11 12:02:14 -08:00
snipe 5fafa81dc1 Forgot components
Signed-off-by: snipe <snipe@snipe.net>
2022-02-11 11:57:29 -08:00
snipe b30d1dce89 Removed selectlist
Signed-off-by: snipe <snipe@snipe.net>
2022-02-11 11:55:24 -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 de6f922e54 Fixed migration
Signed-off-by: snipe <snipe@snipe.net>
2022-02-10 22:44:46 -08:00
snipe f5ffda8053 Ahem.
Signed-off-by: snipe <snipe@snipe.net>
2022-02-10 22:43:51 -08:00
snipe 99541f0bee Fixed string
Signed-off-by: snipe <snipe@snipe.net>
2022-02-10 21:05:23 -08:00
snipe 8b8e93d703 Fixed #10659 - wrong translation string reference
Signed-off-by: snipe <snipe@snipe.net>
2022-02-10 21:03:09 -08:00
snipe 5703b95de3 Merge pull request #10657 from snipe/fixes/handle_deleted_auditor
Fixed - Check for valid user before trying to present the auditor name
2022-02-10 20:14:24 -08:00
snipe d406dc43c2 Check for valid user before trying to present the auditor name
Signed-off-by: snipe <snipe@snipe.net>
2022-02-10 20:13:02 -08:00
snipe 2ce44bd4e6 Line break for easier debugging
Signed-off-by: snipe <snipe@snipe.net>
2022-02-10 20:06:55 -08:00
snyk-bot 15b96f304b fix: upgrade jquery-ui from 1.13.0 to 1.13.1
Snyk has created this PR to upgrade jquery-ui from 1.13.0 to 1.13.1.

See this package in npm:
https://www.npmjs.com/package/jquery-ui

See this project in Snyk:
https://app.snyk.io/org/snipe/project/3d53e1dd-b8bf-46b5-ba61-18ce26933166?utm_source=github&utm_medium=referral&page=upgrade-pr
2022-02-11 01:11:13 +00:00
snipe ed931ef0cd Merge pull request #10654 from inietov/fixes/trying_to_get_property_checkin_email_of_non-object
Fixes  ErrorException: Trying to get property 'checkin_email' of non-object [sc-17568]
2022-02-10 12:23:50 -08:00
Ivan Nieto Vivanco f36de6c670 Validates if model and model->category exist before return the checkin_email property 2022-02-10 13:53:49 -06:00
Ivan Nieto Vivanco bf4ee18123 Validates if model and model->category exist before return the checkin_email property 2022-02-10 11:58:55 -06:00
snipe 70af10ae6c Merge pull request #10640 from JonathonReinhart/10552-add-checkin-api-date
Fix #10552: Add checkin_at parameter to /hardware/:id/checkin API
2022-02-10 09:54:20 -08:00
snipe 9892e5bf60 Merge pull request #10646 from snipe/fixes/check_field_exist_before_detaching
Check that the field exists before trying to detach it from the fieldset
2022-02-09 16:33:02 -08:00
snipe b9a8d45c07 Better messaging
Signed-off-by: snipe <snipe@snipe.net>
2022-02-09 16:30:42 -08:00
snipe 7794c2f44b Check that the fieldset exists before trying to detach it from the fieldset
Signed-off-by: snipe <snipe@snipe.net>
2022-02-09 16:16:16 -08:00
snipe eedc14401a Switch to searching on semicolon instead of &
Signed-off-by: snipe <snipe@snipe.net>
2022-02-09 15:55:22 -08:00
snipe 4e14d70427 Added jobtitle to unescaper
Signed-off-by: snipe <snipe@snipe.net>
2022-02-09 15:50:44 -08:00
snipe 2a71690aaf Added license_name to unescaper
Signed-off-by: snipe <snipe@snipe.net>
2022-02-09 15:17:57 -08:00
snipe e4da00ca82 Catch potential validation errors on unescape tool
Signed-off-by: snipe <snipe@snipe.net>
2022-02-09 15:09:49 -08:00
snipe 4fd14e5859 Added slightly more output because wtf?
Signed-off-by: snipe <snipe@snipe.net>
2022-02-09 15:05:28 -08:00
snipe 441f1fbb64 Remove html_entities_decode restriction
Signed-off-by: snipe <snipe@snipe.net>
2022-02-09 14:56:36 -08:00
snipe bf194d7794 Regenerate JS assets
Signed-off-by: snipe <snipe@snipe.net>
2022-02-09 14:43:30 -08:00
snipe d06e3dd892 Merge branch 'master' of https://github.com/snipe/snipe-it 2022-02-09 14:40:33 -08:00
snipe 6b25b53462 Merge pull request #10628 from inietov/fixes/default_values_dont_allow_checkbox_radio
Fixes #10299 Default Values do not allow Checkbox/Radio Buttons
2022-02-09 14:39:46 -08:00
Ivan Nieto Vivanco 6d79c9f3e2 Save the default values for custom fields with same format than Assets do for actual values 2022-02-09 13:41:33 -06:00
Ivan Nieto Vivanco a36957dd77 Finish the implementation of custom fields default values for checkboxes 2022-02-09 13:12:42 -06:00
Ivan Nieto Vivanco 2f3499e4b9 Show checkboxes a little less assy, actually save the data checked by them 2022-02-09 10:49:10 -06:00
Jonathon Reinhart 3536d08477 Add checkin_at parameter to /hardware/:id/checkin API
Fixes #10552
2022-02-08 20:23:09 -05:00
snipe ee3166cdc2 Add @savornicesei as a contributor 2022-02-08 15:38:20 -08:00
snipe 2852359225 Merge pull request #10638 from uberbrady/report_invalid_json_develop
Report invalid json develop
2022-02-08 12:27:29 -08:00
Brady Wetherington c300e7c7f6 Remove extraneous backslash 2022-02-08 12:23:15 -08:00
Brady Wetherington fb890fbc30 Properly alert when invalid JSON is submitted to something that wants JSON 2022-02-08 12:22:59 -08:00
snipe 7a117a22c8 Merge pull request #10637 from uberbrady/report_invalid_json
Alert when invalid JSON is submitted to something that wants it
2022-02-08 12:17:20 -08:00
Brady Wetherington 9a66f6a254 Remove extraneous backslash 2022-02-08 12:09:40 -08:00
Brady Wetherington 5e94726ec1 Properly alert when invalid JSON is submitted to something that wants JSON 2022-02-08 12:05:05 -08:00
snipe 66c3559e1c Merge pull request #10636 from inietov/fixes/inconsistencies_between_checkout_checkin_dates_master
Fixes #10627 Inconsistencies between checkout/checkin dates on asset history and activity log for master branch
2022-02-08 10:19:16 -08:00
snipe ad52f9df72 Merge pull request #10635 from inietov/fixes/inconsistencies_between_checkout_checkin_dates
Fixes #10627 Inconsistencies between checkout/checkin dates on asset history and activity log
2022-02-08 10:18:52 -08:00
Ivan Nieto Vivanco 413e44be2f Add custom date to checkin actionlogs and show it in the history of the asset tab 2022-02-08 11:58:23 -06:00
Ivan Nieto Vivanco d71aa859fc Add custom date to checkin actionlogs and show it in the history of the asset tab 2022-02-08 11:43:24 -06:00
snipe ebc35c4519 Merge pull request #10630 from JonathonReinhart/10629-checkin-API-error-status
Fix /hardware/{id}/checkin API response on error
2022-02-08 08:54:17 -08:00
Jonathon Reinhart cd963179fd Fix /hardware/{id}/checkin API response on error
Fixes #10629
2022-02-08 01:08:42 -05:00
Ivan Nieto Vivanco 796a0ebdaa Add initial support for default values in checkboxes customfields 2022-02-07 22:17:40 -06:00
snipe 474f24e40e Merge branch 'master' of https://github.com/snipe/snipe-it 2022-02-07 18:27:59 -08:00
snipe b3a0f86431 Temp fix for weird JSON format in history
Signed-off-by: snipe <snipe@snipe.net>
2022-02-07 18:27:55 -08:00
snipe 959074f836 Merge pull request #10625 from inietov/fixes/checkin_checkout_api_routes_broken
Fixes #10614 Checkin/Checkout API route's broken
2022-02-07 11:56:48 -08:00
Ivan Nieto Vivanco b4d2b1322f Pass ID of the checkin/checkout assets in API 2022-02-07 13:43:13 -06:00
snipe a77c51c5f2 Merge pull request #10624 from uberbrady/develop_fix_secure_hosts_in_subdirectory
(Develop) fix secure hosts in subdirectory
2022-02-07 11:41:33 -08:00
Brady Wetherington a15c0adc79 Fix "secure hostnames" feature for subdirectory-based Snipe-IT installs 2022-02-07 11:33:38 -08:00
snipe 1a31231569 Merge pull request #10623 from uberbrady/fix_secure_hosts_in_subdirectory
Fixes #10577 - Fix "secure hostnames" feature for subdirectory-based Snipe-IT installs
2022-02-07 11:33:33 -08:00
Brady Wetherington f1d4087317 Fix "secure hostnames" feature for subdirectory-based Snipe-IT installs 2022-02-07 11:26:54 -08:00
snipe f2b8091b31 Merge pull request #10622 from Godmartinz/bug/sc-18678/add-required-field-marker-to-default-currency
Fixed Bug/sc 18678/add required field marker to default currency
2022-02-07 10:34:27 -08:00
Godfrey M 67882f5531 Removed untracked fileseetvert "adding untracked files"
This reverts commit 9d0b163c11.
2022-02-07 10:23:24 -08:00
Godfrey M 5a70bba51b changed model for default currency requirement check 2022-02-07 09:51:35 -08:00
Godfrey M 9d0b163c11 adding untracked files 2022-02-07 08:58:49 -08:00
snipe f4069e00cd Merge pull request #10611 from uberbrady/master
D'oh! Migration fails on empty settings table :(
2022-02-03 20:07:01 -08:00
Brady Wetherington 8650faf0d8 D'oh! Migration fails on empty settings table :( 2022-02-03 20:04:33 -08:00
snipe 796ef741e8 Merge pull request #10610 from uberbrady/fixes/ldap_active_status
Fixes #10563 - Rework the LDAP sync command to better handle the active flag
2022-02-03 19:45:41 -08:00
Brady Wetherington 36ae6f9430 Yanked debugging code, tightened up comments. 2022-02-03 19:41:16 -08:00
Brady Wetherington 1945b97b72 Just trying to really tighten up on the LDAP Active Flag and how we parse it. 2022-02-03 19:04:56 -08:00
Brady Wetherington 392e61688d Rework the LDAP sync command to better handle the active flag 2022-02-03 15:01:45 -08:00
snipe db82e06665 Fixed migration with invalid LDAP prepopulation value
Signed-off-by: snipe <snipe@snipe.net>
2022-02-02 18:22:51 -08:00
snipe ac5c6123bc Fixes #10563 - LDAP active flag - hopefully?
Signed-off-by: snipe <snipe@snipe.net>
2022-02-02 18:07:34 -08:00
snipe 8add47739e Merge pull request #10604 from inietov/fixes/column_activated_cannot_be_null
Fixes: Column activated cannot be null [sc-18528]
2022-02-02 12:21:31 -08:00
snipe c0cc90066f Merge pull request #10605 from inietov/fixes/column_activated_cannot_be_null_develop
Fixes: Column activated cannot be null for develop [sc-18528]
2022-02-02 12:16:39 -08:00
Ivan Nieto Vivanco fa2f8409f9 Add a casting to a truthy/falsy that needs to be integer 2022-02-02 14:09:23 -06:00
Ivan Nieto Vivanco eac8e0bdba Add a casting to a truthy/falsy that needs to be integer 2022-02-02 13:54:57 -06:00
snipe ce154a2382 Merge pull request #10455 from adagioajanes/features/quickscan_checkin
Added #10454: Quick Scan Checkin
2022-02-01 20:19:45 -08:00
snipe 06a5ea1530 Fixed duplicate use statement
Signed-off-by: snipe <snipe@snipe.net>
2022-02-01 18:57:45 -08:00
snipe 99c4fd8f84 Updated assets
Signed-off-by: snipe <snipe@snipe.net>
2022-02-01 18:56:18 -08:00
snipe d2655c1092 Bumped RC version
Signed-off-by: snipe <snipe@snipe.net>
2022-02-01 18:54:46 -08:00
snipe 5fded57ec6 Merge remote-tracking branch 'origin/master' into develop
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	README.md
#	app/Console/Commands/LdapSync.php
#	app/Http/Controllers/Api/AssetsController.php
#	app/Http/Controllers/ProfileController.php
#	app/Importer/ItemImporter.php
#	app/Importer/UserImporter.php
#	app/Models/Asset.php
#	app/Models/License.php
#	app/Providers/AppServiceProvider.php
#	app/Services/LdapAd.php
#	config/version.php
#	public/js/build/app.js
#	public/js/dist/all.js
#	public/mix-manifest.json
#	resources/lang/ar/button.php
#	resources/lang/de/admin/companies/general.php
#	resources/lang/de/admin/custom_fields/general.php
#	resources/lang/de/admin/groups/titles.php
#	resources/lang/de/admin/hardware/form.php
#	resources/lang/de/admin/hardware/general.php
#	resources/lang/de/admin/hardware/message.php
#	resources/lang/de/admin/hardware/table.php
#	resources/lang/de/admin/kits/general.php
#	resources/lang/de/admin/locations/table.php
#	resources/lang/de/admin/reports/general.php
#	resources/lang/de/admin/settings/general.php
#	resources/lang/de/admin/settings/message.php
#	resources/lang/de/admin/users/general.php
#	resources/lang/de/general.php
#	resources/lang/de/mail.php
#	resources/lang/en/admin/asset_maintenances/message.php
#	resources/lang/en/admin/asset_maintenances/table.php
#	resources/lang/en/admin/companies/general.php
#	resources/lang/en/admin/companies/message.php
#	resources/lang/en/admin/custom_fields/general.php
#	resources/lang/en/admin/depreciations/general.php
#	resources/lang/en/admin/groups/titles.php
#	resources/lang/en/admin/hardware/form.php
#	resources/lang/en/admin/hardware/general.php
#	resources/lang/en/admin/hardware/table.php
#	resources/lang/en/admin/kits/general.php
#	resources/lang/en/admin/locations/table.php
#	resources/lang/en/admin/reports/general.php
#	resources/lang/en/admin/settings/general.php
#	resources/lang/en/admin/settings/message.php
#	resources/lang/en/admin/users/general.php
#	resources/lang/en/button.php
#	resources/lang/en/general.php
#	resources/lang/en/help.php
#	resources/lang/en/mail.php
#	resources/lang/en/passwords.php
#	resources/lang/hu/admin/hardware/general.php
#	resources/lang/hu/admin/hardware/table.php
#	resources/lang/hu/admin/locations/table.php
#	resources/lang/is/admin/locations/table.php
#	resources/lang/ko/admin/custom_fields/general.php
#	resources/lang/ko/general.php
#	resources/lang/nl/admin/hardware/general.php
#	resources/lang/nl/admin/hardware/message.php
#	resources/lang/nl/admin/hardware/table.php
#	resources/lang/nl/admin/locations/table.php
#	resources/lang/nl/admin/statuslabels/message.php
#	resources/lang/nl/admin/users/general.php
#	resources/lang/no/admin/companies/general.php
#	resources/lang/no/admin/custom_fields/general.php
#	resources/lang/no/admin/depreciations/general.php
#	resources/lang/no/admin/depreciations/table.php
#	resources/lang/no/admin/groups/titles.php
#	resources/lang/no/admin/hardware/form.php
#	resources/lang/no/admin/hardware/general.php
#	resources/lang/no/admin/hardware/table.php
#	resources/lang/no/admin/kits/general.php
#	resources/lang/no/admin/locations/table.php
#	resources/lang/no/admin/reports/general.php
#	resources/lang/no/admin/settings/general.php
#	resources/lang/no/admin/settings/message.php
#	resources/lang/no/admin/statuslabels/message.php
#	resources/lang/no/admin/users/general.php
#	resources/lang/no/button.php
#	resources/lang/no/general.php
#	resources/lang/no/mail.php
#	resources/lang/no/validation.php
#	resources/lang/pl/admin/companies/general.php
#	resources/lang/pl/admin/custom_fields/general.php
#	resources/lang/pl/admin/depreciations/general.php
#	resources/lang/pl/admin/depreciations/table.php
#	resources/lang/pl/admin/groups/titles.php
#	resources/lang/pl/admin/hardware/form.php
#	resources/lang/pl/admin/hardware/general.php
#	resources/lang/pl/admin/hardware/table.php
#	resources/lang/pl/admin/kits/general.php
#	resources/lang/pl/admin/locations/table.php
#	resources/lang/pl/admin/reports/general.php
#	resources/lang/pl/admin/settings/general.php
#	resources/lang/pl/admin/settings/message.php
#	resources/lang/pl/admin/users/general.php
#	resources/lang/pl/button.php
#	resources/lang/pl/general.php
#	resources/lang/pt-PT/admin/companies/general.php
#	resources/lang/pt-PT/admin/custom_fields/general.php
#	resources/lang/pt-PT/admin/depreciations/general.php
#	resources/lang/pt-PT/admin/depreciations/table.php
#	resources/lang/pt-PT/admin/groups/titles.php
#	resources/lang/pt-PT/admin/hardware/form.php
#	resources/lang/pt-PT/admin/hardware/general.php
#	resources/lang/pt-PT/general.php
#	resources/lang/pt-PT/help.php
#	resources/lang/pt-PT/validation.php
#	resources/lang/ro/admin/companies/general.php
#	resources/lang/ro/admin/custom_fields/general.php
#	resources/lang/ro/admin/groups/titles.php
#	resources/lang/ro/admin/hardware/form.php
#	resources/lang/ro/admin/hardware/general.php
#	resources/lang/ro/admin/hardware/message.php
#	resources/lang/ro/admin/hardware/table.php
#	resources/lang/ro/admin/locations/table.php
#	resources/lang/ro/admin/settings/message.php
#	resources/lang/ru/admin/companies/general.php
#	resources/lang/ru/admin/custom_fields/general.php
#	resources/lang/ru/admin/settings/general.php
#	resources/lang/ru/button.php
#	resources/lang/ru/general.php
#	resources/lang/ru/validation.php
#	resources/lang/sk/admin/settings/general.php
#	resources/lang/sk/button.php
#	resources/lang/sk/general.php
#	resources/lang/tr/admin/hardware/form.php
#	resources/lang/tr/admin/hardware/table.php
#	resources/lang/tr/admin/kits/general.php
#	resources/lang/tr/admin/locations/table.php
#	resources/lang/tr/admin/reports/general.php
#	resources/lang/tr/admin/settings/general.php
#	resources/lang/tr/admin/settings/message.php
#	resources/lang/tr/admin/statuslabels/message.php
#	resources/lang/tr/admin/users/general.php
#	resources/lang/tr/button.php
#	resources/lang/tr/general.php
#	resources/lang/zh-CN/admin/companies/general.php
#	resources/lang/zh-CN/admin/custom_fields/general.php
#	resources/lang/zh-CN/admin/depreciations/general.php
#	resources/lang/zh-CN/admin/depreciations/table.php
#	resources/lang/zh-CN/admin/groups/titles.php
#	resources/lang/zh-CN/admin/hardware/form.php
#	resources/lang/zh-CN/admin/hardware/general.php
#	resources/lang/zh-CN/admin/hardware/message.php
#	resources/lang/zh-CN/admin/hardware/table.php
#	resources/lang/zh-CN/admin/kits/general.php
#	resources/lang/zh-CN/admin/locations/table.php
#	resources/lang/zh-CN/admin/reports/general.php
#	resources/lang/zh-CN/admin/settings/general.php
#	resources/lang/zh-CN/admin/settings/message.php
#	resources/lang/zh-CN/admin/statuslabels/message.php
#	resources/lang/zh-CN/admin/users/general.php
#	resources/lang/zh-CN/button.php
#	resources/lang/zh-CN/general.php
#	resources/lang/zh-CN/mail.php
#	resources/views/depreciations/edit.blade.php
2022-02-01 18:53:05 -08:00
snipe 2815e0d36e Fixed audit email template (applies #10592 to master)
Signed-off-by: snipe <snipe@snipe.net>
2022-02-01 17:27:32 -08:00
snipe cda13f69ae Merge pull request #10592 from uberbrady/fix_upcoming_audits_email
Fixed markdown upcoming audits email table
2022-02-01 17:25:46 -08:00
snipe 669826f6b2 Merge pull request #10574 from uberbrady/fix_force_root_url_v6
Add some guardrails around very-badly formatted APP_URL settings
2022-02-01 16:14:48 -08:00
snipe a7d34dfb19 Merge pull request #10579 from misilot/fix-10176-webui
Replace .my.cnf with column-statistics.cnf at the system level for mysqldump
2022-02-01 16:14:37 -08:00
snipe 8083ba8dca Merge pull request #10590 from inietov/fixes/bulkedit_does_not_show_in_history_develop
Fixes Bulk edit doesn't show in Asset's history nor Activity report for develop [sc-16550]
2022-02-01 16:14:25 -08:00
snipe 237bc22a5c Merge pull request #10591 from uberbrady/allow_invalid_app_urls_develop
Allow invalid app urls develop
2022-02-01 14:17:08 -08:00
Brady Wetherington eaba560877 We had a markdown failure in the upcoming audits table, this fixes it. 2022-02-01 14:06:01 -08:00
snipe 2e998b110f Add @TenOfTens as a contributor 2022-02-01 13:40:31 -08:00
Brady Wetherington f70c238b1c Merge remote-tracking branch 'upstream/develop' into develop 2022-02-01 11:53:33 -08:00
Ivan Nieto Vivanco 3ef775533a Adds actionlog for bulk edits 2022-02-01 12:10:46 -06:00
snipe b9d6708181 Merge pull request #10588 from TenOfTens/develop
Typo found in snipeit/routes/api.php @ line 391
2022-02-01 07:21:08 -08:00
TenOfTens 70eeafd2a3 Update api.php
Typo at line 391 GroupsCOntroller to GroupsController. Was causing an error with the groups view not reflecting the actual groups seen from the database.
2022-02-01 08:51:34 -06:00
snipe f45c963428 Merge pull request #10586 from inietov/fixes/bulkedit_does_not_show_in_history
Fixes Bulk edit doesn't show in Asset's history nor Activity report [sc-16550]
2022-01-31 23:07:02 -08:00
Ivan Nieto Vivanco 2fec40d7df Adds actionlog for bulk edits 2022-02-01 00:00:12 -06:00
Brady Wetherington 72e9360228 Merge remote-tracking branch 'upstream/develop' into develop 2022-01-31 10:13:30 -08:00
snipe 215beb9d8a Merge pull request #10580 from misilot/fix-10176-webui-master
Replace .my.cnf with column-statistics.cnf at the system level for mysqldump (master)
2022-01-29 07:16:24 -08:00
Tom Misilo b0c61ee044 Replace .my.cnf with column-statistics.cnf at the system level for mysqldump
Fixes #10176

The `column-statistics.cnf` file is copied to `/etc/mysql/conf.d/column-statistics.cnf` for each Dockerfile that exists.

This puts it as a system level mysql client change, so the web ui interface also works.
2022-01-29 07:28:12 -06:00
Tom Misilo fb585955b4 Replace .my.cnf with column-statistics.cnf at the system level for mysqldump
Fixes #10176

The `column-statistics.cnf` file is copied to `/etc/mysql/conf.d/column-statistics.cnf` for each Dockerfile that exists.

This puts it as a system level mysql client change, so the web ui interface also works.
2022-01-29 07:24:50 -06:00
snipe 16fb2213b5 Updated language strings
Signed-off-by: snipe <snipe@snipe.net>
2022-01-28 12:40:03 -08:00
snipe a0d0645453 Bumped version
Signed-off-by: snipe <snipe@snipe.net>
2022-01-28 12:38:42 -08:00
snipe 1ef336a08b Merge pull request #10576 from snipe/features/add_custom_fields_search
Added #9576 - Lookup Asset by Custom Field via API [sc-18632]
2022-01-28 09:51:28 -08:00
snipe aa3aa78204 Adds Lookup Asset by Custom Field via API [sc-18632]
Signed-off-by: snipe <snipe@snipe.net>
2022-01-28 09:08:48 -08:00
snipe db0a078c0b Merge pull request #10573 from uberbrady/fix_force_root_url
Add some guardrails around very-badly formatted APP_URL settings
2022-01-27 11:29:29 -08:00
Brady Wetherington 44719e3dcc Fix whitespace issues 2022-01-27 11:29:20 -08:00
Brady Wetherington 1cf1278b3b Fix whitespace issues 2022-01-27 11:28:51 -08:00
Brady Wetherington 476075235a Add some guardrails around very-badly formatted APP_URL settings 2022-01-27 11:24:21 -08:00
Brady Wetherington 70648dedd3 Add some guardrails around very-badly formatted APP_URL settings 2022-01-27 11:21:46 -08:00
snipe a65fb63b6b Merge pull request #10511 from inietov/features/audit_date_in_importer
Adds audit dates in the asset importer
2022-01-27 10:58:53 -08:00
snipe 9634dde0dd Merge pull request #10567 from inietov/fixes/importing_and_checking_out_licenses_master
Fixes Importing licenses without product key duplicates the license
2022-01-27 10:58:06 -08:00
snipe 0eab249819 Merge pull request #10569 from inietov/fixes/donked_layout_required_field_error_depreciation_develop
Fixes donked layout required field error depreciation in develop[sc-17111]
2022-01-27 10:57:33 -08:00
snipe 077caa29f8 Merge pull request #10570 from inietov/fixes/donked_layout_required_field_error_depreciation
Fixes donked layout required field error depreciation [sc-17111]
2022-01-26 21:23:51 -08:00
Ivan Nieto Vivanco a87478d3ac Set the actual field we are evaluating as required (months) 2022-01-26 23:02:27 -06:00
Ivan Nieto Vivanco 34819ec5cf Fixes the appearance of some error messages 2022-01-26 23:00:52 -06:00
Ivan Nieto Vivanco 44349db597 Fixes the appearance of some error messages 2022-01-26 22:58:02 -06:00
snipe c70ae19c28 Merge pull request #10529 from uberbrady/fix_insecure_host_headers
Force UrlGenerator's Root URL to be the base of APP_URL unless overriden (v5)
2022-01-26 16:59:55 -08:00
snipe b153138d1e Merge pull request #10534 from inietov/feature/add_remaining_address_field_to_user_import_develop
Add Zip field in the User Importer for develop [sc-18556]
2022-01-26 16:58:37 -08:00
snipe d0b90bdff9 Merge pull request #10568 from inietov/fixes/importing_and_checking_out_licenses
Fixes Importing licenses without product key duplicates the license for develop branch
2022-01-26 16:30:00 -08:00
Ivan Nieto Vivanco 55fdc86e02 Tweak query in the License Importer to not require a Product Key 2022-01-26 17:51:04 -06:00
Ivan Nieto Vivanco 450cb8f92f Tweak query in the License Importer to not require a Product Key 2022-01-26 17:49:34 -06:00
snipe 8ebade7892 Merge pull request #10566 from inietov/fixes/cant_add_customfield_to_fieldset
Fix #10564: Edit the route to associate custom fields with fieldsets
2022-01-26 13:02:26 -08:00
Ivan Nieto Vivanco fcd203f4dc Fix the route to associate custom fields with fieldsets 2022-01-26 14:43:20 -06:00
Brady Wetherington 48f1380f6e Merge pull request #10528 from uberbrady/fix_insecure_host_headers_v6
Force UrlGenerator's Root URL to be the base of APP_URL unless overriden
2022-01-24 18:26:30 -08:00
snipe eade041b6e Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2022-01-21 12:33:53 -08:00
snipe ee47a02792 Updated assets
Signed-off-by: snipe <snipe@snipe.net>
2022-01-21 12:33:49 -08:00
snipe 8813f55770 Merge pull request #10545 from inietov/fixes/unable_to_add_asset_model
Fixes #10536 Unable to add asset model (v6.0.0-RC-1)
2022-01-21 10:13:10 -08:00
Ivan Nieto Vivanco 7383ec7f1e Add an early return if the model id is not set (for new Asset Models) 2022-01-21 11:45:45 -06:00
snipe 0721ab8bbf Regenerated production assets
Signed-off-by: snipe <snipe@snipe.net>
2022-01-20 11:01:04 -08:00
snipe 00c8a1ee21 Merge pull request #10533 from inietov/feature/add_remaining_address_field_to_user_import
Add Zip field in the User Importer [sc-18556]
2022-01-19 12:07:18 -08:00
Ivan Nieto Vivanco c86ed892ab Add Zip field in the User Importer 2022-01-19 13:52:15 -06:00
Ivan Nieto Vivanco 1fc71a4111 Add Zip field in the User Importer 2022-01-19 13:35:54 -06:00
Brady Wetherington 0c4768fd2a Force UrlGenerator's Root URL to be the base of APP_URL unless overriden
(For v5)
2022-01-18 15:52:59 -08:00
Brady Wetherington 455bc736be Force UrlGenerator's Root URL to be the base of APP_URL unless overriden 2022-01-18 15:31:30 -08:00
snipe a26119c262 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2022-01-18 14:50:35 -08:00
snipe e7541f29d2 Use php artisan serve url
Signed-off-by: snipe <snipe@snipe.net>
2022-01-18 14:50:24 -08:00
snipe f9647614ab Merge pull request #10527 from inietov/fixes/pdo_exception_syntax_error_when_sendexpirationalers_is_called
Fixes PDO exeception syntax error when Expiring Alerts Threshold is not set
2022-01-18 12:43:08 -08:00
Ivan Nieto Vivanco a05795420a Respect the default value of 60 days in expiring licenses 2022-01-18 14:34:14 -06:00
Ivan Nieto Vivanco 42d86bf57b Adds default values if the expiring alerts threshold is null 2022-01-18 14:21:49 -06:00
snipe 201b52baf8 Merge pull request #10523 from inietov/fixes/depreciation_report_shows_assets_that_not_deprecate_master
Fixes bug where the depreciation report shows assets that not deprecate for master
2022-01-18 10:37:21 -08:00
snipe c8c559784d Merge pull request #10522 from inietov/fixes/depreciation_report_shows_assets_that_not_deprecate
Fixes bug where the depreciation report shows assets that not depreciate
2022-01-15 12:23:58 -08:00
Ivan Nieto Vivanco f510b9c2a9 Add query to filter non-deprecable assets when the Depreciation Report is called 2022-01-15 14:21:31 -06:00
Ivan Nieto Vivanco 8334ed6f7e Add query to filter non-deprecable assets when the Depreciation Report is called 2022-01-15 14:01:19 -06:00
Ivan Nieto Vivanco 9ae03f21dc Adds condition to only charge custom field's livewire when the model is updated 2022-01-15 12:14:34 -06:00
Ivan Nieto Vivanco 92b3576395 Fixes a route definition to correctly populate the deprecation report 2022-01-15 12:02:43 -06:00
snipe 6d96f96615 Merge pull request #10520 from inietov/fixes/sc-14356/importer_creating_duplicate_asset_models
Fixes an issue where importer is creating duplicate asset models
2022-01-15 07:47:36 -08:00
snipe 75bd365ca1 Merge pull request #10521 from inietov/fixes/sc-14356/importer_creating_duplicate_asset_models_master
Fixes an issue where importer is creating duplicate asset models for Master Branch
2022-01-15 07:46:39 -08:00
Ivan Nieto Vivanco 153c30eda8 Add to Importer the capacity to search Models only with Model Name since Model Number is not required 2022-01-15 04:32:47 -06:00
Ivan Nieto Vivanco 58b1db29e2 Adds condition to only update the Asset's Model Number if is provided by import file 2022-01-15 04:15:38 -06:00
Ivan Nieto Vivanco 8bd280b416 Add to Importer the capacity to search Models only with Model Name since Model Number is not required 2022-01-15 04:12:30 -06:00
Ivan Nieto Vivanco d5f6f6cafe Fixes duplicate API endpoint that returns fieldsets instead of customfields 2022-01-15 03:46:28 -06:00
snipe b9cc0c9d4c Merge pull request #10519 from uberbrady/request_pending_assets
Make 'pending' assets properly requestable; use requestable scope
2022-01-14 13:07:16 -08:00
Brady Wetherington ef463a37d8 Make 'pending' assets properly requestable; use requestable scope 2022-01-14 12:48:33 -08:00
snipe cfb64be9a4 More specific RC version number
Signed-off-by: snipe <snipe@snipe.net>
2022-01-13 21:41:04 -08:00
snipe 91017aed52 Bumped to RC-1
Signed-off-by: snipe <snipe@snipe.net>
2022-01-13 21:38:10 -08:00
snipe af2e407543 Normalize array format in en language to the new shitty way
Signed-off-by: snipe <snipe@snipe.net>
2022-01-13 21:30:35 -08:00
snipe ddfa5776c5 Updated language strings
This absolutely sucks. Something changed in CrowdIn or something else, which results in this push being *thousands* of files because someone somewhere decided that `return [];` was vastly inferior to `return array();`

I'll try to fix it. :(

FML

Signed-off-by: snipe <snipe@snipe.net>
2022-01-13 21:27:29 -08:00
snipe da47f62d17 Added strings
Signed-off-by: snipe <snipe@snipe.net>
2022-01-13 21:20:38 -08:00
snipe 207ff014b1 Merge pull request #10514 from uberbrady/fix_double_wildcard_query_requestable
Fixed extraneous wildcard query in requestable asset search
2022-01-13 19:39:08 -08:00
Brady Wetherington 65e584c2bd Revert the unnecessary optimization for asset->count() 2022-01-13 19:37:08 -08:00
snipe 591e1c6a9d Merge pull request #10512 from uberbrady/fix_asset_acceptance_routing_bug
Duplicate route meant overwrite of route-name
2022-01-13 17:08:26 -08:00
snipe 24a234ede3 Merge pull request #10503 from uberbrady/develop_fix_dont_req_preauth_uac
Permit DONT_REQ_PREAUTH AD users to log in
2022-01-13 17:01:59 -08:00
snipe be7e6ed847 Merge pull request #10502 from uberbrady/ldap_useraccountcontrol_dont_req_preauth
Add new UserAccountControl to permitted UAC's for AD.
2022-01-13 17:01:47 -08:00
Brady Wetherington 4e8ae8a162 Fix extraneous wildcard query in requestable asset search 2022-01-13 16:32:40 -08:00
Brady Wetherington c527a5c6e7 Duplicate route meant overwrite of route-name 2022-01-13 16:03:32 -08:00
snipe 115109f612 Merge pull request #10510 from misilot/fix-10176-master
Looks great, thanks!
2022-01-13 13:22:22 -08:00
Thomas Misilo 037a912e21 Adding .my.cnf to disable column-statistics backup
Fixes #10176

The ```.my.cnf``` file is copied to ```/root/.my.cnf``` for each
Dockerfile that exists
2022-01-13 15:16:59 -06:00
Ivan Nieto Vivanco 949fe2a14a Adds last_audit_date and next_audit_date in the asset importer 2022-01-13 15:14:20 -06:00
snipe 4e3fd6bfaf Merge pull request #10509 from misilot/fix-10176
Adding .my.cnf to disable column-statistics backup
2022-01-13 13:13:54 -08:00
Thomas Misilo 930666ffa0 Adding .my.cnf to disable column-statistics backup
Fixes #10176

The ```.my.cnf``` file is copied to ```/root/.my.cnf``` for each
Dockerfile that exists
2022-01-13 14:36:00 -06:00
snipe 984db1ef44 Apply personal API token fix to master
Signed-off-by: snipe <snipe@snipe.net>
2022-01-13 01:39:56 -08:00
snipe 0e5ef53c35 Merge pull request #10504 from snipe/fixes/auth_controls_on_api_key_creation
Fixes auth controls on api key creation
2022-01-13 01:36:52 -08:00
snipe 512dbfee7a Added gate to check that the user is allowed to view API keys
Signed-off-by: snipe <snipe@snipe.net>
2022-01-13 01:33:27 -08:00
snipe eb8f23a888 Removed commented code
Signed-off-by: snipe <snipe@snipe.net>
2022-01-13 01:32:28 -08:00
snipe 8f4ec95fbb Remove assets query, since we handle that via API call now and just need the count()
Signed-off-by: snipe <snipe@snipe.net>
2022-01-12 23:23:00 -08:00
snipe 67ba8a6281 Removed extra spaces
Signed-off-by: snipe <snipe@snipe.net>
2022-01-12 23:18:39 -08:00
snipe 9368ddeaf0 Added badge count on requestable assets
Signed-off-by: snipe <snipe@snipe.net>
2022-01-12 23:17:54 -08:00
snipe f206d4ed4e Fixed double div in current purchase value
Signed-off-by: snipe <snipe@snipe.net>
2022-01-12 22:26:56 -08:00
snipe 224d0b2fd2 Small language file additions
Signed-off-by: snipe <snipe@snipe.net>
2022-01-12 22:21:00 -08:00
snipe ae50f86c39 Bumped version
Signed-off-by: snipe <snipe@snipe.net>
2022-01-12 20:52:30 -08:00
snipe 43c57c8461 Merge master into develop
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	.all-contributorsrc
#	README.md
#	app/Http/Controllers/BulkAssetModelsController.php
#	app/Http/Controllers/CustomFieldsController.php
#	app/Http/Controllers/CustomFieldsetsController.php
#	app/Http/Controllers/ModalController.php
#	app/Http/Transformers/GroupsTransformer.php
#	config/version.php
#	package-lock.json
#	public/css/build/app.css
#	public/css/build/overrides.css
#	public/css/dist/all.css
#	public/css/dist/bootstrap-table.css
#	public/js/build/app.js
#	public/js/dist/all.js
#	public/js/dist/bootstrap-table.js
#	public/mix-manifest.json
#	resources/assets/less/overrides.less
#	resources/lang/en/admin/hardware/message.php
#	resources/lang/en/admin/settings/general.php
#	resources/views/partials/bootstrap-table.blade.php
#	routes/web.php
2022-01-12 20:51:33 -08:00
snipe ba5b835933 Lock seeder to english
Signed-off-by: snipe <snipe@snipe.net>
2022-01-12 13:10:29 -08:00
Brady Wetherington a063806bcc Permit DONT_REQ_PREAUTH AD users to log in 2022-01-12 12:50:39 -08:00
Brady Wetherington c8fe929e09 Add new UserAccountControl to permitted UAC's for AD. 2022-01-12 12:07:51 -08:00
snipe df0da0f3bc Fixed escaped string
Signed-off-by: snipe <snipe@snipe.net>
2022-01-12 11:20:31 -08:00
snipe 181dc5127f Add @UniversalSuperBox as a contributor 2022-01-11 15:03:08 -08:00
snipe 303fc39966 Regenerated assets to pikc up #10089 changes
Signed-off-by: snipe <snipe@snipe.net>
2022-01-11 14:38:17 -08:00
snipe 730c2a6821 Merge pull request #10496 from UniversalSuperBox/fix/improve-asset-card-view
Fixed #10089 (partially): Back to master: Added some BS tables style overrides for mobile
2022-01-11 14:10:18 -08:00
Alex Janes d2bb3e6377 Merge branch 'develop' into features/quickscan_checkin 2022-01-11 16:40:20 -05:00
snipe bc10761b49 Bumped version
Signed-off-by: snipe <snipe@snipe.net>
2022-01-11 12:44:16 -08:00
snipe 2262176a60 Merge pull request #10449 from adagioajanes/features/lock_logins_to_saml
Added #10436: Restricted Logins to SAML controlled via environment variable
2022-01-11 12:37:54 -08:00
Alex Janes edef640d35 Merge branch 'develop' into features/lock_logins_to_saml 2022-01-11 09:05:14 -05:00
snipe cf14a0222c Merge pull request #10498 from Haxatron/master
Fix access control
2022-01-10 19:24:31 -08:00
snipe 23a2700178 Merge pull request #10491 from snipe/fixes/migration_licenses_table_issue
Fixed - v6 migration licenses table issue
2022-01-10 15:51:18 -08:00
snipe ea83567e7d Merge pull request #10494 from exula/fix/increase_max_licenses
Fixed #7824
2022-01-10 15:04:47 -08:00
snipe dcc199835b Add @nuraeil as a contributor 2022-01-10 14:56:22 -08:00
snipe d9624b59b4 Merge pull request #10264 from nuraeil/added-localized-strings
Added #10242: Improved localized strings
2022-01-10 14:48:52 -08:00
snipe b98c97b00e Merge pull request #10265 from uberbrady/remove_old_ldap
Remove old ldap
2022-01-10 14:34:34 -08:00
snipe b18b3812df Back to master: Added some BS tables style overrides for mobile
This repeats 06e8e826, which alone improves the mobile view immensely,
on master.
2022-01-10 15:23:43 -06:00
Brad 6b6a83a525 Removing something stupid PHPStorm put in the use area 2022-01-10 14:21:19 -05:00
Brad 81084fa717 Fixed #7824
Previously there was a 999 max seats on Licenses as anything above that seemed to cause slowdowns and failure.

This commit allievates those pain points

- removed freeSeats as a hydrated Eloquent model on JSON requests for the licenses index
- removed 'licenseSeats.user', 'licenseSeats.asset' from the 'with' clause as it's not needed in the view (Datatabales takes care of that)
- removed the 999 max seats limit from the License Model,
- reworked how new license seats are created when increasing seats or creating licenses
- Added an index the license_seats table to help speed up lookups
2022-01-10 14:03:28 -05:00
Wächtler, Yannick f906dbd81e Added missed translation strings, fixed the column width for the date selector (too small in certain languages) 2022-01-10 09:21:23 +01:00
Nuraeil 5bb2f6fa0f Merge branch 'develop' into added-localized-strings 2022-01-09 17:40:54 +01:00
Wächtler, Yannick b77e7f88d4 fix(bootstrap-table): adds locale env to table init, adds bootstrap-table-locale-all to webpack-mix 2022-01-09 17:35:28 +01:00
snipe 66976d9359 Merge pull request #10492 from snipe/fixes/finish_localizing_backup_restore
Finished localizing backup restore strings
2022-01-07 16:51:43 -08:00
snipe 0f5bb0e65d Localize bakcup restore strings
Signed-off-by: snipe <snipe@snipe.net>
2022-01-07 16:50:19 -08:00
snipe 8719b3d3e9 Only try to create the licenses table if it doesn't exist
Signed-off-by: snipe <snipe@snipe.net>
2022-01-07 15:43:34 -08:00
Wächtler, Yannick c3ab4c7512 Fixed the tables not displaying the correct language 2022-01-06 14:29:10 +01:00
Wächtler, Yannick 04d649122b Fixed duplication for a couple of items, removed TODO markers, added lots of translation strings where there was a TODO 2022-01-06 12:35:37 +01:00
Haxatron bb095641c2 Update BulkAssetModelsController.php
https://huntr.dev/bounties/efdf2ead-f9d1-4767-9f02-d11f762d15e7
2022-01-06 09:50:11 +08:00
Nuraeil 271c364ef8 Merge pull request #9 from snipe/develop
Merge snipe/snipe-it:develop into nuraeil/snipe-it:added-localized-strings
2022-01-04 10:48:51 +01:00
snipe b78e610ce3 Merge pull request #10480 from snipe/fixes/check_for_valid_custom_field
Fixed format property on invalid custom field object when trying to edit a field that doesn't exist
2022-01-03 19:28:25 -08:00
snipe 884b6b0270 Fixes format property on invalid custom field object
Signed-off-by: snipe <snipe@snipe.net>
2022-01-03 19:14:50 -08:00
Brady Wetherington 95c30cae8d Some duplicate imports at the top of the Settings file 2022-01-03 13:53:53 -08:00
Brady Wetherington 3c7f2e89ec Merge branch 'develop' into remove_old_ldap
Had to re-do the composer install because the conflicts were too complicated.
2022-01-03 12:56:58 -08:00
snipe 7a1ab1292c Merge pull request #10479 from adagioajanes/fixes/auto_asset_tag_phrasing
Fixed auto asset tag phrasing
2021-12-31 15:17:59 -08:00
Alex Janes 87bb741013 Merge branch 'snipe:master' into fixes/auto_asset_tag_phrasing 2021-12-31 16:34:57 -05:00
Alex Janes 5fe2083688 Adjusted the phrasing around auto-incrementing asset tags. 2021-12-31 16:33:30 -05:00
snipe 2ee84c2675 Added a few more comments
Signed-off-by: snipe <snipe@snipe.net>
2021-12-30 18:33:28 -08:00
snipe 39a5b6b426 Merge pull request #10478 from snipe/fixes/whitelist_modal_views
Added allow list to modal view options
2021-12-30 18:29:30 -08:00
snipe c6ce928567 Added allow list to modal view options
Signed-off-by: snipe <snipe@snipe.net>
2021-12-30 18:16:49 -08:00
snipe 950a23b0f4 Merge pull request #10476 from snipe/fixes/custom_fieldsets_index
Fixed missing index for fieldsets
2021-12-30 13:18:13 -08:00
snipe b4fac3e4ae Fixed missing index for fieldsets
Signed-off-by: snipe <snipe@snipe.net>
2021-12-30 13:16:44 -08:00
snipe 548e483ef8 Merge pull request #10475 from snipe/fixes/wrong_default_sort_on_kits
Fixed assets_count doesnt exist as a column on kits
2021-12-30 13:02:12 -08:00
snipe bad6b862ca assets_count doesnt exist as a column
Signed-off-by: snipe <snipe@snipe.net>
2021-12-30 12:59:16 -08:00
snipe 359b22e17a Applies #10470 to develop
Signed-off-by: snipe <snipe@snipe.net>
2021-12-27 13:22:47 -08:00
snipe 4e336e11ee Merge pull request #10470 from snipe/increase_address_length_for_supplier
Fixed #10469 - increased size of supplier address field
2021-12-27 12:29:13 -08:00
snipe 8588e9ebf1 Fixed #10469 - increased size of supplier address field
Signed-off-by: snipe <snipe@snipe.net>
2021-12-27 12:28:02 -08:00
snipe aaeda5bf76 Merge pull request #10468 from snipe/fixes/10467_safari_font_awesome_content_code_headers
Fixed #10467 - Safari only font-awesome bug
2021-12-24 12:34:36 -08:00
snipe 8be6d10dbe Fixed #10467 - Safari only font-awesome bug
Signed-off-by: snipe <snipe@snipe.net>
2021-12-24 12:30:34 -08:00
snipe fde5c6c226 Add @adagioajanes as a contributor 2021-12-24 11:21:46 -08:00
snipe f4ef828332 Fixex js table export
Signed-off-by: snipe <snipe@snipe.net>
2021-12-24 11:17:36 -08:00
snipe 87f52cbfec Seeder fixes
Signed-off-by: snipe <snipe@snipe.net>
2021-12-24 10:47:06 -08:00
snipe 11524d0f7d Merge pull request #10463 from adagioajanes/fixes/pass_total_to_GroupsTransformer
Fixed #10461: Groups management page did not paginate correctly
2021-12-24 10:39:22 -08:00
Alex Janes d0bfd8dfd2 Fixed the collection of the groups total to GroupsTransformer.php. Groups page should now paginate correctly. 2021-12-23 20:54:34 -05:00
Alex Janes ea93f82bde added the notes field to allow users to quickly add notes to multiple checkins at once 2021-12-23 17:37:48 -05:00
snipe 312200bf44 Removed duplicate "department" entry in importer, pulls #10460 to master
Signed-off-by: snipe <snipe@snipe.net>
2021-12-21 13:37:20 -08:00
snipe 69bc02727b Merge pull request #10460 from inietov/fixes/duplicate_department_in_user_import
Fixes Duplicate department in user import
2021-12-21 13:30:24 -08:00
Ivan Nieto Vivanco e03a8cc721 Delete an extra entry for Departments when importing Users via GUI 2021-12-21 14:42:51 -06:00
Alex Janes 2e5820e29d small phrase change 2021-12-20 23:31:10 -05:00
Alex Janes b01a4468c7 refactored from bulkcheckin to quickscancheckin 2021-12-20 23:27:36 -05:00
snipe 48d3bfef03 Merge pull request #10421 from Robert-Azelis/patch-5
Create new user account from asset form - additional fields
2021-12-20 17:05:38 -08:00
Alex Janes 7acb559069 corrected issue with asset not found errors 2021-12-20 19:55:00 -05:00
Alex Janes 55b8d080b9 more lang changes 2021-12-20 19:39:06 -05:00
Alex Janes fcc9815c6e Revert "Added phrase to all language files to prevent errors (translation still needs to happen)"
This reverts commit 87ef37b0b4.
2021-12-20 18:05:21 -05:00
Alex Janes cb14abfc54 Revert "fixed zh-CN file format"
This reverts commit 20f66a1b55.
2021-12-20 18:05:09 -05:00
Alex Janes 3841c3560b changed a page title 2021-12-20 16:52:00 -05:00
Alex Janes 20f66a1b55 fixed zh-CN file format 2021-12-20 14:05:13 -05:00
Alex Janes 2b5aca183c removed unnecessary additional data call from api method 2021-12-19 19:21:58 -05:00
Alex Janes 14b21a6e95 removed some whitespace 2021-12-19 19:17:32 -05:00
Alex Janes 08cb8c354b more cleanup to fit formatting convention 2021-12-19 19:11:24 -05:00
Alex Janes 87ef37b0b4 Added phrase to all language files to prevent errors (translation still needs to happen) 2021-12-19 18:50:55 -05:00
Alex Janes 29da4f4325 Removed a bunch of redundant code I created from the API 2021-12-19 18:39:57 -05:00
Alex Janes bc4fe88ac0 First version of bulk checkin 2021-12-19 16:53:31 -05:00
Alex Janes ead142cdf7 Corrected a tiny HTML typo in the SAML view. (Unrelated to this PR) 2021-12-18 12:00:07 -05:00
Alex Janes 9d4a6b85ed Merge remote-tracking branch 'origin/features/lock_logins_to_saml' into features/lock_logins_to_saml 2021-12-18 11:56:57 -05:00
Alex Janes 227ca61301 Changed phrasing of "SAML Force Login" to "SAML Default Login" (English only at this point) 2021-12-18 11:56:36 -05:00
Alex Janes a68ec8bb57 Update LoginController.php
Updated if statements to match convention exactly.
2021-12-17 18:52:42 -05:00
Alex Janes 74de91c31a Merge pull request #1 from snipe/develop
Develop
2021-12-17 14:51:03 -05:00
snipe 04f4bb83e9 Bumped version
Signed-off-by: snipe <snipe@snipe.net>
2021-12-16 20:37:22 -08:00
snipe 9b2dd6522f Switch GET to POST for asset request
Signed-off-by: snipe <snipe@snipe.net>
2021-12-16 20:36:08 -08:00
snipe 4ca2252e3b Switches GET to POST for request assset
Signed-off-by: snipe <snipe@snipe.net>
2021-12-16 20:32:29 -08:00
Alex Janes d99db5c63b bug fix and formatting fix 2021-12-16 19:04:37 -05:00
Wächtler, Yannick 2901525194 Merge branch 'snipe-develop' into added-localized-strings 2021-12-17 00:22:08 +01:00
Wächtler, Yannick 279fced877 merge 2021-12-17 00:14:36 +01:00
snipe 8c5dce5dcf Merge pull request #10450 from snipe/master_into_develop
Master into develop
2021-12-16 14:45:53 -08:00
snipe 398180dc59 Small merge unmagling
Signed-off-by: snipe <snipe@snipe.net>
2021-12-16 14:38:04 -08:00
snipe 6be98638ed Bumped hash
Signed-off-by: snipe <snipe@snipe.net>
2021-12-16 14:29:38 -08:00
snipe c3d55ee27e Merge master down into develop
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	.all-contributorsrc
#	README.md
#	app/Exceptions/Handler.php
#	app/Http/Controllers/Api/AssetsController.php
#	app/Http/Controllers/Api/SettingsController.php
#	app/Http/Controllers/CustomFieldsController.php
#	app/Http/Controllers/SettingsController.php
#	app/Http/Transformers/AssetsTransformer.php
#	app/Models/Setting.php
#	config/version.php
#	resources/lang/af/button.php
#	resources/lang/ar/button.php
#	resources/lang/bg/button.php
#	resources/lang/cs/button.php
#	resources/lang/cy/button.php
#	resources/lang/da/button.php
#	resources/lang/de/button.php
#	resources/lang/el/button.php
#	resources/lang/en-GB/button.php
#	resources/lang/en-ID/button.php
#	resources/lang/es-CO/admin/groups/message.php
#	resources/lang/es-MX/button.php
#	resources/lang/et/admin/custom_fields/general.php
#	resources/lang/et/admin/hardware/table.php
#	resources/lang/et/admin/kits/general.php
#	resources/lang/et/admin/manufacturers/message.php
#	resources/lang/et/admin/models/general.php
#	resources/lang/et/admin/settings/general.php
#	resources/lang/et/button.php
#	resources/lang/et/mail.php
#	resources/lang/fa/button.php
#	resources/lang/fa/help.php
#	resources/lang/fi/button.php
#	resources/lang/fil/button.php
#	resources/lang/fr/button.php
#	resources/lang/ga-IE/button.php
#	resources/lang/he/button.php
#	resources/lang/hr/button.php
#	resources/lang/hu/admin/settings/general.php
#	resources/lang/hu/auth/message.php
#	resources/lang/hu/button.php
#	resources/lang/hu/mail.php
#	resources/lang/id/admin/hardware/table.php
#	resources/lang/id/button.php
#	resources/lang/it/button.php
#	resources/lang/iu/button.php
#	resources/lang/ja/button.php
#	resources/lang/ko/button.php
#	resources/lang/lt/button.php
#	resources/lang/lv/button.php
#	resources/lang/mi/button.php
#	resources/lang/mk/button.php
#	resources/lang/ml-IN/button.php
#	resources/lang/mn/button.php
#	resources/lang/ms/admin/hardware/table.php
#	resources/lang/ms/admin/kits/general.php
#	resources/lang/ms/admin/models/general.php
#	resources/lang/ms/admin/models/message.php
#	resources/lang/ms/admin/settings/general.php
#	resources/lang/ms/button.php
#	resources/lang/nl/button.php
#	resources/lang/no/admin/hardware/table.php
#	resources/lang/no/admin/kits/general.php
#	resources/lang/no/admin/settings/general.php
#	resources/lang/no/auth/message.php
#	resources/lang/no/button.php
#	resources/lang/no/help.php
#	resources/lang/no/mail.php
#	resources/lang/pl/button.php
#	resources/lang/pt-BR/button.php
#	resources/lang/pt-PT/auth/message.php
#	resources/lang/pt-PT/button.php
#	resources/lang/pt-PT/mail.php
#	resources/lang/ro/button.php
#	resources/lang/ru/admin/settings/general.php
#	resources/lang/ru/button.php
#	resources/lang/ru/help.php
#	resources/lang/sl/admin/custom_fields/general.php
#	resources/lang/sl/admin/hardware/table.php
#	resources/lang/sl/admin/kits/general.php
#	resources/lang/sl/admin/manufacturers/message.php
#	resources/lang/sl/admin/models/general.php
#	resources/lang/sl/admin/settings/general.php
#	resources/lang/sl/admin/users/general.php
#	resources/lang/sl/auth/message.php
#	resources/lang/sl/button.php
#	resources/lang/sl/help.php
#	resources/lang/sr-CS/button.php
#	resources/lang/ta/button.php
#	resources/lang/th/button.php
#	resources/lang/th/mail.php
#	resources/lang/tl/button.php
#	resources/lang/tr/admin/settings/general.php
#	resources/lang/tr/auth/message.php
#	resources/lang/tr/button.php
#	resources/lang/uk/button.php
#	resources/lang/ur-PK/button.php
#	resources/lang/vi/button.php
#	resources/lang/zh-CN/button.php
#	resources/lang/zh-HK/button.php
#	resources/lang/zh-TW/admin/hardware/table.php
#	resources/lang/zh-TW/button.php
#	resources/lang/zu/button.php
#	resources/views/models/custom_fields_form.blade.php
#	resources/views/reports/custom.blade.php
#	resources/views/settings/slack.blade.php
2021-12-16 14:26:24 -08:00
Alex Janes 6898119891 Replaced env() with config() to check environment variables
Made the app.php description for 'REQUIRE_SAML' a bit more... descriptive.
2021-12-16 16:56:39 -05:00
Alex Janes a6116a1b15 If SAML required, don't accept login form post. 2021-12-16 14:33:25 -05:00
Alex Janes 696943b04b Add option to environment to require SAML for a more secure installation. 2021-12-16 11:44:34 -05:00
Alex Janes 3c8d70c5fb Add option to environment to require SAML for a more secure installation. 2021-12-16 11:44:07 -05:00
snipe a05fe9c1f7 Add @exula as a contributor 2021-12-15 09:30:36 -08:00
snipe 395401e9db Merge pull request #10439 from exula/exula-fix-slack-settings
Update SettingsController.php to save Slack Settings
2021-12-15 08:36:18 -08:00
Bradley Coudriet dbdc1c7f3f Update SettingsController.php to save Slack Settings
This goes with #10438 that I just submitted about Slack Settings not saving.

This adds the necessary code to actually save the Slack Settings,
As they are already validated by the SlackSettingsRequest, this seems like an easy and low-impact fix.
2021-12-15 10:38:51 -05:00
Nuraeil c3b7576d99 Merge pull request #7 from snipe/develop
Develop
2021-12-14 19:51:40 +01:00
Wächtler, Yannick 484b996879 fixed merge conflicts 2021-12-14 19:48:59 +01:00
snipe 52322806fa Merge pull request #10434 from inietov/fixes/v6_components_error
Fix route to checkout components from the details page
2021-12-14 10:41:24 -08:00
Wächtler, Yannick 4397a12efc Merge branch 'develop' of https://github.com/snipe/snipe-it into snipe-develop 2021-12-14 19:37:27 +01:00
Ivan Nieto Vivanco d083f89f30 Delete extra character remaining from previous tests :( 2021-12-14 12:32:30 -06:00
snipe ace4a00e29 Merge pull request #10433 from inietov/features/adding_title_to_custom_report_master
Add title column to custom reports on master branch
2021-12-14 10:28:18 -08:00
snipe 59555483f3 Merge pull request #10432 from inietov/features/adding_title_to_custom_report
Add title column to custom reports
2021-12-14 10:28:02 -08:00
Ivan Nieto Vivanco 2402f00a2e Fix route to checkout components from the details page 2021-12-14 12:26:46 -06:00
Ivan Nieto Vivanco c80aa2a289 Add title column to custom reports 2021-12-14 12:05:33 -06:00
Ivan Nieto Vivanco 0037cdb00c Add title column to custom reports 2021-12-13 20:27:23 -06:00
snipe 25e2e7ecc6 Merge pull request #10418 from inietov/fixes/bulk_edit_count_more_users_than_selected
Fixes bulk edit message counts more users than the actual selected users number
2021-12-13 14:13:14 -08:00
snipe 02be4773de Bumped version
Signed-off-by: snipe <snipe@snipe.net>
2021-12-13 12:07:34 -08:00
snipe c988d84271 Merge pull request #10426 from snipe/fixes/added_escape_to_asset_api_assigned_to
Added escape to assigned_to API response
2021-12-13 12:06:08 -08:00
snipe 9d5d1a9f9a Added escape to assigned_to API response
Signed-off-by: snipe <snipe@snipe.net>
2021-12-13 12:03:03 -08:00
snipe 3a7cef15bd Merge pull request #10423 from misilot/automated-image-build-github-actions
Automatic Building of Docker Images and Pushing to DockerHub
2021-12-13 11:32:57 -08:00
snipe 44d3a425cb Merge pull request #10422 from misilot/docker-alpine-build-automatic
Adds an automatic build for Alpine Linux based Image
2021-12-13 11:32:42 -08:00
snipe 1854d7d668 Updated language strings
Signed-off-by: snipe <snipe@snipe.net>
2021-12-13 11:28:01 -08:00
snipe e5f4048e9e Bumped version
Signed-off-by: snipe <snipe@snipe.net>
2021-12-13 11:01:02 -08:00
Thomas Misilo 5e58f60845 Adds an automatic build for Alpine Linux based Image
This Fixes #10339, and allows for automatic building of the Alpine Linux
image, and push to docker-hub.

This will push a "latest-alpine" based on the master branch, a
"develop-alpine" based on the develop branch, and a v##.##.##-alpine
image based on any released version.

`DOCKER_USERNAME` and `DOCKER_ACCESS_TOKEN` do both need
to be added to the repository as secrets.
2021-12-13 10:39:55 -06:00
Thomas Misilo a7760b331b Automatic Building of Docker Images and Pushing to DockerHub
This allows for building and pushing of the Snipe-IT docker images
directly from GitHub to DockerHub.

This will push a "latest" based on the master branch, a
"develop" based on the develop branch, and a v##.##.##
image based on any released version.

`DOCKER_USERNAME` and `DOCKER_ACCESS_TOKEN` do both need
to be added to the repository as secrets.
2021-12-13 10:39:04 -06:00
Robert-Azelis 01608d81ab Update user.blade.php
Create new user account from asset form - additional fields #10420
2021-12-13 09:22:25 +01:00
Ivan Nieto Vivanco 5bda4b79d2 Fixes the Asset Factory to assign example Suppliers and Locations to Assets 2021-12-11 21:36:54 -06:00
Ivan Nieto Vivanco a419a690d4 Add a variable to better control the selected user's ids 2021-12-11 18:01:38 -06:00
Ivan Nieto Vivanco b43a0569b1 Fixes trying to get property 'id' of non-object in develop seeders 2021-12-11 17:26:41 -06:00
snipe 39b0dc136c Added LDAP strings back
Signed-off-by: snipe <snipe@snipe.net>
2021-12-11 10:14:35 -08:00
snipe d0e7879c89 Merge pull request #10415 from uberbrady/fix_actionlog_memory_exhaustion
Remove 'actionlog' from the ::with() clause in the asset query API
2021-12-10 19:10:40 -08:00
snipe 503c802d70 Merge pull request #10416 from uberbrady/yank_assetlogs_from_asset_api
Yank assetlog from eager-load clause in API query for develop
2021-12-10 19:09:55 -08:00
Brady Wetherington ea71086dfc Yank assetlog from eager-load clause in API query for develop 2021-12-10 18:50:34 -08:00
Brady Wetherington acfb41f129 Remove 'actionlog' from the ::with() clause in the asset query API 2021-12-10 18:42:56 -08:00
snipe 5381aa3fbd Merge branch 'master' of https://github.com/snipe/snipe-it 2021-12-10 15:17:45 -08:00
snipe e20a10a6a1 Add @Haxatron as a contributor 2021-12-10 15:17:26 -08:00
snipe 949141a8e7 Merge pull request #10414 from snipe/added_model_to_accessory_report
Added model number to accessory report
2021-12-10 15:10:02 -08:00
snipe e1bf3b50f4 Added model number to accessory report
Signed-off-by: snipe <snipe@snipe.net>
2021-12-10 15:09:29 -08:00
snipe cf5e3da3a5 Merge pull request #10406 from Haxatron/fix-access-control
security fix
2021-12-09 11:23:35 -08:00
Haxatron 1699c09758 Update AssetModelsController.php 2021-12-09 21:42:18 +08:00
Haxatron 918e7c8dae Fix access control - https://huntr.dev/bounties/19453ef1-4d77-4cff-b7e8-1bc8f3af0862/ 2021-12-09 12:57:04 +08:00
snipe 86afe6c4b1 Cleanup slack validation
Signed-off-by: snipe <snipe@snipe.net>
2021-12-08 18:03:56 -08:00
snipe ff97b359ad Removed form request on ajax, cleaned up some other things
Signed-off-by: snipe <snipe@snipe.net>
2021-12-08 17:58:46 -08:00
snipe 81b66d0039 Change validation failure to 422 to make it consistent with Laravel's default
Signed-off-by: snipe <snipe@snipe.net>
2021-12-08 17:54:35 -08:00
snipe 8fa690b635 Reverting form request because it doesn't seem to work (????!!)
Signed-off-by: snipe <snipe@snipe.net>
2021-12-08 17:54:15 -08:00
snipe 8c1cd87831 Added slacksettingsrequest as use statement
Signed-off-by: snipe <snipe@snipe.net>
2021-12-08 15:56:22 -08:00
snipe cde2bad297 Small mods to slack jquery
Signed-off-by: snipe <snipe@snipe.net>
2021-12-08 15:56:05 -08:00
snipe 80d36cd72b Added slack settings request
Signed-off-by: snipe <snipe@snipe.net>
2021-12-08 15:53:05 -08:00
snipe 713fbdc0a6 Merge pull request #10239 from Godmartinz/Adds-info-on-how-to-nullify-reorder-alerts
adds info on how to nullify reorder alerts for consumables, component…
2021-12-08 14:26:22 -08:00
snipe 6d84482104 Merge pull request #10388 from snipe/features/switch_to_dusk
WIP - Fixing unit tests, switching to dusk
2021-12-06 14:19:36 -08:00
snipe 0ba55e0eaf Merge pull request #10393 from aranar-pro/fix/#10365-Total-Purchase
Fixed #10365: Snipe-IT has a wrong total purchase cost when reaches m…
2021-12-06 14:08:24 -08:00
snipe 4612b9e711 Merge pull request #10394 from snipe/fixes/add_stricter_validation_for_slack_hooks
Adds stricter validation for slack hooks
2021-12-06 11:41:11 -08:00
snipe ebdbc20740 Adds stricter validation for slack endpoints
Signed-off-by: snipe <snipe@snipe.net>
2021-12-06 11:40:24 -08:00
Andrew Roth d1d3b84f77 Fixed #10365: Snipe-IT has a wrong total purchase cost when reaches million. Fixed to remove multiple commas in +1M per item. 2021-12-06 13:06:23 -05:00
snipe 66ed311914 Fixed asset maintenances test
Signed-off-by: snipe <snipe@snipe.net>
2021-12-02 20:14:39 -08:00
snipe f334bf1058 Fixed notification tests
Signed-off-by: snipe <snipe@snipe.net>
2021-12-02 20:01:03 -08:00
snipe 0104f35f31 Fixed Component Test, commented Consumables
Signed-off-by: snipe <snipe@snipe.net>
2021-12-02 19:43:15 -08:00
snipe 222ee8e0bf Slight refactor on depreciation test
Signed-off-by: snipe <snipe@snipe.net>
2021-12-02 19:36:07 -08:00
snipe 0e3bafd5b4 Fixed depreciation tests
Signed-off-by: snipe <snipe@snipe.net>
2021-12-02 19:19:42 -08:00
snipe 17bc562ac4 Commented out broken permissions and importer tests for now
Signed-off-by: snipe <snipe@snipe.net>
2021-12-02 19:19:35 -08:00
snipe 1e46fde5e2 Fixed status labels tests
Signed-off-by: snipe <snipe@snipe.net>
2021-12-02 19:01:57 -08:00
snipe 872bd29cb3 Removed repetitive tests
Signed-off-by: snipe <snipe@snipe.net>
2021-12-02 18:27:52 -08:00
snipe 21e2504f79 Trying unsuccessfully to get nested factories working
Signed-off-by: snipe <snipe@snipe.net>
2021-12-02 17:38:28 -08:00
snipe 3a1e2a56d6 Use the proper ID for status ID factory
Signed-off-by: snipe <snipe@snipe.net>
2021-12-02 17:38:06 -08:00
snipe 5a01fff79c Use the Setting model for basetest
Signed-off-by: snipe <snipe@snipe.net>
2021-12-02 17:37:51 -08:00
snipe 390e8a6cc3 Fixed company unit test
Signed-off-by: snipe <snipe@snipe.net>
2021-12-02 16:43:03 -08:00
snipe b0d2fc787a Fixed accessory test
Signed-off-by: snipe <snipe@snipe.net>
2021-12-02 16:33:16 -08:00
snipe 35ba28bff9 Continuing to refactor tests
Signed-off-by: snipe <snipe@snipe.net>
2021-12-02 16:14:45 -08:00
snipe c2709be4a1 Removed pointless tests
Signed-off-by: snipe <snipe@snipe.net>
2021-12-02 16:14:23 -08:00
snipe 00d2235610 Lowercase tests in composer.json per previous revert
Signed-off-by: snipe <snipe@snipe.net>
2021-12-02 15:12:47 -08:00
snipe 21575cf674 Lowercase tests dir
Signed-off-by: snipe <snipe@snipe.net>
2021-12-02 15:09:52 -08:00
snipe c949a1f5f2 renamed Tests to tests 2021-12-02 15:08:26 -08:00
snipe 9536f836f0 Beginning of CompanyTest fixes (not done yet)
Signed-off-by: snipe <snipe@snipe.net>
2021-12-02 15:02:46 -08:00
snipe 064e0b7a1c Removed dd for debugging
Signed-off-by: snipe <snipe@snipe.net>
2021-12-02 15:02:25 -08:00
snipe 37033fb2f7 Removed some defaul values to handle validation
Signed-off-by: snipe <snipe@snipe.net>
2021-12-02 15:02:11 -08:00
snipe 77d6649e38 One more case change because I have NOTHING else to do
Signed-off-by: snipe <snipe@snipe.net>
2021-12-02 14:26:31 -08:00
snipe f61f386f31 Fixed again because I suck
Signed-off-by: snipe <snipe@snipe.net>
2021-12-02 14:07:48 -08:00
snipe d20a0f7c6d Update composer autoload for test case case
Signed-off-by: snipe <snipe@snipe.net>
2021-12-02 14:05:35 -08:00
snipe 406aed6b07 Case sensitive dir stuff
Signed-off-by: snipe <snipe@snipe.net>
2021-12-02 14:03:32 -08:00
snipe 5555553307 renamed again for git to accept case 2021-12-02 14:02:16 -08:00
snipe 00b63fe7c7 Fixed category factory methods
Signed-off-by: snipe <snipe@snipe.net>
2021-12-02 13:40:16 -08:00
snipe cae62fd4c7 Merge pull request #9902 from SidingsMedia/sum_cost_by_quantity
Fixed #5676: Sum cost by quantity
2021-12-02 12:13:04 -08:00
snipe 44b6907919 Updated phpunit.xml
Signed-off-by: snipe <snipe@snipe.net>
2021-12-02 11:44:32 -08:00
snipe 406211d2fe Move mockery to require-dev
Signed-off-by: snipe <snipe@snipe.net>
2021-12-02 11:22:46 -08:00
snipe fb06c136b9 Added mockery (because reasons?)
Signed-off-by: snipe <snipe@snipe.net>
2021-12-02 11:11:14 -08:00
snipe 957d092844 Upgraded phpunit to v9
Signed-off-by: snipe <snipe@snipe.net>
2021-12-02 11:04:04 -08:00
snipe ed2797afdd Small fixes
Signed-off-by: snipe <snipe@snipe.net>
2021-12-01 23:33:20 -08:00
snipe ad6d70b86f Removed unused Str
Signed-off-by: snipe <snipe@snipe.net>
2021-12-01 23:30:48 -08:00
snipe 17bd6d71e7 Fixed location unit test
Signed-off-by: snipe <snipe@snipe.net>
2021-12-01 22:45:39 -08:00
snipe d96e95abd6 Small mods to configs, removed old faker, added new
Signed-off-by: snipe <snipe@snipe.net>
2021-12-01 13:46:21 -08:00
snipe bc355e1f26 Remve unused use Hash statements
Signed-off-by: snipe <snipe@snipe.net>
2021-11-30 20:47:02 -08:00
snipe d8234d5a0b Trying to unfuck the TestCase
A lot has changed between versions

Signed-off-by: snipe <snipe@snipe.net>
2021-11-30 20:46:44 -08:00
snipe f3f6a04c43 Use hash::
Signed-off-by: snipe <snipe@snipe.net>
2021-11-30 20:46:20 -08:00
snipe fe2cd8b708 Switched back to sqlite for unit
Signed-off-by: snipe <snipe@snipe.net>
2021-11-30 20:45:54 -08:00
snipe e73373a75a Removed empty tests
Signed-off-by: snipe <snipe@snipe.net>
2021-11-30 20:45:42 -08:00
snipe d08c1787a1 First steps at getting dusk working
Signed-off-by: snipe <snipe@snipe.net>
2021-11-30 20:09:29 -08:00
Nuraeil d3972888dc Merge pull request #6 from snipe/develop
Develop
2021-11-30 06:37:17 +01:00
snipe a579353198 Add @bestlong as a contributor 2021-11-24 20:04:26 -08:00
snipe 7360e15d4e Add @sneak-it as a contributor 2021-11-24 20:04:05 -08:00
snipe 9dc2fa61b8 Add @adamboutcher as a contributor 2021-11-24 20:03:52 -08:00
snipe 80fd49a59e Add @leitwerk-ag as a contributor 2021-11-24 20:03:40 -08:00
snipe d30fa9199c Merge branch 'master' of https://github.com/snipe/snipe-it 2021-11-24 19:58:52 -08:00
snipe 8028b39b43 Bumped version
Signed-off-by: snipe <snipe@snipe.net>
2021-11-24 19:58:43 -08:00
snipe ff81e6d536 Merge pull request #10361 from snipe/fixes/xss_in_accessories_checkout_notes
Escape notes in transformCheckedOutAccessory
2021-11-24 19:56:36 -08:00
snipe 00fad35c2a Escape notes in transformCheckedOutAccessory
Signed-off-by: snipe <snipe@snipe.net>
2021-11-24 19:54:45 -08:00
snipe 3b68a6f1be Merge pull request #10345 from leitwerk-ag/master
Fixed #10344 and #9135: don't prepand fields with a whitespace in text based export formats
2021-11-24 19:43:21 -08:00
snipe bc91aef47d Merge pull request #10352 from adamboutcher/install_rocky
Improved Installer: Added Rocky Linux Support
2021-11-24 19:42:37 -08:00
snipe 3debe78574 Merge pull request #10350 from inietov/fixes/trim_custom_fields_names
Apply trim() function when storing Custom Fields names
2021-11-24 19:42:04 -08:00
snipe 4c2d47e7c6 Merge pull request #10354 from inietov/fixes/customfields_with_date_format_doesnt_display_default_value
Fixes Default Values - Date not applying
2021-11-24 19:41:51 -08:00
snipe fc1b3b31b5 Merge pull request #10358 from sneak-it/bullseye
Improved Installer: Add Debian 11 (Bullseye) install script support
2021-11-24 19:41:37 -08:00
snipe 4afd598df7 Merge pull request #10356 from bestlong/fix_modal_dialog_html_typo
fix modal-title html tag unpaired.
2021-11-24 19:39:58 -08:00
snipe 29bbfad693 Applied escaping fix from master to develop
Signed-off-by: snipe <snipe@snipe.net>
2021-11-24 19:38:27 -08:00
snipe d1d3f893ac Merge pull request #10360 from snipe/fixes/escaped_characters_on_asset_create_checkout
Removed escaping on input save for asset checkout on creation
2021-11-24 19:20:54 -08:00
snipe 830d07f84f Removed escaping on input save for asset checkout on creation
Signed-off-by: snipe <snipe@snipe.net>
2021-11-24 19:19:32 -08:00
snipe 0e30b9aef7 Merge pull request #10355 from inietov/fixes/customfields_with_date_format_doesnt_display_default_value_master
Fixes Default Values - Date not applying for master branch
2021-11-24 18:22:02 -08:00
sneaK b937aedc30 Add Debian 11 (Bullseye) install script support 2021-11-24 10:24:05 -05:00
Shao Yu-Lung 55d05eeae3 fix modal-title html tag unpaired. 2021-11-24 10:28:10 +08:00
Ivan Nieto Vivanco d95d3dc282 Add the call to defaultValue() function in custom fields with date format 2021-11-23 17:21:46 -06:00
Ivan Nieto Vivanco 741eb28622 Add the call to defaultValue() function in custom fields with date format 2021-11-23 17:11:21 -06:00
Adam ab06c26527 Rocky Linux Support
Addition to enable Rocky Linux installation.
2021-11-23 16:13:38 +00:00
Ivan Nieto Vivanco 1ca770895a Apply trim() function when storing Custom Fields names 2021-11-22 18:43:21 -06:00
snipe ef8f646ab2 Merge pull request #10349 from snipe/chore/sc-17719/add-sodium-as-a-requirement-in-upgrade-php
Update upgrade.php with newer requires
2021-11-22 15:32:51 -08:00
snipe 686e58806f Update upgrade.php with newer requires
Signed-off-by: snipe <snipe@snipe.net>
2021-11-22 15:31:23 -08:00
Klaus J. Mueller a85fa14f9c fix #10344 and #9135 2021-11-22 17:58:26 +01:00
Matthew Nickson 9381ba2404 Merge branch 'develop' into sum_cost_by_quantity 2021-11-21 18:59:34 +00:00
Brady Wetherington e8f5dc85a6 Downgraded a FIXME to a TODO 2021-11-19 16:38:46 -08:00
Wächtler, Yannick 1b76185798 Added TODO: comments to pages, where there are non-localized strings, in order to keep track of them 2021-11-19 15:32:13 +01:00
Wächtler, Yannick 9164daf5bc Added localized strings for admin/settings 2021-11-19 15:23:48 +01:00
Wächtler, Yannick 6917d59185 Added localized strings for reports 2021-11-19 12:39:19 +01:00
Wächtler, Yannick 04fec144a0 Added localization strings for partials, added file structure 2021-11-19 12:12:11 +01:00
Nuraeil 6eb120d101 Merge pull request #5 from snipe/develop
Develop
2021-11-19 11:51:16 +01:00
snipe df0b240a05 Merge pull request #10288 from uberbrady/composer_install_under_phpv8
[sc-17645] Composer install under phpv8
2021-11-18 15:28:54 -08:00
snipe 3e83b2ff2f Merge pull request #10334 from snipe/feature/sc-17704/make-all-currency-values-right-aligned
Added text-right to presenters for money values
2021-11-18 15:10:19 -08:00
snipe c49c5f4164 Added text-right to presenters for money values
Signed-off-by: snipe <snipe@snipe.net>
2021-11-18 15:09:17 -08:00
snipe 6d545ff11b Merge pull request #10333 from snipe/bug/sc-17711/v6-bug-500-server-error-when-trying-to-checkin
Fixed v6 bug 500 server error when trying to checkin
2021-11-18 14:38:17 -08:00
snipe 250f6b6fb8 Fixed v6 bug 500 server error when trying to checkin [sc-17711]
Signed-off-by: snipe <snipe@snipe.net>
2021-11-18 14:37:12 -08:00
Nuraeil 7084703b5a Merge pull request #4 from snipe/develop
Merge current develop into branch
2021-11-18 21:30:45 +01:00
snipe f6d5d6cc09 Merge pull request #10316 from snipe/bug/sc-17684/v6-bug-error-when-editing-model-with-no-custom
v6 bug - Error when editing model with no custom
2021-11-17 18:38:48 -08:00
snipe b058d84f2c Merge pull request #10322 from snipe/uberbrady-patch-2
Change the `[END]` directive in `.htaccess` to `[L]`
2021-11-17 18:01:52 -08:00
Brady Wetherington 5fb05d8b1c Change the [END] directive in .htaccess to [L]
This allows backwards-compatibility with older Apache versions (which we _used_ to have), and should do the exact same thing.
2021-11-17 15:29:51 -08:00
snipe 78809c0fe7 Bumped version
Signed-off-by: snipe <snipe@snipe.net>
2021-11-16 12:02:45 -08:00
Wächtler, Yannick 5a2f8788a9 Fixed merge issue in view.blade.php and added translatable string 2021-11-16 19:34:20 +01:00
Wächtler, Yannick f2c3e51a83 Catching up to snipe-it/develop branch 2021-11-16 19:25:23 +01:00
Wächtler, Yannick 74ed790d20 Merge branch 'snipe-develop' into added-localized-strings 2021-11-16 08:51:06 +01:00
Wächtler, Yannick 6feb39f6b9 Merge branch 'develop' of https://github.com/snipe/snipe-it into snipe-develop 2021-11-16 08:50:45 +01:00
snipe bbb0d1be17 Possible fix for asset model editing when no custom fieldset is associated
Signed-off-by: snipe <snipe@snipe.net>
2021-11-15 21:09:35 -08:00
snipe 7ce5993f5a Merge pull request #10315 from snipe/fixes/escape_custom_fields_in_api_response
Escape custom field values in API response
2021-11-15 20:33:51 -08:00
snipe f7b483358f Escape custom field values in API response
Signed-off-by: snipe <snipe@snipe.net>
2021-11-15 20:32:59 -08:00
snipe 476e17055b Escape custom fields in API response
Signed-off-by: snipe <snipe@snipe.net>
2021-11-15 20:31:01 -08:00
snipe db45de5da2 Fixed old style user routes
Signed-off-by: snipe <snipe@snipe.net>
2021-11-15 20:26:07 -08:00
snipe 207c785b1d Added missing use statements for Laravel 8 routes
Signed-off-by: snipe <snipe@snipe.net>
2021-11-15 20:20:10 -08:00
snipe 8a747be3a0 Fixed routes for newer format (l8)
Signed-off-by: snipe <snipe@snipe.net>
2021-11-15 20:16:40 -08:00
snipe 65d1855b38 Display app_locked message on front-end
Signed-off-by: snipe <snipe@snipe.net>
2021-11-15 19:50:55 -08:00
snipe 46d2f8a81d Disallow file upload to backups on demo
Signed-off-by: snipe <snipe@snipe.net>
2021-11-15 19:42:02 -08:00
snipe 92b7aaf44b Log the user out upon successful restore
Signed-off-by: snipe <snipe@snipe.net>
2021-11-15 19:40:01 -08:00
snipe 8bf11e9417 Bummped hash fpr v6-pre-alpha
Signed-off-by: snipe <snipe@snipe.net>
2021-11-15 19:31:20 -08:00
snipe 174d23a42a Updated assets
Signed-off-by: snipe <snipe@snipe.net>
2021-11-15 19:29:57 -08:00
snipe f2f8f96991 Merge remote-tracking branch 'origin/master' into develop
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	app/Http/Controllers/Api/AssetsController.php
#	app/Http/Transformers/AssetsTransformer.php
#	app/Importer/ConsumableImporter.php
#	app/Models/Consumable.php
#	config/version.php
#	package-lock.json
#	package.json
#	public/css/dist/all.css
#	public/css/dist/bootstrap-table.css
#	public/js/build/app.js
#	public/js/dist/all.js
#	public/js/dist/bootstrap-table.js
#	public/mix-manifest.json
#	resources/views/custom_fields/fieldsets/view.blade.php
#	resources/views/layouts/default.blade.php
#	routes/web.php
#	routes/web/fields.php
2021-11-15 19:24:38 -08:00
snipe ce69e54202 Merge pull request #10297 from snipe/features/backup_importer_ui
v6 Feature - Added backup restore from GUI
2021-11-15 19:09:37 -08:00
snipe e75a5f13ec Merge pull request #10303 from inietov/fixes/weird_field_showing_up
Added the current_value string to correspondig 'en' language directory
2021-11-15 14:29:34 -08:00
snipe cf4e13f4df Merge pull request #10312 from andrewshulgin/patch-1
Fixed: #10311: Docker: ldap_client_tls.{key,cert} are located in /var/www/html/storage instead of /var/lib/snipeit/keys
2021-11-15 14:28:59 -08:00
snipe 8e7565cbe9 Merge pull request #10313 from snipe/snyk-fix-d1fb08ebb2899913c99652bb6e188696
[Snyk] Security upgrade bootstrap-table from 1.18.3 to 1.19.1
2021-11-15 14:28:37 -08:00
snyk-bot 4839b0e008 fix: package.json & package-lock.json to reduce vulnerabilities
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-BOOTSTRAPTABLE-1657597
2021-11-13 05:19:33 +00:00
Andrew Shulgin d3ddafdff4 Dockerfile: symlink for ldap_client_tls.{cert,key} 2021-11-13 03:00:09 +02:00
Ivan Nieto Vivanco b07db3b324 Added the current_value string to correspondig 'en' language directory 2021-11-11 14:43:47 -06:00
snipe cc5b8f3d6d Merge pull request #10302 from SBrown2021/patch-1
Typo in upgrade.php
2021-11-11 10:32:42 -08:00
SBrown2021 c668cc3103 Typo in upgrade.php
Fixed typo on line 181. bootsrap/cache/services.php -> bootstrap/cache/services.php
2021-11-11 17:05:24 +00:00
snipe bc21875324 More refinements to the UI
Signed-off-by: snipe <snipe@snipe.net>
2021-11-10 18:15:38 -08:00
snipe 1a703bf78b Added logout clarification
Signed-off-by: snipe <snipe@snipe.net>
2021-11-10 17:59:52 -08:00
snipe 494c72d92b Fixed typo
Signed-off-by: snipe <snipe@snipe.net>
2021-11-10 17:58:04 -08:00
snipe 69fe3c0299 Added some comments on the JS
Signed-off-by: snipe <snipe@snipe.net>
2021-11-10 17:57:15 -08:00
snipe 0c58fa1b1e Merge branch 'features/backup_importer_ui' of https://github.com/snipe/snipe-it into features/backup_importer_ui 2021-11-10 17:49:04 -08:00
snipe e2702186a9 Slightly reworked UI
Signed-off-by: snipe <snipe@snipe.net>
2021-11-10 17:48:59 -08:00
snipe 595c3bfd57 Merge pull request #10298 from uberbrady/features/backup_importer_ui
Cleaned up the output and added some better checks for errors
2021-11-10 17:21:23 -08:00
Brady Wetherington c2b5f9b372 Cleaned up the output and added some better checks for errors 2021-11-10 17:08:04 -08:00
snipe b069eec43a Fixed upload disabled button
Signed-off-by: snipe <snipe@snipe.net>
2021-11-10 16:01:22 -08:00
snipe 040bdd2f32 Merge branch 'features/backup_importer_ui' of https://github.com/snipe/snipe-it into features/backup_importer_ui 2021-11-10 13:01:05 -08:00
snipe f8cf65bbb3 Small layout fixes
Signed-off-by: snipe <snipe@snipe.net>
2021-11-10 13:01:02 -08:00
snipe c1a844cce6 Merge pull request #10296 from uberbrady/features/backup_importer_ui
Tweak Restore command to _also_ run via webserver via Artisan::call()
2021-11-10 13:00:40 -08:00
Brady Wetherington 2b6614e2dd Tweak Restore command to _also_ run via webserver via Artisan::call() 2021-11-10 12:44:19 -08:00
Brady Wetherington 864cc4f8d5 Fix FIXME's by downgrading them to TODO's :) 2021-11-10 11:37:10 -08:00
snipe ec2a3b0f35 Updated label names
Signed-off-by: snipe <snipe@snipe.net>
2021-11-10 01:44:34 -08:00
snipe 230a568145 Added help text and more info in the modal
Signed-off-by: snipe <snipe@snipe.net>
2021-11-10 01:44:11 -08:00
snipe 457c6080cc Better handling if there was no file uploaded
Signed-off-by: snipe <snipe@snipe.net>
2021-11-10 01:43:45 -08:00
snipe 856b9294f8 Improved BS tables on backups
Signed-off-by: snipe <snipe@snipe.net>
2021-11-10 00:08:43 -08:00
snipe 8590e5d67e UNRELATED: fixed wrong html tag for license view badge count
Signed-off-by: snipe <snipe@snipe.net>
2021-11-10 00:08:15 -08:00
snipe cf070866f0 INCOMPLETE: Added more generic language strings
Signed-off-by: snipe <snipe@snipe.net>
2021-11-10 00:07:47 -08:00
snipe 76685d7fd3 Clearer text in restore artisan command
Signed-off-by: snipe <snipe@snipe.net>
2021-11-10 00:07:32 -08:00
snipe 96f76e1f6b INCOMPLETE: Added restore and upload methods for backups
Signed-off-by: snipe <snipe@snipe.net>
2021-11-10 00:07:17 -08:00
snipe 05c6254fdc Updated snipeit.js with "restore" modal code
Signed-off-by: snipe <snipe@snipe.net>
2021-11-09 22:39:33 -08:00
snipe 3b25093aeb Removed noisy debugging
Signed-off-by: snipe <snipe@snipe.net>
2021-11-09 22:38:27 -08:00
snipe 76506dabbf Made helpers call full namespace (tho I have no idea why this was necessary)
Signed-off-by: snipe <snipe@snipe.net>
2021-11-09 22:38:14 -08:00
snipe 1b1b54fbf4 Add modified_value and modified_display so we can use the formatted date but still sort correctly
Signed-off-by: snipe <snipe@snipe.net>
2021-11-09 22:37:49 -08:00
snipe 542ab75d89 Added new backup routes
Signed-off-by: snipe <snipe@snipe.net>
2021-11-09 19:39:50 -08:00
snipe 0e21a95817 Escape error message in asset autdit apI (same as in v5)
Signed-off-by: snipe <snipe@snipe.net>
2021-11-09 19:39:32 -08:00
snipe fb21712a68 Added restore modal HTML
Signed-off-by: snipe <snipe@snipe.net>
2021-11-09 19:38:40 -08:00
Brady Wetherington 91f087258b Merge branch 'develop' into remove_old_ldap 2021-11-09 18:33:41 -08:00
Brady Wetherington 25d72d2978 Make composer install work on 7.4 as well as 8.0 2021-11-09 13:06:24 -08:00
Brady Wetherington ec030e9e1f Tweak some version requirements to make composer install run under phpv8 2021-11-08 21:19:23 -08:00
snipe 9ed1442bd1 Merge pull request #10286 from uberbrady/fix_bulk_audit_xss
Escape asset_tag attribute at controller level for bulk checkout
2021-11-08 20:32:02 -08:00
Brady Wetherington 3ea209a507 Escape asset_tag attribute at controller level for consumption in bulk checkout 2021-11-08 20:27:43 -08:00
Brady Wetherington a58c5ce27f Better documentation, disable AdLdap2-based "Add domain" setting 2021-11-08 17:11:47 -08:00
snipe edf98cb795 Merge pull request #10279 from snipe/fixes/turn_get_into_post_for_custom_field_required
Turn custom fields required/optional/remove into POST requests
2021-11-08 14:37:36 -08:00
snipe 16d18bc7eb Merge pull request #10283 from snipe/fixes/remove_get_logout_route 2021-11-08 12:55:19 -08:00
snipe 38c36af6fc Changes logout to POST
Signed-off-by: snipe <snipe@snipe.net>
2021-11-08 12:53:11 -08:00
snipe b5855e7be5 Removed get route for logout
Signed-off-by: snipe <snipe@snipe.net>
2021-11-08 12:35:15 -08:00
snipe 0d811d067c Turn cusotm fields required/optional/remove into POST requests
Signed-off-by: snipe <snipe@snipe.net>
2021-11-05 10:53:48 -07:00
Wächtler, Yannick 6b2801867d Renamed account/api to account/general to match naming schema, changed the associated account/api trans() to account/general 2021-11-04 20:15:23 +01:00
Wächtler, Yannick 97030866e4 Adding newly added template files 2021-11-04 20:12:47 +01:00
Nuraeil 3f2749d5d6 Merge pull request #2 from snipe/develop
Develop
2021-11-04 19:16:00 +01:00
snipe fba0e2b712 Revert tableexport
(It broke the npm run prod build)

Signed-off-by: snipe <snipe@snipe.net>
2021-11-03 16:17:19 -07:00
snipe 608c2f91a8 Updated package lock
Signed-off-by: snipe <snipe@snipe.net>
2021-11-03 16:04:48 -07:00
snipe 960028b376 Bumped version
Signed-off-by: snipe <snipe@snipe.net>
2021-11-03 16:04:39 -07:00
Brady Wetherington b0417e5bd7 Finish pulling out the AdLdap2-based LDAP remnants that were still in the system 2021-11-03 15:22:06 -07:00
snipe 6690a0f1df Merge pull request #10257 from Wouter0100/patch-1
fix(Docker): use correct python binary for exit listener
2021-11-02 14:53:35 -07:00
snipe 98de8526db Merge pull request #10258 from PlaneNuts/Fix_Advanced_Search/Checked_Out_To
Fixed #8828: Can't search by checked out user in advanced search
2021-11-02 14:53:08 -07:00
Wächtler, Yannick 63b30489df Added localized strings for notifications 2021-11-02 15:44:57 +01:00
Wächtler, Yannick 670b70c7e1 Added localized strings for models 2021-11-02 15:34:50 +01:00
Wächtler, Yannick c0891e6827 Added localized strings for modals 2021-11-02 15:27:13 +01:00
Wächtler, Yannick 30d30490a3 Added localized strings for locations 2021-11-02 15:14:54 +01:00
Wächtler, Yannick 4af6412da6 Added localized strings for licenses 2021-11-02 14:55:49 +01:00
Wächtler, Yannick 4fcd4a930f Added localized strings for layouts 2021-11-02 14:45:58 +01:00
Wächtler, Yannick 8bad9c5140 Added localized strings for kits 2021-11-02 14:25:21 +01:00
Wächtler, Yannick 26e056fb3c Added localized strings for improter, added en structure 2021-11-02 14:09:22 +01:00
Wächtler, Yannick c16ade2d87 Added localized strings for hardware 2021-11-02 14:02:48 +01:00
Wouter van Os 2c49c32e72 Fixed #10231: use correct python binary for exit listener
This fixes #10231, without creating an own Dockerfile.
2021-11-02 13:06:36 +01:00
Wächtler, Yannick 167bf97d46 Added localized strings for groups 2021-11-02 12:03:41 +01:00
Wächtler, Yannick e825fa81aa Added localized strings for depreciations 2021-11-02 11:50:56 +01:00
Wächtler, Yannick a96c53784c Added localized strings for custom_fields 2021-11-02 11:27:53 +01:00
Wächtler, Yannick c11af0e222 Added missing localized strings for account/accept/index.blade.php and view-assets.blade.php 2021-11-02 10:40:41 +01:00
Wächtler, Yannick 433d6fd3e0 Added localized strings for admin/companies 2021-11-02 10:23:15 +01:00
Wächtler, Yannick b784e63aa8 Added localized strings for account 2021-11-02 10:13:22 +01:00
Terrell Eaton 2c7a71a2a1 Fixes not being able to search by checked out user in advanced search 2021-11-01 22:14:19 +01:00
Godfrey M 1683b04244 changed min_amt_help message 2021-11-01 11:05:44 -07:00
Matthew Nickson 90ca66834b Fixed sumFormatterQuantity if using 1.234,56 fomat
Previously sumFormatterQuantity used the parseFloat to convert the
string purchase_cost to a floating point number. parseFloat does not
return the correct value when using the comma format. To fix this
sumFormatterQuantity now used the cleanFloat function to convert
purchase_cost to a float.

Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2021-10-30 22:48:45 +01:00
snipe eae9bf574f Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2021-10-29 14:11:58 -07:00
snipe 409600f29d Added S3 commented out settings in env example for clarity
Signed-off-by: snipe <snipe@snipe.net>
2021-10-29 14:11:54 -07:00
Brady Wetherington 4dda28de9e WIP: cleaning up LDAP 2021-10-28 18:19:50 -07:00
snipe e932cdf106 Merge pull request #9799 from Toreg87/fixes/fmcs_departments
Fixed #9798: Scope departments for FullMultipleCompanySupport
2021-10-28 18:18:16 -07:00
Brady Wetherington 31933a56fa Trying to get the login screen working 2021-10-28 18:18:11 -07:00
snipe ea0d92c439 Merge branch 'develop' into fixes/fmcs_departments 2021-10-28 18:18:08 -07:00
snipe 5458e44a40 Merge pull request #9508 from sh1hab/feature/remove_deleted_user_from_unaccepted_assets_report
Feature #9378 remove deleted user from unaccepted assets report
2021-10-28 18:11:19 -07:00
snipe d36849bd41 Merge branch 'develop' into feature/remove_deleted_user_from_unaccepted_assets_report 2021-10-28 18:11:03 -07:00
snipe 84a3a85823 Fixed parse error for merge conflict
Signed-off-by: snipe <snipe@snipe.net>
2021-10-28 18:04:03 -07:00
snipe 798f6d65de Merge pull request #9847 from inietov/bug/ch15357/requested_assets_allow_to_cancel_if_checkedout_to_self
Adds a check to know if the asset is checked out to the logged in user to allow check the state in the view
2021-10-28 17:53:24 -07:00
snipe 76cc46c419 Merge pull request #9814 from 01ste02/importMinAmt
Improved Consumable Import: Import min_amt for consumables
2021-10-28 17:49:44 -07:00
snipe d54434fdf7 Merge pull request #9541 from misilot/change-var-aws-public-url
Change from ENV to config value for PUBLIC_AWS_URL
2021-10-28 17:46:25 -07:00
snipe bdf321ecc9 Merge branch 'develop' into change-var-aws-public-url 2021-10-28 17:46:16 -07:00
snipe dc71f6ddc6 Merge pull request #9871 from jethron/patch-1
Fixed: double slashes in branding logo URL path
2021-10-28 17:36:43 -07:00
snipe 3ede7c7f18 Use icon and string for maintained value in license view
Signed-off-by: snipe <snipe@snipe.net>
2021-10-28 17:26:03 -07:00
snipe 2d782cd31f Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2021-10-28 17:20:27 -07:00
snipe 645529ba78 Merge pull request #9889 from ncareau/api-licenses
Add licenses api parameters and fix a missing variable in license view.
2021-10-28 17:20:09 -07:00
snipe 7470fdb605 Merge pull request #9912 from snipe/snyk-upgrade-1377cc2d38a76585c814757398543f5f
[Snyk] Upgrade tableexport.jquery.plugin from 1.10.21 to 1.10.26
2021-10-28 17:15:10 -07:00
snipe 636dc6877b Merge pull request #10113 from Godmartinz/bug/sc-17129/v6-integration-pie-chart-disappears-if-you
Fixed #sc17129 - Pie chart disappears when window resizes
2021-10-28 17:14:14 -07:00
snipe 3951de1669 Merge branch 'develop' into bug/sc-17129/v6-integration-pie-chart-disappears-if-you 2021-10-28 17:13:37 -07:00
snipe 930e220cf1 Merge pull request #9915 from snipe/snyk-upgrade-b2b26cf8ec7a697fe0094f699652a345
[Snyk] Upgrade bootstrap-table from 1.18.2 to 1.18.3
2021-10-28 17:12:47 -07:00
snipe 2f9e5f79af Merge pull request #10139 from FliegenKLATSCH/patch-1
API: Do not include deleted items per default on lookup by serial
2021-10-28 17:09:20 -07:00
snipe 3088230236 Merge pull request #10209 from Godmartinz/feature/sc-1474/sync-parent-asset-location-with-children-assets
Fixes Bug: When parent asset is assigned to other location, children assets loca…
2021-10-28 16:49:44 -07:00
snipe 984bc501a5 Merge pull request #9906 from Toreg87/fixes/advanced_search_serial_v2
Fixed #9904: Advanced search with serial and another field produce incorrect results (v2)
2021-10-28 16:42:32 -07:00
snipe 371a39a118 Merge branch 'develop' into fixes/advanced_search_serial_v2 2021-10-28 16:42:10 -07:00
snipe d3d199efc3 Add @PlaneNuts as a contributor 2021-10-28 16:39:28 -07:00
snipe 7821d38e60 Merge pull request #10238 from inietov/fixes/asset_components_must_return_relationship_instance
Fixes asset components must return relationship instance
2021-10-28 16:38:21 -07:00
snipe 927fba179d Merge pull request #10241 from snipe/snyk-fix-a23047e623395f58c0f4d50feb55a3a3
[Snyk] Security upgrade jquery-ui from 1.12.1 to 1.13.0
2021-10-28 16:35:32 -07:00
snipe 1895dd326f Merge pull request #10245 from Sxderp/pr-support-appache-rewrite-redirect-headers-for-remote-user
support apache REDIRECT_* for remote user login
2021-10-28 16:34:57 -07:00
snipe 1975afaca6 Merge pull request #10248 from snipe/features/add_requestable_to_bulk_model_edit
Adds reqestable as model bulk edit field
2021-10-28 16:30:55 -07:00
snipe 52ef9280ba Adds reqestable as model bulk edit field
Signed-off-by: snipe <snipe@snipe.net>
2021-10-28 15:15:54 -07:00
snipe 30cfc34ecf Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2021-10-28 14:42:58 -07:00
snipe 668e8a357c Fixed labels in profile form
Signed-off-by: snipe <snipe@snipe.net>
2021-10-28 12:57:27 -07:00
Steven Daniele efc644c960 support apache REDIRECT_* for remote user login 2021-10-28 14:23:38 -04:00
snyk-bot dfde50732b fix: package.json & package-lock.json to reduce vulnerabilities
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-JQUERYUI-1767167
- https://snyk.io/vuln/SNYK-JS-JQUERYUI-1767175
- https://snyk.io/vuln/SNYK-JS-JQUERYUI-1767767
2021-10-28 07:28:38 +00:00
Godfrey M b0da936c5c changed get to receive in the message 2021-10-27 16:41:38 -07:00
Godfrey M 8719667c44 adds info on how to nullify reorder alerts for consumables, components and accessories 2021-10-27 16:36:04 -07:00
Ivan Nieto Vivanco ee9133f722 Return the proper Asset-Components relationship 2021-10-27 16:42:51 -05:00
snipe 7455318fcf Merge pull request #10225 from snipe/fixes/default_label_in_status_label_api
Set default_label to 0 instead of null in API
2021-10-25 20:18:37 -07:00
snipe 17bf899a17 Set default_label to 0 instead of null in API
Signed-off-by: snipe <snipe@snipe.net>
2021-10-25 20:14:01 -07:00
snipe a5230319b8 Merge pull request #10223 from snipe/fixes/fixed_missing_clone_button
Fixed #10222 - fixed permissions array to handle missing clone button
2021-10-25 15:39:28 -07:00
snipe 8b1c60a17a Make gates a little more consistent
Signed-off-by: snipe <snipe@snipe.net>
2021-10-25 15:34:22 -07:00
snipe 033c3253bb Fixed permissions array to handle missing clone button
Signed-off-by: snipe <snipe@snipe.net>
2021-10-25 14:10:17 -07:00
snipe 8cfa8d97b4 Merge pull request #10215 from inietov/fixes/bulk_edit_counts_more_users_selected
Fixes bulk edit message counts more users than the actual selected users number
2021-10-21 13:02:03 -07:00
Ivan Nieto Vivanco 9eaf89aaa7 Add a variable to better control the selected user's ids 2021-10-21 13:28:58 -05:00
snipe 31d49b5c9b Fixed merge error parse error
Signed-off-by: snipe <snipe@snipe.net>
2021-10-20 18:11:34 -07:00
snipe 6e0f8068b2 Fixed duplicate use statement from merge fuckery
Signed-off-by: snipe <snipe@snipe.net>
2021-10-20 17:54:32 -07:00
snipe 9ee13f0d2a Fixed dupe use statement from merge fuckery
Signed-off-by: snipe <snipe@snipe.net>
2021-10-20 17:53:43 -07:00
snipe ae1a4bb3c9 Fixed extra braces from merge fuckery
Signed-off-by: snipe <snipe@snipe.net>
2021-10-20 17:36:06 -07:00
snipe aa8f1378c9 Merge remote-tracking branch 'origin/master' into develop
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	README.md
#	app/Http/Controllers/Accessories/AccessoriesController.php
#	app/Http/Controllers/Api/AssetMaintenancesController.php
#	app/Http/Controllers/Api/AssetModelsController.php
#	app/Http/Controllers/Api/AssetsController.php
#	app/Http/Controllers/Api/UsersController.php
#	app/Http/Controllers/AssetMaintenancesController.php
#	app/Http/Controllers/Assets/AssetFilesController.php
#	app/Http/Controllers/Assets/AssetsController.php
#	app/Http/Controllers/Assets/BulkAssetsController.php
#	app/Http/Controllers/Components/ComponentsController.php
#	app/Http/Controllers/Consumables/ConsumablesController.php
#	app/Http/Controllers/Licenses/LicenseFilesController.php
#	app/Http/Controllers/Licenses/LicensesController.php
#	app/Http/Controllers/Users/UserFilesController.php
#	app/Http/Transformers/AssetsTransformer.php
#	app/Http/Transformers/LicensesTransformer.php
#	app/Importer/UserImporter.php
#	app/Models/Asset.php
#	config/app.php
#	config/version.php
#	package-lock.json
#	public/js/build/app.js
#	public/js/dist/all.js
#	public/js/dist/bootstrap-table.js
#	public/mix-manifest.json
#	resources/lang/en/admin/users/message.php
#	resources/lang/is/button.php
#	resources/lang/ja/admin/kits/general.php
#	resources/lang/ro/admin/users/general.php
#	resources/lang/zh-HK/admin/depreciations/general.php
#	resources/lang/zh-HK/admin/models/general.php
#	resources/views/hardware/qr-view.blade.php
#	resources/views/hardware/view.blade.php
#	resources/views/partials/bootstrap-table.blade.php
#	resources/views/users/view.blade.php
#	routes/web.php
#	routes/web/hardware.php
#	routes/web/models.php
#	routes/web/users.php
2021-10-20 17:26:41 -07:00
Godfrey M 9ae7d0b23a when parent asset is assigned to other location, children assets location are updated as well. 2021-10-20 17:01:25 -07:00
snipe 365349fd91 Center custom fields email icon
Signed-off-by: snipe <snipe@snipe.net>
2021-10-18 18:39:46 -07:00
snipe a88f622ec3 Bumped version
Signed-off-by: snipe <snipe@snipe.net>
2021-10-18 16:45:51 -07:00
snipe f87ffb84d5 Merge pull request #10201 from snipe/fixes/xss_on_export
Fixes possible XSS on all-file-types export
2021-10-15 09:54:52 -07:00
snipe bda23bb1e6 Fixes possible XSS on all-file-types export
Signed-off-by: snipe <snipe@snipe.net>
2021-10-15 11:50:52 -05:00
snipe 4095a3f8c4 Removed dupe bars
Signed-off-by: snipe <snipe@snipe.net>
2021-10-12 12:31:08 -07:00
snipe 94c4265524 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2021-10-12 12:30:39 -07:00
snipe 4a98519c1f Compiled assets
Signed-off-by: snipe <snipe@snipe.net>
2021-10-12 12:30:25 -07:00
snipe d126b265ee Merge pull request #10192 from snipe/bug/sc-17471/font-awesome-hamburger-menu-is-showing-as
Fixed misisng hamburger menu
2021-10-12 12:10:53 -07:00
snipe 892fc0004a Fixed misisng hamburger menu
Signed-off-by: snipe <snipe@snipe.net>
2021-10-12 12:09:46 -07:00
snipe 2cbbf7efe2 Merge pull request #10186 from tanji/patch-2
Exclude web.config from Apache
2021-10-11 10:03:37 -07:00
Guillaume Lefranc 494ed3d17a Exclude web.config from Apache 2021-10-11 14:14:00 +02:00
Matthew Nickson 8996c24d1f Merge branch 'develop' into sum_cost_by_quantity 2021-10-10 13:01:44 +01:00
FliegenKLATSCH 24c484303e Do not include deleted assets by default when doing lookup by serial
This commit introduces a new query parameter `deleted`, which can be set to `true` to include deleted assets in the response.
2021-10-09 08:56:31 +02:00
snipe 5d94b99035 Switched to 5 in one minute
Signed-off-by: snipe <snipe@snipe.net>
2021-10-08 15:53:32 -07:00
snipe c4856c8aed Merge pull request #10180 from snipe/fixes/add_rate_limiting_to_forgotten_password
Throttle password reset requests to 5 every 60 seconds
2021-10-08 15:44:43 -07:00
snipe 0674ef5a3d Fixed number to 1 (for minutes)
Signed-off-by: snipe <snipe@snipe.net>
2021-10-08 15:43:32 -07:00
snipe 702791210e Throttle password reset requests to 5 every 60 seconds
Signed-off-by: snipe <snipe@snipe.net>
2021-10-08 14:26:30 -07:00
snipe 1f5c38ad7e Merge pull request #10179 from inietov/features/allow_same_category_name_for_different_types
Fixes #9365 #9800 Added a validation to use the same name in categories with different types [sc-17487]
2021-10-08 14:10:29 -07:00
Ivan Nieto Vivanco 23b770fac6 Added a validation to use the same name in categories with different types 2021-10-08 15:19:16 -05:00
snipe 1c77fd0d09 Merge pull request #10178 from inietov/bug/sc-17520/symfony_component_debug_exception_fatalthrowableerror
Fixed typo when setting the headers
2021-10-08 12:04:45 -07:00
Ivan Nieto Vivanco d184da8611 Fixed typo (thanks @ssddanbrown) 2021-10-08 13:39:49 -05:00
snipe 5f52ee59b2 Merge pull request #9529 from dampfklon/Feature_#9514_Asset_Acceptance,_resend_mail/_send_remainder
Feature #9514, Feature #9378 Unaccepted Assets Report Actions, Fixed [ch16410]
2021-10-07 12:49:42 -07:00
Dampfklon ab4a234e20 fix rebase errors 2021-10-07 21:32:57 +02:00
Dampfklon 7645f23f5c remove pending Acceptances on checkin 2021-10-07 21:03:46 +02:00
Dampfklon 4418ad2340 Enable display of deleted acceptances, strike deleted users, add date, enable sorting 2021-10-07 21:03:46 +02:00
Dampfklon 12ee06deb6 add Download All Button, change route analogue to activity report 2021-10-07 21:01:50 +02:00
Dampfklon 9a9ca59544 Fix decprecated implode usage 2021-10-07 20:55:47 +02:00
Dampfklon ed99532c30 Unaccepted Assets Report Actions (send reminder, delete) added
Unaccepted Assets Export fixed
2021-10-07 20:53:02 +02:00
snipe ac76364140 Merge pull request #10172 from snipe/fixes/S3_upload_preview
Fixed models preview - Use Storage:: facade
2021-10-06 13:14:02 -07:00
snipe 7848a3c3dc Use Storage:: facade for image preview for models
Signed-off-by: snipe <snipe@snipe.net>
2021-10-06 13:12:42 -07:00
snipe f41ec640fe Added Huntr.dev badge
Signed-off-by: snipe <snipe@snipe.net>
2021-10-06 12:49:30 -07:00
snipe fc5efd857f Merge pull request #10171 from snipe/fixes/xss_svg_in_file_uploads
Fixed SVG XSS vuln
2021-10-06 12:38:51 -07:00
snipe ccd430ce07 Switched back down to debug level
Signed-off-by: snipe <snipe@snipe.net>
2021-10-06 12:38:21 -07:00
snipe f306401e7e Fixed SVG XSS vuln
Signed-off-by: snipe <snipe@snipe.net>
2021-10-06 12:26:45 -07:00
snipe c06a93ef13 Removed extra brace in assets for components
Signed-off-by: snipe <snipe@snipe.net>
2021-10-06 10:38:13 -07:00
snipe 17d4e25e60 Merge pull request #10167 from inietov/bug/sc-17520/symfony_component_debug_exception_fatalthrowableerror
Set headers in a different manner in the middleware [sc-17520]
2021-10-05 14:06:39 -07:00
Ivan Nieto Vivanco ef6eea67d8 Set headers in a different manner in the middleware 2021-10-05 14:09:35 -05:00
snipe 3980c80c70 Merge pull request #10166 from uberbrady/fix_default_values_for_custom_fields_for_models_rebased
Fix default values for custom fields for models rebased
2021-10-04 22:27:45 -07:00
Brady Wetherington bbeedc026d A lot of cleanups to the Livewire stuff, and got it kinda-sorta basically working. 2021-10-04 22:07:29 -07:00
Brady Wetherington d80604f2ac Most of the basics are working, but not done and lots of debug messages are about
I picked up the change that picked a point-release difference on the AWS library since that usually
works out for us (x.y.1 vs. x.y.2 - usually a good call)
2021-10-04 22:06:48 -07:00
snipe 84c73aae5d Merge pull request #10165 from snipe/fixes/set_restore_actions_to_POST_requests
Set restore actions to POST requests instead of GET
2021-10-04 20:40:33 -07:00
snipe dc3af7cc74 Resolved conflicts
Signed-off-by: snipe <snipe@snipe.net>
2021-10-04 20:39:24 -07:00
snipe 34eab88b7e Removed debugging
Signed-off-by: snipe <snipe@snipe.net>
2021-10-04 20:25:31 -07:00
snipe 903609b5a5 Updated languages
Signed-off-by: snipe <snipe@snipe.net>
2021-10-04 19:59:55 -07:00
snipe e491a93892 Removed restore link
Signed-off-by: snipe <snipe@snipe.net>
2021-10-04 19:56:56 -07:00
snipe b20c841a89 Fixed asset models restore
Signed-off-by: snipe <snipe@snipe.net>
2021-10-04 19:29:13 -07:00
snipe 8fe59f8383 Switch users restore over to POST
Signed-off-by: snipe <snipe@snipe.net>
2021-10-04 19:22:38 -07:00
snipe 8bf09d9f89 Make form-based restore button on asset view
Signed-off-by: snipe <snipe@snipe.net>
2021-10-04 19:01:16 -07:00
snipe 1457fda508 Merge pull request #10159 from AL4AL/specify_docker_images_version
Fixed #10158 Specify docker images versions
2021-10-04 18:28:11 -07:00
snipe 3594ec9905 Handle bulk check and uncheck
Signed-off-by: snipe <snipe@snipe.net>
2021-10-04 17:58:16 -07:00
snipe 52caee2a9f Handle checking and unchecking for bulk actions
Signed-off-by: snipe <snipe@snipe.net>
2021-10-04 17:18:26 -07:00
snipe 52ea172e5d Fix ID array
Signed-off-by: snipe <snipe@snipe.net>
2021-10-04 17:18:07 -07:00
snipe caad5be957 Updated routes to use POST for restore
Signed-off-by: snipe <snipe@snipe.net>
2021-10-04 17:17:36 -07:00
snipe fa1cf3073b Add @alwism as a contributor 2021-10-04 15:04:58 -07:00
snipe 71badee78a Add @Robert-Azelis as a contributor 2021-10-04 15:04:47 -07:00
snipe cb0d1add8d Add @01ste02 as a contributor 2021-10-04 15:04:22 -07:00
snipe 1b0d11a572 Add @jethron as a contributor 2021-10-04 15:03:50 -07:00
snipe 9e522b6a4d Add @Computroniks as a contributor 2021-10-04 15:03:35 -07:00
snipe a773e70936 Add @Toreg87 as a contributor 2021-10-04 15:03:23 -07:00
snipe 92a38f2a23 Add @jerm as a contributor 2021-10-04 15:03:05 -07:00
snipe 542f774c68 Add @FliegenKLATSCH as a contributor 2021-10-04 15:02:56 -07:00
snipe 67e106c7fa Add @AL4AL as a contributor 2021-10-04 15:02:51 -07:00
snipe 536b5717f0 Merge pull request #10164 from snipe/fixes/require_revalidation_on_logout_back_button
Force revalidation headers when user logs out
2021-10-04 12:56:03 -07:00
snipe 9b48732cd2 Force revalidation headers when user logs out
Signed-off-by: snipe <snipe@snipe.net>
2021-10-04 12:52:48 -07:00
Sajjad f036e2b2a3 Specify docker images versions
Fix unquoted sentences
2021-10-03 11:12:53 +03:30
snipe 244616b31e Merge pull request #10157 from snipe/jerm/fix-cachedir-ownership
[Docker] Fix ownership of cache directory in startup script
2021-10-01 17:50:36 -07:00
Jeremy Price 22313711d5 Fix ownership of cache directory
Snipe-IT was waiting to load because
/var/www/html/storage/framework/cache/ and its contet were owned by
root:root, but docker needed to be able to write to them

This change recursively chowns that path to docker:root, and now it
loads.
2021-10-01 16:54:17 -07:00
snipe 89e650f842 Fixed typo
Signed-off-by: snipe <snipe@snipe.net>
2021-09-30 16:01:56 -07:00
snipe daa88f06f7 Added pivot to components JSON
Signed-off-by: snipe <snipe@snipe.net>
2021-09-30 15:51:08 -07:00
snipe d0acb9fdb4 Applies PR #10150 to master
Signed-off-by: snipe <snipe@snipe.net>
2021-09-30 15:33:00 -07:00
snipe b919f5b1e9 Merge pull request #10150 from inietov/fixes/new_department_error_importing_users
Fixes New department error importing users.
2021-09-30 15:31:17 -07:00
Ivan Nieto Vivanco 11aa8971c8 Fix error if the Department is also empty 2021-09-30 17:20:44 -05:00
Ivan Nieto Vivanco 5c7aaaac22 Fix error when department is null 2021-09-30 16:46:23 -05:00
snipe 43a437000b Slightly better right-padding on row-new-striped
Signed-off-by: snipe <snipe@snipe.net>
2021-09-29 11:20:32 -07:00
snipe 228c8223a8 Merge pull request #10148 from uberbrady/snipe_it_v6_php_73
Try to generate a new composer lockfile under PHP 7.3
2021-09-29 10:57:56 -07:00
Brady Wetherington 3a73fa19f0 Try to generate a new composer lockfile under PHP 7.3 2021-09-29 10:53:44 -07:00
snipe 85b5f52cd8 Nicer mobile view for user view icons
Signed-off-by: snipe <snipe@snipe.net>
2021-09-28 23:04:30 -07:00
snipe 8e437a66af Merge branch 'master' of https://github.com/snipe/snipe-it 2021-09-28 20:03:35 -07:00
snipe f232579e2b Added Discord badge
Signed-off-by: snipe <snipe@snipe.net>
2021-09-28 20:02:46 -07:00
snipe 61f16f47a2 Use Helper alias
Signed-off-by: snipe <snipe@snipe.net>
2021-09-28 19:44:55 -07:00
snipe 7b7583fde3 Merge pull request #10141 from uberbrady/fix_currency_problems
Fixed #9789 and Fixed #10088 and Fixed [fd23442] - Fix currency problems especially with European currency format
2021-09-28 19:37:25 -07:00
Brady Wetherington ae466be153 Fix license output, tweak CleanFloat function to handle numbers over 1 million 2021-09-28 19:10:25 -07:00
Brady Wetherington f3338667c7 Create new ParseCurrency helper and use it in the appropriate controllers 2021-09-28 18:20:39 -07:00
Brady Wetherington f380da3f19 Try to ensure all currency output is formatted correctly. 2021-09-28 16:45:47 -07:00
snipe 9a83b90e44 Make row-new-striped 100% width
Signed-off-by: snipe <snipe@snipe.net>
2021-09-28 15:04:57 -07:00
snipe 9311f8694f Fixed incorrect icon for map marker
Signed-off-by: snipe <snipe@snipe.net>
2021-09-28 09:35:48 -07:00
NMC c680977791 Merge branch 'develop' into api-licenses 2021-09-27 15:02:51 -04:00
snipe c8ac19a5a0 Merge pull request #10135 from svpernova09/recreate-license-table-migration-issue
Rename license migration to resolve fatal error running migrations
2021-09-27 11:03:17 -07:00
Joe Ferguson 8c49f78218 Rename license migration to resolve fatal error running migrations during setup 2021-09-27 12:53:17 -05:00
snipe 2a6b59f0f8 Removed extra paramater from hasTable
Signed-off-by: snipe <snipe@snipe.net>
2021-09-27 09:48:03 -07:00
snipe 4c3f59c5fd Remove first migration for licenses
Signed-off-by: snipe <snipe@snipe.net>
2021-09-26 15:51:17 -07:00
snipe 6f96b25440 Attempt fix at Laravel "magic" class in migrations resulting in table already exists
Signed-off-by: snipe <snipe@snipe.net>
2021-09-26 15:48:43 -07:00
snipe 1657ba396f Added available license seat count to top tabs for licenses
Signed-off-by: snipe <snipe@snipe.net>
2021-09-26 15:03:56 -07:00
snipe f0da1977fb Small visual improvements on consumables view
Signed-off-by: snipe <snipe@snipe.net>
2021-09-26 14:32:51 -07:00
snipe d88c0ae5ec Merge pull request #10103 from snipe/fixes/make_boolean_fields_nullable
Fixed issue when creating a status label via API - default_label and show_in_nav being not nullable
2021-09-26 13:41:52 -07:00
snipe 450da5661d Add additional info on accessories view page
Signed-off-by: snipe <snipe@snipe.net>
2021-09-26 03:59:04 -07:00
snipe a6632a7b9f Use new row striping on licenses detail page
Signed-off-by: snipe <snipe@snipe.net>
2021-09-26 03:58:53 -07:00
snipe 638e5a5bf6 Merge pull request #10132 from snipe/features/upgrade_the_rest_of_fa_icons
Upgraded FA icons to latest
2021-09-26 01:12:33 -07:00
snipe 7e41c74cc3 Updated more fa icons
Signed-off-by: snipe <snipe@snipe.net>
2021-09-26 01:11:08 -07:00
snipe 8738451685 Fixed font awesome caret
Signed-off-by: snipe <snipe@snipe.net>
2021-09-25 23:17:35 -07:00
snipe 65a6da5bd2 Added files tab back to assets
Signed-off-by: snipe <snipe@snipe.net>
2021-09-25 22:59:02 -07:00
snipe a7b3f98e9f Updated angle icon with new font awesome
Signed-off-by: snipe <snipe@snipe.net>
2021-09-25 22:57:27 -07:00
snipe 8ee00d0f42 Changed paperflip to file icon
Signed-off-by: snipe <snipe@snipe.net>
2021-09-25 22:57:06 -07:00
snipe 667639b9fb Backed out the ribbon CSS for now
Signed-off-by: snipe <snipe@snipe.net>
2021-09-25 22:56:54 -07:00
snipe 749f364186 Removed gitter
Signed-off-by: snipe <snipe@snipe.net>
2021-09-25 22:56:32 -07:00
snipe 67d898e897 Updated map icons
Signed-off-by: snipe <snipe@snipe.net>
2021-09-24 14:30:36 -07:00
snipe a9b306f2d2 Backing out the ribbon - too finicky on mobile :(
Signed-off-by: snipe <snipe@snipe.net>
2021-09-24 14:30:29 -07:00
snipe e03d7b7016 More fa icon updates
Signed-off-by: snipe <snipe@snipe.net>
2021-09-24 13:07:02 -07:00
snipe 20e23c1248 Fixed 500 on wrong association
Signed-off-by: snipe <snipe@snipe.net>
2021-09-24 12:54:47 -07:00
snipe 5875cf1e9e Removed test code
Signed-off-by: snipe <snipe@snipe.net>
2021-09-24 12:33:34 -07:00
snipe 03e3c21d7e Merge pull request #10129 from snipe/features/improved_mobile_ux
Features/improved mobile ux
2021-09-24 12:30:56 -07:00
snipe decc771459 Starting to refactor the hardware page
Signed-off-by: snipe <snipe@snipe.net>
2021-09-24 12:05:48 -07:00
snipe 78fa6452ee Fixed typo
Signed-off-by: snipe <snipe@snipe.net>
2021-09-24 12:05:18 -07:00
snipe 2c141813f1 Better formatting
Signed-off-by: snipe <snipe@snipe.net>
2021-09-24 11:51:52 -07:00
snipe 3317b5107a Added ribbon to show on user's photo that they are an admin
Signed-off-by: snipe <snipe@snipe.net>
2021-09-24 11:13:55 -07:00
snipe 0d1bd5b470 Updated more fa icons
Signed-off-by: snipe <snipe@snipe.net>
2021-09-24 11:13:34 -07:00
snipe 8d1c3106b5 Building assets again
Signed-off-by: snipe <snipe@snipe.net>
2021-09-24 11:13:15 -07:00
snipe d480084c01 Merge pull request #10128 from inietov/fixes/route_not_defined_components_consumables
Fixes route not defined exception on components and consumables
2021-09-24 10:50:46 -07:00
Ivan Nieto Vivanco efc9a8e2c9 Fixes route not defined exception on components and consumables 2021-09-24 11:38:07 -05:00
snipe 299ad681f7 More fa icons
Signed-off-by: snipe <snipe@snipe.net>
2021-09-24 07:21:30 -07:00
snipe b2dc92b088 And a few more missed icons
Signed-off-by: snipe <snipe@snipe.net>
2021-09-24 06:44:38 -07:00
snipe ad6f073c82 Few more icon updates
Signed-off-by: snipe <snipe@snipe.net>
2021-09-24 06:38:23 -07:00
snipe 8aba37522d More FA icons
Signed-off-by: snipe <snipe@snipe.net>
2021-09-24 06:18:22 -07:00
snipe dbe93d91cd Updated fontawesome icons
Signed-off-by: snipe <snipe@snipe.net>
2021-09-24 06:07:46 -07:00
snipe 383c2c8466 New assets
Signed-off-by: snipe <snipe@snipe.net>
2021-09-24 04:12:55 -07:00
snipe 06e8e826bc Added some BS tables style overrides for mobile
Signed-off-by: snipe <snipe@snipe.net>
2021-09-24 04:12:41 -07:00
snipe 4a8f06b0f1 Added badge counters to tabs
Signed-off-by: snipe <snipe@snipe.net>
2021-09-24 04:12:22 -07:00
snipe c69a883409 Fixed Groups route
Signed-off-by: snipe <snipe@snipe.net>
2021-09-24 04:12:07 -07:00
snipe 1574d24dde Fixed accessories route
Signed-off-by: snipe <snipe@snipe.net>
2021-09-24 04:11:58 -07:00
snipe 8937396a26 Added padding to the sidenav on mobile
Signed-off-by: snipe <snipe@snipe.net>
2021-09-24 03:02:57 -07:00
snipe fd7c6179d5 Show the user's photo frst on mobile view
Signed-off-by: snipe <snipe@snipe.net>
2021-09-24 03:02:47 -07:00
snipe 9a299973ff Mobile CSS overrides
Signed-off-by: snipe <snipe@snipe.net>
2021-09-24 03:02:19 -07:00
snipe 7f41bdf0b0 Use new striping on hardware page
Signed-off-by: snipe <snipe@snipe.net>
2021-09-24 02:17:57 -07:00
snipe 90c22caa4b Rework user page to no longer use tables for data layout
This also fixes the weird display when lines break

Signed-off-by: snipe <snipe@snipe.net>
2021-09-24 02:17:40 -07:00
snipe 12df310449 Updated assets
Signed-off-by: snipe <snipe@snipe.net>
2021-09-24 02:16:58 -07:00
snipe 7cbdf2c727 A few seeder fixes
Signed-off-by: snipe <snipe@snipe.net>
2021-09-23 22:16:19 -07:00
snipe 28a5838dfb Merge pull request #10125 from snipe/features/add_demo_user_images
Added userpics from thispersondoesnotexist.com
2021-09-23 22:08:39 -07:00
snipe 932c1364ee Added userpics from thispersondoesnotexist.com
Signed-off-by: snipe <snipe@snipe.net>
2021-09-23 22:05:42 -07:00
snipe 1ecd11dd2e More route fixes
Signed-off-by: snipe <snipe@snipe.net>
2021-09-23 21:46:17 -07:00
snipe d82490f4a6 Updated package-lock
Signed-off-by: snipe <snipe@snipe.net>
2021-09-23 19:05:41 -07:00
snipe 919eaf320c Updated javascript assets
Signed-off-by: snipe <snipe@snipe.net>
2021-09-23 19:00:53 -07:00
snipe c9337a1947 Merge branch 'master' of https://github.com/snipe/snipe-it 2021-09-23 18:59:25 -07:00
snipe d069d032fc Updated JS asset
Signed-off-by: snipe <snipe@snipe.net>
2021-09-23 18:59:13 -07:00
snipe d37dedb654 Merge pull request #10123 from takuy/patch-1
Fixed #9928: update expected field name for response list
2021-09-23 18:57:02 -07:00
snipe fedf51dda4 Fixed typo
Signed-off-by: snipe <snipe@snipe.net>
2021-09-23 18:29:47 -07:00
snipe 53334f7905 Merge pull request #10124 from snipe/features/added_components_to_assets_API
Added assigned components to assets API
2021-09-23 18:26:57 -07:00
snipe 2f9582ee5c Switched to loadMissing for performance
Signed-off-by: snipe <snipe@snipe.net>
2021-09-23 17:31:19 -07:00
snipe 3b7ce0091c Load components in the assets API if components=true in API request
Signed-off-by: snipe <snipe@snipe.net>
2021-09-23 17:23:53 -07:00
snipe 6e270c0ed2 Include created_at in pivot
Signed-off-by: snipe <snipe@snipe.net>
2021-09-23 17:23:17 -07:00
Sam d0f284129a Update expected field for response list
The existing code to handle the "enter key" / auto selections broke at some point. It was expecting results to be in an "items" list, not a "results" list. This should close #9928 hopefully. Tested locally.
2021-09-23 20:12:45 -04:00
snipe 6aa7e9cbfa Merge branch 'master' of https://github.com/snipe/snipe-it 2021-09-23 14:32:48 -07:00
snipe 3862b6476b Merge pull request #10122 from inietov/fixes/api_issue_when_component_checkout
Fixes API Issue when checking out a component
2021-09-23 13:21:48 -07:00
Ivan Nieto Vivanco 7dfab3a6e2 Change the condition to 'bigger or equal' instead of just 'bigger than' in ComponentsController checkout api 2021-09-23 15:02:39 -05:00
snipe 0f40ba2b34 Check for admin rights before displaying admin permission options
Signed-off-by: snipe <snipe@snipe.net>
2021-09-22 19:31:49 -07:00
snipe 39a702397a Add user permissions message if the user is not an admin or better
Signed-off-by: snipe <snipe@snipe.net>
2021-09-22 19:05:02 -07:00
snipe a6b3aa5f04 Don't try to delete the file if there is no log entry
Signed-off-by: snipe <snipe@snipe.net>
2021-09-22 19:04:25 -07:00
snipe 71644696d1 Removed duplicate migration
Signed-off-by: snipe <snipe@snipe.net>
2021-09-22 17:21:48 -07:00
snipe 61cf9ec009 Small conflict handling bits
Signed-off-by: snipe <snipe@snipe.net>
2021-09-22 00:00:44 -07:00
snipe e27065fe16 Merge branch 'develop-v6-integration' into develop-v6-rc1
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	.all-contributorsrc
#	README.md
#	app/Console/Commands/ResetDemoSettings.php
#	app/Helpers/Helper.php
#	app/Http/Controllers/Api/AccessoriesController.php
#	app/Http/Controllers/Api/AssetsController.php
#	app/Http/Controllers/Api/CategoriesController.php
#	app/Http/Controllers/Api/ComponentsController.php
#	app/Http/Controllers/Api/ConsumablesController.php
#	app/Http/Controllers/Api/LocationsController.php
#	app/Http/Controllers/Api/StatuslabelsController.php
#	app/Http/Controllers/Api/SuppliersController.php
#	app/Http/Controllers/AssetMaintenancesController.php
#	app/Http/Controllers/Auth/ForgotPasswordController.php
#	app/Http/Controllers/DepreciationsController.php
#	app/Http/Controllers/ReportsController.php
#	app/Http/Controllers/SettingsController.php
#	app/Http/Requests/ImageUploadRequest.php
#	app/Http/Transformers/ActionlogsTransformer.php
#	app/Http/Transformers/DepreciationsTransformer.php
#	app/Listeners/CheckoutableListener.php
#	app/Models/Accessory.php
#	app/Models/Asset.php
#	app/Models/Company.php
#	app/Models/Ldap.php
#	app/Models/User.php
#	app/Presenters/AssetPresenter.php
#	app/Presenters/CategoryPresenter.php
#	composer.json
#	composer.lock
#	config/version.php
#	database/factories/AssetModelFactory.php
#	database/migrations/2020_10_22_233743_move_accessory_checkout_note_to_join_table.php
#	database/seeds/AssetModelSeeder.php
#	package-lock.json
#	public/css/build/AdminLTE.css
#	public/css/build/app.css
#	public/css/build/overrides.css
#	public/css/dist/all.css
#	public/css/dist/bootstrap-table.css
#	public/css/dist/skins/skin-black-dark.css
#	public/css/dist/skins/skin-black-dark.min.css
#	public/css/dist/skins/skin-black.css
#	public/css/dist/skins/skin-black.min.css
#	public/css/dist/skins/skin-blue-dark.css
#	public/css/dist/skins/skin-blue-dark.min.css
#	public/css/dist/skins/skin-blue.css
#	public/css/dist/skins/skin-blue.min.css
#	public/css/dist/skins/skin-contrast.css
#	public/css/dist/skins/skin-contrast.min.css
#	public/css/dist/skins/skin-green-dark.css
#	public/css/dist/skins/skin-green-dark.min.css
#	public/css/dist/skins/skin-green.css
#	public/css/dist/skins/skin-green.min.css
#	public/css/dist/skins/skin-orange-dark.css
#	public/css/dist/skins/skin-orange-dark.min.css
#	public/css/dist/skins/skin-orange.css
#	public/css/dist/skins/skin-orange.min.css
#	public/css/dist/skins/skin-purple-dark.css
#	public/css/dist/skins/skin-purple-dark.min.css
#	public/css/dist/skins/skin-purple.css
#	public/css/dist/skins/skin-purple.min.css
#	public/css/dist/skins/skin-red-dark.css
#	public/css/dist/skins/skin-red-dark.min.css
#	public/css/dist/skins/skin-red.css
#	public/css/dist/skins/skin-red.min.css
#	public/css/dist/skins/skin-yellow-dark.css
#	public/css/dist/skins/skin-yellow-dark.min.css
#	public/css/dist/skins/skin-yellow.css
#	public/css/dist/skins/skin-yellow.min.css
#	public/js/build/app.js
#	public/js/build/vendor.js
#	public/js/dist/all.js
#	public/js/dist/bootstrap-table.js
#	public/mix-manifest.json
#	resources/assets/js/vue.js
#	resources/lang/af/validation.php
#	resources/lang/ar/admin/settings/general.php
#	resources/lang/ar/validation.php
#	resources/lang/bg/admin/settings/general.php
#	resources/lang/bg/validation.php
#	resources/lang/cs/admin/settings/general.php
#	resources/lang/cs/validation.php
#	resources/lang/cy/help.php
#	resources/lang/cy/validation.php
#	resources/lang/da/admin/settings/general.php
#	resources/lang/da/validation.php
#	resources/lang/de/admin/settings/general.php
#	resources/lang/de/validation.php
#	resources/lang/el/validation.php
#	resources/lang/en-GB/admin/settings/general.php
#	resources/lang/en-GB/validation.php
#	resources/lang/en-ID/admin/hardware/table.php
#	resources/lang/en-ID/admin/settings/general.php
#	resources/lang/en-ID/validation.php
#	resources/lang/es-CO/admin/settings/general.php
#	resources/lang/es-CO/auth/message.php
#	resources/lang/es-CO/button.php
#	resources/lang/es-CO/help.php
#	resources/lang/es-CO/validation.php
#	resources/lang/es-ES/admin/settings/general.php
#	resources/lang/es-ES/auth/message.php
#	resources/lang/es-ES/button.php
#	resources/lang/es-ES/help.php
#	resources/lang/es-ES/validation.php
#	resources/lang/es-MX/admin/settings/general.php
#	resources/lang/es-MX/validation.php
#	resources/lang/es-VE/admin/settings/general.php
#	resources/lang/es-VE/auth/message.php
#	resources/lang/es-VE/button.php
#	resources/lang/es-VE/help.php
#	resources/lang/es-VE/validation.php
#	resources/lang/et/validation.php
#	resources/lang/fa/validation.php
#	resources/lang/fi/admin/settings/general.php
#	resources/lang/fi/validation.php
#	resources/lang/fil/validation.php
#	resources/lang/fr/admin/settings/general.php
#	resources/lang/fr/validation.php
#	resources/lang/ga-IE/validation.php
#	resources/lang/he/admin/settings/general.php
#	resources/lang/he/general.php
#	resources/lang/he/validation.php
#	resources/lang/hr/validation.php
#	resources/lang/hu/validation.php
#	resources/lang/id/validation.php
#	resources/lang/is/admin/categories/general.php
#	resources/lang/is/admin/companies/message.php
#	resources/lang/is/admin/companies/table.php
#	resources/lang/is/admin/components/general.php
#	resources/lang/is/admin/components/table.php
#	resources/lang/is/admin/consumables/table.php
#	resources/lang/is/admin/depreciations/general.php
#	resources/lang/is/admin/depreciations/message.php
#	resources/lang/is/admin/hardware/form.php
#	resources/lang/is/admin/hardware/general.php
#	resources/lang/is/admin/hardware/message.php
#	resources/lang/is/admin/hardware/table.php
#	resources/lang/is/admin/kits/general.php
#	resources/lang/is/admin/licenses/form.php
#	resources/lang/is/admin/licenses/general.php
#	resources/lang/is/admin/locations/table.php
#	resources/lang/is/admin/manufacturers/table.php
#	resources/lang/is/admin/reports/message.php
#	resources/lang/is/admin/settings/general.php
#	resources/lang/is/admin/settings/message.php
#	resources/lang/is/admin/statuslabels/message.php
#	resources/lang/is/admin/suppliers/message.php
#	resources/lang/is/admin/suppliers/table.php
#	resources/lang/is/admin/users/table.php
#	resources/lang/is/mail.php
#	resources/lang/is/validation.php
#	resources/lang/it/admin/settings/general.php
#	resources/lang/it/validation.php
#	resources/lang/iu/validation.php
#	resources/lang/ja/mail.php
#	resources/lang/ja/validation.php
#	resources/lang/ko/validation.php
#	resources/lang/lt/validation.php
#	resources/lang/lv/validation.php
#	resources/lang/mi/validation.php
#	resources/lang/mk/validation.php
#	resources/lang/ml-IN/validation.php
#	resources/lang/mn/validation.php
#	resources/lang/ms/validation.php
#	resources/lang/nl/admin/settings/general.php
#	resources/lang/nl/validation.php
#	resources/lang/no/validation.php
#	resources/lang/pl/admin/settings/general.php
#	resources/lang/pl/validation.php
#	resources/lang/pt-BR/admin/settings/general.php
#	resources/lang/pt-BR/mail.php
#	resources/lang/pt-BR/validation.php
#	resources/lang/pt-PT/validation.php
#	resources/lang/ro/validation.php
#	resources/lang/ru/validation.php
#	resources/lang/sl/validation.php
#	resources/lang/sr-CS/admin/settings/general.php
#	resources/lang/sr-CS/validation.php
#	resources/lang/sv-SE/admin/settings/general.php
#	resources/lang/sv-SE/auth/message.php
#	resources/lang/sv-SE/button.php
#	resources/lang/sv-SE/mail.php
#	resources/lang/sv-SE/validation.php
#	resources/lang/ta/validation.php
#	resources/lang/th/validation.php
#	resources/lang/tl/validation.php
#	resources/lang/tr/mail.php
#	resources/lang/tr/validation.php
#	resources/lang/uk/admin/accessories/table.php
#	resources/lang/uk/admin/asset_maintenances/message.php
#	resources/lang/uk/admin/asset_maintenances/table.php
#	resources/lang/uk/validation.php
#	resources/lang/ur-PK/validation.php
#	resources/lang/vi/admin/settings/general.php
#	resources/lang/vi/validation.php
#	resources/lang/zh-CN/admin/settings/general.php
#	resources/lang/zh-CN/validation.php
#	resources/lang/zh-HK/validation.php
#	resources/lang/zh-TW/validation.php
#	resources/lang/zu/validation.php
#	resources/views/partials/bootstrap-table.blade.php
#	resources/views/partials/forms/edit/company-select.blade.php
#	routes/api.php
2021-09-21 23:46:50 -07:00
snipe 3821c4d372 Merge remote-tracking branch 'origin/develop' 2021-09-21 21:53:40 -07:00
snipe 104d66b4b1 Merge pull request #10115 from snipe/features/added_footer_to_depreciation_report_totals
Added totals to depreciation report footer
2021-09-21 21:53:17 -07:00
snipe b4a90045e6 Added totals to depreciation report footer
Signed-off-by: snipe <snipe@snipe.net>
2021-09-21 21:52:18 -07:00
snipe 3b9b63a7a8 Merge remote-tracking branch 'origin/develop' 2021-09-21 21:29:11 -07:00
snipe 9b78b25372 Grr. 100 should be 1000
Signed-off-by: snipe <snipe@snipe.net>
2021-09-21 21:28:59 -07:00
snipe 0411f63591 Merge remote-tracking branch 'origin/develop' 2021-09-21 21:25:39 -07:00
snipe 7df4f98e19 Bump number per page up to 1000
Use this shit at your own peril. Very large pages will load slowly, as these are very complex queries.

Signed-off-by: snipe <snipe@snipe.net>
2021-09-21 21:25:22 -07:00
snipe 86a4f2d3ec Merge remote-tracking branch 'origin/develop' 2021-09-21 20:54:37 -07:00
snipe 0763c76a4e Fixed scoping with leftjoin
Signed-off-by: snipe <snipe@snipe.net>
2021-09-21 20:54:24 -07:00
snipe 3af7c66de7 Merge remote-tracking branch 'origin/develop' 2021-09-21 20:11:08 -07:00
snipe 0be4b21721 Merge pull request #10114 from snipe/fixes/sorting_in_non_assets
Fixes sorting on non-asset relations in API
2021-09-21 20:09:43 -07:00
snipe b7f0e76e4c Merge branch 'develop-v6-integration' of https://github.com/snipe/snipe-it into develop-v6-integration 2021-09-21 20:07:07 -07:00
snipe 6d3c8a9189 Add @Delta5 as a contributor 2021-09-21 20:06:45 -07:00
snipe df1b1bc972 Merge pull request #10111 from Delta5/add-restore-user-api-endpoint
Added restore functionality to user API
2021-09-21 20:05:52 -07:00
snipe 5d32c17a2e Removed comments
Signed-off-by: snipe <snipe@snipe.net>
2021-09-21 20:01:36 -07:00
snipe 10ca7cffc3 Fixes for query scoping, ordering, and nicer readability
Signed-off-by: snipe <snipe@snipe.net>
2021-09-21 19:59:23 -07:00
Godfrey M 160017c720 more deadspace 2021-09-21 19:28:39 -07:00
Godfrey M 941cba73b9 removed deadspace and unnecessary css changes 2021-09-21 19:27:17 -07:00
Godfrey M 4a0c8de82a adds jquery eventlistner to monitor chart.js width and refresh accordingly 2021-09-21 19:13:09 -07:00
snipe 05faffbd28 Merge remote-tracking branch 'origin/develop' 2021-09-21 17:50:35 -07:00
snipe dacdf788bc Reverted erroneous german text in UK language files 2021-09-21 17:50:13 -07:00
snipe d54057e495 Merge remote-tracking branch 'origin/develop' 2021-09-21 15:55:04 -07:00
snipe a22c35140b Merge pull request #10112 from snipe/fixes/strtolower_for_category_type
Improved category_type with strtolower() to make it case insensitive
2021-09-21 15:54:35 -07:00
snipe 61176335d7 Improved category_type with strtolower() to make it case insensitive
Signed-off-by: snipe <snipe@snipe.net>
2021-09-21 15:51:41 -07:00
Delta5 c8c3c7fbbd Fixed issue with incorrect error message 2021-09-21 19:45:18 +00:00
Delta5 615f7e3c69 Fix author name and remove additional line spacing 2021-09-21 19:18:19 +00:00
Delta5 59302e1d19 Add restore to users api endpoint 2021-09-21 17:42:26 +00:00
Delta5 20f7fe1ecc Add restore to users api endpoint 2021-09-21 17:36:11 +00:00
snipe 11c8b1259e Merge remote-tracking branch 'origin/develop' 2021-09-20 18:49:17 -07:00
snipe 9b52c61d95 Updated banner with better warning
Signed-off-by: snipe <snipe@snipe.net>
2021-09-20 18:49:04 -07:00
snipe 2dfb965885 Merge pull request #10104 from snipe/fixes/revamp_pave_command_to_persist_api_keys
Fixes pave command to persist api keys and first few test users
2021-09-20 18:48:11 -07:00
snipe 36464bc17d Fix confirmation, because apparently you can't pass that along via cli vs interactively
Signed-off-by: snipe <snipe@snipe.net>
2021-09-20 18:22:06 -07:00
snipe f35208d58d Clean up, find custom fields and drop those columns
Signed-off-by: snipe <snipe@snipe.net>
2021-09-20 18:03:13 -07:00
snipe 4d30edd535 Let's make sure to keep some of the stuff we need on the demo as well
Signed-off-by: snipe <snipe@snipe.net>
2021-09-20 17:29:32 -07:00
snipe 957f33c8cf First stab at a better pave command
Signed-off-by: snipe <snipe@snipe.net>
2021-09-20 17:19:41 -07:00
snipe d24822e342 Retroactively fix any existing settings for that table
Signed-off-by: snipe <snipe@snipe.net>
2021-09-20 15:47:29 -07:00
snipe c59c7337a5 Forgot the ->change() method
Signed-off-by: snipe <snipe@snipe.net>
2021-09-20 15:42:25 -07:00
snipe b331bb33d9 Code fixes and a new migration
Signed-off-by: snipe <snipe@snipe.net>
2021-09-20 15:37:24 -07:00
snipe 7c8c567eaf Merge remote-tracking branch 'origin/develop' 2021-09-20 15:12:53 -07:00
snipe 6772ace94e Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2021-09-20 15:10:54 -07:00
snipe ee28f3e853 Merge branch 'snyk-fix-bb1a61f0d07295579c411381da690d4c' of https://github.com/snipe/snipe-it into develop 2021-09-20 15:10:31 -07:00
snipe 81f1f4ce6f Add @vapier as a contributor 2021-09-20 15:07:37 -07:00
snipe 3b79038879 Merge pull request #10082 from vapier/develop
add rewrite rule for Let's Encrypt certificates
2021-09-20 14:57:14 -07:00
snipe 7e611fa699 Merge remote-tracking branch 'origin/develop' 2021-09-15 13:55:12 -07:00
snipe e8ad5dc273 Merge pull request #10086 from snipe/fixes_depreciation_report
Fixed extraneous asset search in depreciation report
2021-09-15 13:54:32 -07:00
snipe 8a93e1e796 Remove asset call on depreciation report controller method
We ajax this in now, so no need for it

Signed-off-by: snipe <snipe@snipe.net>
2021-09-15 13:49:53 -07:00
snipe 3d7000f759 Merge remote-tracking branch 'origin/develop' 2021-09-15 11:33:30 -07:00
snipe d96f877aa4 Default show_in_nav to 0
Signed-off-by: snipe <snipe@snipe.net>
2021-09-15 11:33:13 -07:00
Mike Frysinger 7b665ade0a add rewrite rule for Let's Encrypt certificates
The LE tools need access to a stable path to automatically obtain
certificates, so add a rewrite rule to allow it.
2021-09-14 16:21:31 -04:00
snipe 02705d0d1a Fixed S3 upload path
Signed-off-by: snipe <snipe@snipe.net>
2021-09-14 12:49:17 -07:00
snipe 772a06c87a Merge remote-tracking branch 'origin/develop' 2021-09-13 17:13:20 -07:00
snipe 0d633ce618 Fixed issue where created_at date was not showing on uploads
Signed-off-by: snipe <snipe@snipe.net>
2021-09-13 17:13:01 -07:00
snipe cedf77b5ed Merge remote-tracking branch 'origin/develop' 2021-09-13 15:47:25 -07:00
snipe c6b26965a0 Check for valid category name
Signed-off-by: snipe <snipe@snipe.net>
2021-09-13 15:47:13 -07:00
snipe 4b303adda7 Merge pull request #10080 from uberbrady/upgrade_docker_php74
Upgrade Docker to PHP 7.4
2021-09-13 15:30:32 -07:00
Brady Wetherington 37fe4e91b1 Upgrade Docker to PHP 7.4 2021-09-13 15:24:30 -07:00
snipe 179f26ca2e Merge pull request #10079 from inietov/fixes/archived_assets_showing_in_locations
Awesome, thanks!
2021-09-13 14:46:44 -07:00
Ivan Nieto Vivanco 1ae665b645 Use the property 'archived' so if the 'name' one changes it doesn't fails 2021-09-13 16:45:05 -05:00
Ivan Nieto Vivanco 1b433920f1 Delete an extra semicolon 2021-09-13 16:24:12 -05:00
Ivan Nieto Vivanco 2b64af0d34 Add a condition in the view 'print all assigned' from locations where it skips the assets in relation of if they're archived and that option is marked in the settings 2021-09-13 16:17:34 -05:00
snipe 7f31befe5d Merge remote-tracking branch 'origin/develop' 2021-09-10 20:46:15 -07:00
snipe a5409215fc Merge pull request #10070 from snipe/fixes/update_status_label_color_via_api
Fixed #9969 - added color, show_in_nav, and default_label to status l…
2021-09-10 20:45:47 -07:00
snipe 80175cffdc Fixed #9969 - added color, show_in_nav, and default_label to status labels API
Signed-off-by: snipe <snipe@snipe.net>
2021-09-10 20:44:49 -07:00
snipe f8f969919e Merge remote-tracking branch 'origin/develop' 2021-09-10 20:26:37 -07:00
snipe fb68c49c44 Merge pull request #10069 from snipe/fixes/add_use_default_eula_to_category_endpoint
Fixed #9973 - add use_default_eula to category endpoint
2021-09-10 20:25:56 -07:00
snipe 514f9aa64a Fixed #9973 - add use_default_eula to categories API endpoint
Signed-off-by: snipe <snipe@snipe.net>
2021-09-10 20:23:49 -07:00
snipe 0d633688a4 Merge pull request #10063 from jasonspriggs/develop
This looks good to me, thanks! I'm not as familiar with Heroku these days (it's been years and years since I've used it), but it seems okay?
2021-09-10 18:22:12 -07:00
Jason Spriggs 949454c6d4 Minor modifications to documentation for app.json 2021-09-09 16:55:26 -04:00
Jason Spriggs d100a5de72 Add Papertrail logging addon 2021-09-08 21:11:46 -04:00
Jason Spriggs acefb3d1b9 Add descriptions for some env vars 2021-09-08 20:51:43 -04:00
snipe 38a544ea42 Updated version branch to master
Signed-off-by: snipe <snipe@snipe.net>
2021-09-08 13:50:52 -07:00
snipe a4e307c4db Updated languages
Signed-off-by: snipe <snipe@snipe.net>
2021-09-08 13:49:33 -07:00
snipe 116bc4ece4 Bumped version
Signed-off-by: snipe <snipe@snipe.net>
2021-09-08 13:42:48 -07:00
snipe 14a8baecaa Merge pull request #10059 from inietov/fixes/CSV_imports_checkout_to_location
Convert value of column 'checkout type' in CSV file to lowercase
2021-09-08 13:31:49 -07:00
Ivan Nieto Vivanco f1b8b7d11d Convert whatever value we get in column 'checkout type' to all lowercase 2021-09-08 12:49:29 -05:00
snipe c6b3fc219c Merge pull request #10023 from snipe/snyk-fix-deed9a63fc3bf8e6472c4aabe8c95f02
[Snyk] Security upgrade alpine from 3.13 to 3
2021-09-07 19:56:10 -07:00
snipe cfaa6679af Merge pull request #10031 from inietov/fixes/checkout_date_not_saved_in_asset_history
Fixed #10026: Checkout date not saved in asset history
2021-09-07 17:37:30 -07:00
snipe bb5a04491d Merge pull request #10053 from inietov/fixes/accepted_assets_still_showing_unaccepted_report
Fix Accepted Assets still showing on Unaccepted Asset Report
2021-09-07 12:15:17 -07:00
snipe f9c0eee7c9 Merge pull request #10048 from inietov/fixes/blank_results_for_non_superadmins
Fix to PR #10009.  The asset search now works as intended for normal users
2021-09-07 12:14:29 -07:00
Ivan Nieto Vivanco 27ff0be9a8 Delete checkout acceptances when an asset is checked in without response 2021-09-07 12:01:32 -05:00
Ivan Nieto Vivanco b5525e6a21 Deleted additional bindings present also in the User model 2021-09-07 00:57:12 -05:00
Ivan Nieto Vivanco c3eb7a3425 Remove aditional bindings that 'overflows' the generated queries 2021-09-07 00:15:21 -05:00
Jason Spriggs 48374f0854 Add PUBLIC_FILESYSTEM_DISK 2021-09-05 12:21:46 -04:00
Jason Spriggs bae3c9ce93 Add Deploy to Heroku button to README 2021-09-05 10:34:48 -04:00
Jason Spriggs b51392e4a5 Add base heroku changes 2021-09-05 10:33:13 -04:00
snipe 6bd18ebefa Merge pull request #10043 from benwa/master
Use the new Issues form
2021-09-02 16:15:45 -07:00
Bennett Blodinger 034eb5fb07 no markdown? 2021-09-02 17:48:38 -05:00
Bennett Blodinger 563edddfc5 add a feature request 2021-09-02 17:47:32 -05:00
Bennett Blodinger 391d4f839a formatting 2021-09-02 17:43:24 -05:00
Bennett Blodinger 51a359496a unique IDs 2021-09-02 17:37:47 -05:00
Bennett Blodinger 43b7c844b0 multiline 2021-09-02 17:32:31 -05:00
Bennett Blodinger a1674f8d58 Create config.yml 2021-09-02 17:29:36 -05:00
Bennett Blodinger a8a6950b7e Delete Feature_request.md 2021-09-02 17:28:01 -05:00
Bennett Blodinger 4598fcf666 Delete Bug_report.md 2021-09-02 17:27:46 -05:00
Bennett Blodinger 37eac18c69 Create bug_report.yml
Using the (currently in beta) https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema
2021-09-02 17:27:27 -05:00
Bennett Blodinger ca3296b65a Update issue templates 2021-09-02 16:58:18 -05:00
snipe a79f49ade3 Merge pull request #10034 from snipe/features/ajaxify_depreciation
Fixed [ch15359] ajaxify the depreciation report
2021-09-01 18:26:10 -07:00
snipe a26c227dcb Merge pull request #10018 from jjasghar/patch-1
Fixed typo: Update README.md
2021-09-01 17:50:15 -07:00
snipe 94310e18b1 Presenters and Transformers for Depreciation report
Signed-off-by: snipe <snipe@snipe.net>
2021-09-01 17:33:59 -07:00
snipe 2f25eb598b Allow the Assets API controller to handle depreciation reports
Signed-off-by: snipe <snipe@snipe.net>
2021-09-01 17:33:39 -07:00
snipe 387018c44e Updated depreciation report blade to use server-side API
Signed-off-by: snipe <snipe@snipe.net>
2021-09-01 17:05:31 -07:00
snipe 67357e07f1 Added API route for depreciations report
RED FLAG: This will need to be updated for v6!!!!

Signed-off-by: snipe <snipe@snipe.net>
2021-09-01 17:05:00 -07:00
Ivan Nieto Vivanco e621eaf456 Change date showed in the activity report view, the condition is now on action_date 2021-09-01 13:58:17 -05:00
Ivan Nieto Vivanco ea1d7a42e2 Add condition to check if action_date have value and if it have assign it to created_at parameter 2021-09-01 13:08:08 -05:00
snipe d5a7955e1d Fixed #10024 - use string for dashboard in side nav instead of hard coded
Signed-off-by: snipe <snipe@snipe.net>
2021-08-31 22:25:00 -07:00
snyk-bot e33ab269ae fix: Dockerfile.alpine to reduce vulnerabilities
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-ALPINE313-APKTOOLS-1533754
- https://snyk.io/vuln/SNYK-ALPINE313-OPENSSL-1569446
- https://snyk.io/vuln/SNYK-ALPINE313-OPENSSL-1569446
- https://snyk.io/vuln/SNYK-ALPINE313-OPENSSL-1569448
- https://snyk.io/vuln/SNYK-ALPINE313-OPENSSL-1569448
2021-09-01 01:06:18 +00:00
snipe 4293674f4a Added a few more fields to the users API
Signed-off-by: snipe <snipe@snipe.net>
2021-08-31 12:36:06 -07:00
snipe aeae681326 Fixecd copypasta from state to zip
Signed-off-by: snipe <snipe@snipe.net>
2021-08-31 12:28:20 -07:00
snipe 4794f93224 Added additional fields for user search
Signed-off-by: snipe <snipe@snipe.net>
2021-08-31 12:24:53 -07:00
snipe f58ed6bd1f Merge pull request #9982 from Shankschn/master
Fixes: When using API CheckIn assets, there will be two CheckIn records in the Activity Report log for each asset.
2021-08-31 11:08:52 -07:00
snipe 96c0dba92b Merge pull request #10011 from inietov/fixes/quotations_turn_into_html_entity
Fixes Quotations turn into HTML entity
2021-08-31 11:00:38 -07:00
JJ Asghar 07a2ef2234 Update README.md
Typo.
2021-08-31 11:11:19 -05:00
Ivan Nieto Vivanco d917ae51b7 Remove e() function from other input fields 2021-08-31 04:01:20 -05:00
Ivan Nieto Vivanco e7470b5545 Remove e() function from the saved notes when updating an asset maintenance 2021-08-31 03:50:57 -05:00
snipe 7e2def7896 Merge pull request #9880 from inietov/bug/fd18463/cannot_edit_departments
Fixes: Can't update departments if Full Company Support is activated
2021-08-30 19:40:59 -07:00
snipe a02534b6c8 Merge pull request #10009 from inietov/fixes/blank_results_for_non_superadmins
Fixes #9985. Error 500 when using the asset search - blank results for non super-admins
2021-08-30 13:29:18 -07:00
snipe 5c92ddb2c6 Fixed version back to develop from master downmerge
Signed-off-by: snipe <snipe@snipe.net>
2021-08-30 12:57:06 -07:00
snipe 6d3a82aacf Merge pull request #10008 from uberbrady/fix_unlink_error_ldap
Fixed rb445 and rb446 - the unlink calls for the client-side certs...
2021-08-30 12:47:38 -07:00
Brady Wetherington da0b375773 Fixed rb445 and rb446 - the unlink calls for the client-side certs
need to be wrapped around a file-existence check
2021-08-30 12:29:16 -07:00
Ivan Nieto Vivanco d1304cc975 Add sentence to infer the table's name according to the query passed 2021-08-30 13:44:26 -05:00
snipe 085be16966 Merge remote-tracking branch 'origin/develop' 2021-08-25 14:45:41 -07:00
snipe 127a3e41bd Merge pull request #9993 from inietov/fixes/exception_when_checkin_licenses_from_assets
Fixes Exception when Checkin Licenses from Assets
2021-08-25 14:45:14 -07:00
Ivan Nieto Vivanco 4a79c77630 Add a condition to checkin licenses assigned to Assets 2021-08-25 16:38:34 -05:00
snipe e21b21fbde Merge pull request #9990 from inietov/fixes/cannot_upload_files_to_assets
Fixed #9440 Change condition to return the actual max upload size allowed to files
2021-08-25 13:39:23 -07:00
Ivan Nieto Vivanco 137f55e4ce Change condition to return the actual max upload size allowed to files 2021-08-25 15:27:25 -05:00
snipe 4abb9baa95 Merge remote-tracking branch 'origin/develop' 2021-08-24 15:29:41 -07:00
snipe 36ddc7dea7 Merge pull request #9980 from inietov/fixes/display_custom_field_not_holding_value
Fixes:  Display custom field not holding value
2021-08-24 15:12:15 -07:00
snipe 9f3b63387a Merge pull request #9987 from Godmartinz/bug/ch17111/donked-layout-on-required-field-error-in
Bug/ch17111/donked layout on required field error in
2021-08-24 15:11:22 -07:00
snipe 80b411c94b Merge pull request #9986 from uberbrady/fix_client_side_ldap_cert_settings
Make the LDAP Client-side certificate fields Nullable
2021-08-24 15:10:49 -07:00
Godfrey M a407fe9312 removed more dead space 2021-08-24 15:07:56 -07:00
Godfrey M 53ddf5ae04 removed dead space 2021-08-24 15:07:18 -07:00
Godfrey M a197b730a1 fixed a layout issue with the month field in depreciations [ch17111] 2021-08-24 15:02:42 -07:00
Brady Wetherington ae65e2a0a0 Adding explicit default(null), and removing the nullable() attribute on the down() migration 2021-08-24 14:15:55 -07:00
Brady Wetherington 2d578a9864 Make the LDAP Client-side certificate fields Nullable 2021-08-24 12:52:03 -07:00
Shanks 961e80404a Update AssetsController.php
Fix:When using API CheckIn assets, there will be two CheckIn records in the Activity Report log for each asset.
2021-08-24 16:39:58 +08:00
Ivan Nieto Vivanco 830ba470dd Change the used function to only affect single and double quotes 2021-08-23 22:10:59 -05:00
Ivan Nieto Vivanco 80fb24e861 Fix issue caused for single and double quotes when used as listbox's values 2021-08-23 22:00:01 -05:00
snipe 70f6753f50 Merge pull request #9979 from uberbrady/add_client_side_ldap_certs
Add client side ldap certs
2021-08-23 16:30:46 -07:00
snipe 9285697611 Merge remote-tracking branch 'origin/develop' 2021-08-20 17:30:52 -07:00
snipe 9687bcb41c Fixed issue where consumables model number was not searchable
Signed-off-by: snipe <snipe@snipe.net>
2021-08-20 17:30:35 -07:00
snipe 4ec4e0f44e Merge remote-tracking branch 'origin/develop' 2021-08-19 12:09:48 -07:00
snipe ff8faab3be Merge pull request #9960 from uberbrady/fix_null_sum_totals
Fix regression for NULL valued numbers in the summary calculation
2021-08-19 12:08:33 -07:00
Brady Wetherington e28db2d221 Fix regression for NULL valued numbers in the summary calculation 2021-08-19 12:01:47 -07:00
snipe 193a52876e Fix incorrect resource route name
Signed-off-by: snipe <snipe@snipe.net>
2021-08-18 15:01:10 -07:00
snipe 24af2ab67a Merge remote-tracking branch 'origin/develop' 2021-08-18 14:31:53 -07:00
snipe 7b447a2f16 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2021-08-18 14:31:38 -07:00
snipe f5112b47cd Merge pull request #9953 from uberbrady/fix_bootstrap_sum_formatter
Fixed ch17133 - Fixed sum total calculation on Bootstrap Table pages -
2021-08-18 14:31:10 -07:00
Brady Wetherington 4519f6e180 Fixed sum total calculation on Bootstrap Table pages 2021-08-18 14:13:31 -07:00
snipe 6f7718dd0e Merge pull request #9950 from inietov/fixes/ch945/status_colors_are_not_displaying_correctly
Looks great, thanks!
2021-08-18 14:09:26 -07:00
Ivan Nieto Vivanco f04e23cacb Add a small refactor so we not repeat logic 2021-08-18 15:22:53 -05:00
Brady Wetherington 1b66f7f719 Add new client-side LDAP SSL certs to .gitignore 2021-08-18 13:22:36 -07:00
Ivan Nieto Vivanco 4207858a14 Fix the count in StatuslabelsController@getAssetsCountByStatuslabel() function that allows it to pass the correct index
Also edit the default color for assets with the Pending label, so it match the color in the docs
2021-08-18 14:08:35 -05:00
snipe b88fde5dae Nicer comment formatting
Signed-off-by: snipe <snipe@snipe.net>
2021-08-18 12:07:09 -07:00
snipe 04fa5f2022 Merge remote-tracking branch 'origin/develop' 2021-08-18 01:05:25 -07:00
snipe 923d2a79ae Fixed weird layout on bulk audit [ch17146]
Signed-off-by: snipe <snipe@snipe.net>
2021-08-18 01:05:09 -07:00
snipe c970464690 Updated production assets
Signed-off-by: snipe <snipe@snipe.net>
2021-08-18 00:48:05 -07:00
snipe f99602c039 Merge remote-tracking branch 'origin/develop'
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	config/version.php
#	public/css/build/app.css
#	public/css/build/overrides.css
#	public/css/dist/all.css
#	public/js/build/app.js
#	public/js/dist/all.js
#	public/mix-manifest.json
2021-08-18 00:47:33 -07:00
snipe 0aa328f908 Updated hash
Signed-off-by: snipe <snipe@snipe.net>
2021-08-18 00:45:35 -07:00
snipe f8562e5835 Recompiled assets
Signed-off-by: snipe <snipe@snipe.net>
2021-08-18 00:45:02 -07:00
snipe 8a6c7269d3 Fixed border radius for bulk checkout field [ch16936]
Signed-off-by: snipe <snipe@snipe.net>
2021-08-18 00:44:55 -07:00
snipe 37f2c7beac Nicer bulk asset select width
Signed-off-by: snipe <snipe@snipe.net>
2021-08-18 00:44:16 -07:00
snipe b5bb74b8ca Merge remote-tracking branch 'origin/develop' 2021-08-17 22:01:23 -07:00
snipe b5e69d6678 Merge pull request #9947 from snipe/fixes/apply_v6_currency_formatter
Fixed #9909  and #9714 - applies v6 currency formatter to v5 [ch16628]
2021-08-17 22:00:39 -07:00
snipe cce808c784 Fixed #9909 and #9714 - applies v6 currency formatter to v5 [ch16628]
Duplicates d4e46ee41f but on v5

Signed-off-by: snipe <snipe@snipe.net>
2021-08-17 21:59:33 -07:00
snipe d3844811b5 Updated composer lock
Signed-off-by: snipe <snipe@snipe.net>
2021-08-17 20:28:26 -07:00
snipe 211e0c6bd4 Dropped down to PHP 7.3 compat packages
Signed-off-by: snipe <snipe@snipe.net>
2021-08-17 20:21:43 -07:00
Brady Wetherington 4d4badf830 Got the client-side LDAP setup working well enough for sync! 2021-08-17 14:43:36 -07:00
snipe 4c13ddd0c5 Merge pull request #9937 from Godmartinz/depreciation_min_feature
adds a Floor value for depreciation models
2021-08-16 18:29:48 -07:00
Godfrey M 9480709ea3 changed value to current value 2021-08-16 18:22:24 -07:00
Godfrey M cef0e424e1 adds a Floor value for depreciation models 2021-08-16 18:14:10 -07:00
snipe d70e4e04c0 Merge pull request #9933 from JemCdo/patch-1
Fixed #9934: Typo on creating Depreciation
2021-08-16 07:44:56 -07:00
James Emanuel 98285001ac Fixing Typo on creating Depreciation 2021-08-16 15:33:17 +03:00
snipe 29c584289f Merge remote-tracking branch 'origin/develop' 2021-08-14 14:09:31 -07:00
snipe dc79ca94a2 Merge pull request #9931 from snipe/features/add_asset_restore_to_api
Features/add asset restore to api
2021-08-14 14:08:36 -07:00
snipe ef687fdc7b Fixed typo
Signed-off-by: snipe <snipe@snipe.net>
2021-08-14 14:07:04 -07:00
snipe 45caa8a90d Added restore functionalty to asset API
Signed-off-by: snipe <snipe@snipe.net>
2021-08-14 14:06:15 -07:00
snipe 29008545bc Merge pull request #9924 from snipe/chore/ch16531/update-demo-photos-of-iphones-to-be-more
Update demo photos of iPhones to be more [ch16531]
2021-08-11 13:16:09 -07:00
Godfrey M 4c2257b67d Update demo photos of iPhones to be more [ch16531] 2021-08-11 13:13:12 -07:00
snipe b1e2f86871 Merge pull request #9919 from ItsGageHolland/patch-1
Update README.md
2021-08-11 12:39:17 -07:00
Godfrey M 01037cf9cb initial commit: adds migration, input area and transformer modifications for depreciation minimum value [ch15358] 2021-08-10 18:26:43 -07:00
Gage K. Holland 63a5c70e8e Update README.md 2021-08-10 09:16:51 +01:00
snyk-bot 3fedcc6766 fix: upgrade bootstrap-table from 1.18.2 to 1.18.3
Snyk has created this PR to upgrade bootstrap-table from 1.18.2 to 1.18.3.

See this package in npm:
https://www.npmjs.com/package/bootstrap-table

See this project in Snyk:
https://app.snyk.io/org/snipe/project/3d53e1dd-b8bf-46b5-ba61-18ce26933166?utm_source=github&utm_medium=upgrade-pr
2021-08-07 21:41:02 +00:00
snyk-bot 892ae9cf91 fix: upgrade tableexport.jquery.plugin from 1.10.21 to 1.10.26
Snyk has created this PR to upgrade tableexport.jquery.plugin from 1.10.21 to 1.10.26.

See this package in npm:
https://www.npmjs.com/package/tableexport.jquery.plugin

See this project in Snyk:
https://app.snyk.io/org/snipe/project/3d53e1dd-b8bf-46b5-ba61-18ce26933166?utm_source=github&utm_medium=upgrade-pr
2021-08-07 21:40:51 +00:00
snyk-bot 9ae6591aa3 fix: Dockerfile.alpine to reduce vulnerabilities
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-ALPINE313-APKTOOLS-1533754
2021-08-07 21:38:53 +00:00
Tobias Regnery eced1ab77f Fix advanced search with serial and another field
The advanced search in /hardware produces incorrect results if the serial is combined with another field like category.
There is a typo as the fieldname 'product_key' doesn't exist. Change this to 'serial'.

Also change the last If-Statement from ->orWhere() to ->where(). Now additional fields like custom fields can be combined with other searches in an And-Clause.
I think this function could be simplified further, but this is the minimal bugfix.
2021-08-05 15:07:28 +02:00
Computroniks 8121d904e7 Licence cost calculation
Licences use diffrent key to track quantity. sumFormatterQuantity has
been modified to detect which key to use.

Signed-off-by: Computroniks <mnickson@sidingsmedia.com>
2021-08-04 22:33:39 +01:00
Computroniks f994af16da Added function to calculate cost based on quantity
sumFormatterQuantity takes the same input as sumFormatter but instead
of calculating the specified columns total it calculates the total
purchase cost of an item based upon its quantity. Also updated affected
pressenters to use this formatter.

Signed-off-by: Computroniks <mnickson@sidingsmedia.com>
2021-08-04 22:09:50 +01:00
NMC 4cfc4aec1d fix false search in api. 2021-08-01 15:10:22 -04:00
NMC 976957ddd4 Add Maintained filed in licenses view and api. + Expires in API 2021-08-01 14:30:16 -04:00
snipe cdc4940338 Merge pull request #9881 from inietov/fixes/integrity_constraint_violation__emailing_password_reset
Fixes Integrity constraint violation when emailing password reset.
2021-07-30 16:01:53 -07:00
Ivan Nieto Vivanco 27cdfbc579 Edit the log message 2021-07-29 16:14:52 -05:00
Ivan Nieto Vivanco 405545cd88 Add exception handling in the ForgotPasswordController 2021-07-29 16:02:45 -05:00
Ivan Nieto Vivanco 1b8156ac7f Add a hidden field to handle departments inside Full Company Support config 2021-07-29 13:28:57 -05:00
Tobias Regnery 1a908e361e Make locations deletable for non Superuser-Accounts with FullMultipleCompanySupport
locations->isDeletable() checks via gate::allows if a locations is deletable.
This calls SnipePermissionsPolicy->before() and checks for !Company::isCurrentUserHasAccess($item).
This returns false because locations don't have a company_id.

Check for this and return true if the item don't have a company_id.
2021-07-29 10:43:01 +02:00
Jethro Nederhof d8fdd1b408 Fix branding logo URL path
The current method adds an additional slash to the URL which results in the logo request producing a 404 error on for Storage drivers like S3 and GCS that don't automatically collapse additional forward slashes into single slashes.

E.g. with the current code my logo URL renders like `https://storage.googleapis.com/mybucketname/public//setting-logo-Al0aKMhmYz.svg` (note the double slash after "public") when instead it should render like `https://storage.googleapis.com/mybucketname/public/setting-logo-Al0aKMhmYz.svg`

For a local driver this should work fine since webservers handle the additional slashes case, but for key-based storage this 404s.

Thanks for your work on Snipe-It, seems like a good system so far!
2021-07-28 14:55:34 +10:00
snipe 593e1234a5 Merge pull request #9797 from markbrule/fixes/search_parameter_checkedout_api
Fixed #9671: wrap OR queries in sub-condition in checkedout search
2021-07-27 14:39:10 -07:00
snipe 9a5d9eafeb Merge pull request #9709 from morning-bird/master
add CompanyableTrait
2021-07-27 14:38:21 -07:00
snipe 071325f368 Merge pull request #9824 from PetriAsi/feature/api-image-uploads-v6
Added #9594:  Feature/api image uploads for v6
2021-07-27 14:35:16 -07:00
snipe eca15bd49b Merge pull request #9837 from Godmartinz/chore/ch16531/update-demo-photos-of-iphones-to-be-more
Update demo photos of iPhones to be more [ch16531]
2021-07-27 14:34:52 -07:00
snipe 476ab2888c Merge pull request #9852 from Godmartinz/develop-v6-integration
adds newer versions of devices for demo
2021-07-27 14:34:15 -07:00
snipe 5f077cc33a Merge pull request #9858 from dampfklon/fix-dockerfile-v6
Add new php extension dependencies for v6
2021-07-27 14:32:23 -07:00
snipe d2fc98b685 Merge pull request #9861 from inietov/fixes/consumables_accessories_not_correctly_displayed_via_locations
Fixes #9853 Consumables/Accessories not correctly displayed via Locations
2021-07-26 14:49:05 -07:00
Ivan Nieto Vivanco 38a2a0c1ee Add the pertinent filters in Accessories and Consumables controllers 2021-07-26 12:59:15 -05:00
Dampfklon 20df7be2f4 add new php extensions dependencies for v6 2021-07-24 23:15:17 +02:00
snipe 75d4a46fff Merge pull request #9856 from inietov/bug/ch15413/model_number_is_not_on_accessory_import_dropdown
Fixes: Model Number is not on the Accessory import dropdown of mappable fields [ch15413]
2021-07-24 01:05:26 -07:00
Ivan Nieto Vivanco 0f1c48cb6f Add the field model_number to Accessory importer 2021-07-24 02:38:44 -05:00
Godfrey M 013e168883 adds newer versions of devices for demo 2021-07-21 15:12:27 -07:00
Ivan Nieto Vivanco 35ffe8b902 Adds a check to know if the asset is checked out to the logged in user to allow check the state int the view 2021-07-20 18:56:22 -05:00
Godfrey M 9fb911146f Update demo photos of iPhones to be more [ch16531] 2021-07-19 12:26:04 -07:00
snipe 615bdd0499 Bumped hash
Signed-off-by: snipe <snipe@snipe.net>
2021-07-15 13:29:07 -07:00
snipe 33e92c975a Merge remote-tracking branch 'origin/develop'
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	public/css/dist/skins/skin-blue-dark.css
#	public/css/dist/skins/skin-blue-dark.min.css
#	public/css/dist/skins/skin-green-dark.css
#	public/css/dist/skins/skin-green-dark.min.css
#	public/css/dist/skins/skin-orange-dark.css
#	public/css/dist/skins/skin-orange-dark.min.css
#	public/css/dist/skins/skin-purple-dark.css
#	public/css/dist/skins/skin-purple-dark.min.css
#	public/css/dist/skins/skin-yellow-dark.css
#	public/css/dist/skins/skin-yellow-dark.min.css
#	public/js/build/app.js
#	public/js/dist/all.js
#	public/mix-manifest.json
2021-07-15 13:29:00 -07:00
snipe 5f842d02ef Fixed namespace
Signed-off-by: snipe <snipe@snipe.net>
2021-07-15 13:24:40 -07:00
Petri Asikainen f753404197 missed this when rebasing 2021-07-15 12:26:14 +03:00
Petri Asikainen 5d999d2572 legacy image_source support for store 2021-07-15 12:26:14 +03:00
Petri Asikainen d50294e8e2 Just mention source of idea as code rewriten 2021-07-15 12:26:14 +03:00
Petri Asikainen 2fc3ff671e hand legacy image_source field 2021-07-15 12:26:14 +03:00
Petri Asikainen 89cc84f1d9 convert image_source field
This reverts commit b2d3ba7410.
2021-07-15 12:26:14 +03:00
Petri Asikainen f24138da44 Revert "Handle image_source with ConvertBase64ToFiles"
This reverts commit 168d7f7004.
2021-07-15 12:26:14 +03:00
Petri Asikainen a76b36cad9 Handle image_source with ConvertBase64ToFiles 2021-07-15 12:26:14 +03:00
Petri Asikainen 1936fc2ea9 Better debug comment 2021-07-15 12:26:14 +03:00
Petri Asikainen 23f77b2894 Fixed case again 2021-07-15 12:26:14 +03:00
Petri Asikainen 15dd7061ed removed unused Bag-functions 2021-07-15 12:26:14 +03:00
Petri Asikainen 5f81488679 fix debug placement 2021-07-15 12:26:14 +03:00
Petri Asikainen c894e8ceb3 handle files via standard field 2021-07-15 12:26:14 +03:00
Petri Asikainen bbe964c6b2 debug trait 2021-07-15 12:26:14 +03:00
Petri Asikainen 2325b1d8c2 Try without trait 2021-07-15 12:26:14 +03:00
Petri Asikainen 948a741935 case case again.. 2021-07-15 12:26:14 +03:00
Petri Asikainen d7d3681d71 trait base64 encoded files 2021-07-15 12:26:13 +03:00
Petri Asikainen e6d432423d trait base64 encoded files 2021-07-15 12:26:13 +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 4191dd39ea Support images and multipart requests 2021-07-15 12:26:13 +03:00
Petri Asikainen 2f3501bdc2 Support images and multipart requests 2021-07-15 12:26:13 +03:00
Petri Asikainen f1b8ce0a1b Support images and multipart requests 2021-07-15 12:26:13 +03:00
Petri Asikainen 6a21660c14 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
Petri Asikainen 0e7af80806 Support images and multipart requests 2021-07-15 12:26:13 +03:00
Petri Asikainen e95b15d553 Support images and multipart requests 2021-07-15 12:26:13 +03:00
Petri Asikainen bb269e0e5f Support images and multipart requests 2021-07-15 12:26:13 +03:00
Petri Asikainen 60f13c8d79 Support images and multipart requests 2021-07-15 12:26:13 +03:00
Petri Asikainen 5081ca3512 Support images and multipart requests 2021-07-15 12:26:13 +03:00
Petri Asikainen b4380c8012 Support images and multipart requests 2021-07-15 12:26:13 +03:00
Petri Asikainen f6766c5f23 Support images and multipart requests 2021-07-15 12:26:07 +03:00
Petri Asikainen 8bbbb06c5e testing image upload via api 2021-07-15 12:24:25 +03:00
snipe f5ba47fcdd Merge pull request #9829 from Godmartinz/bug/ch16602/make-non-linked-striped-text-the-same-for
Make non linked striped text the same for [ch16602]
2021-07-14 14:54:18 -07:00
Godfrey M 44612e5eb7 Make non linked striped text the same for [ch16602] 2021-07-14 14:50:45 -07:00
snipe 6b7d5ed5a4 Merge remote-tracking branch 'origin/develop' 2021-07-14 11:35:47 -07:00
snipe 5e76d50f2d Merge pull request #9825 from PetriAsi/feature/api-image-uploads
Fixed #9767 : Feature/api image uploads legacy image_source property  support
2021-07-14 10:24:40 -07:00
Petri Asikainen febf1ec20f Support legacy image_source property 2021-07-14 13:09:50 +03:00
Petri Asikainen fa8b0964ed Merge branch 'develop' of github.com:snipe/snipe-it into feature/api-image-uploads 2021-07-14 13:06:39 +03:00
snipe a0798a68d9 Merge pull request #9767 from PetriAsi/feature/api-image-uploads
Added #9594 : Feature api image uploads and remove
2021-07-13 09:36:35 -07:00
Petri Asikainen 7b12668af4 Merge branch 'develop' of github.com:snipe/snipe-it into feature/api-image-uploads 2021-07-13 17:23:44 +03:00
Oskar Stenberg 5b5874499d Added import for min_amt for consumables 2021-07-12 11:46:19 +02:00
snipe 4cfdaf89d8 Merge remote-tracking branch 'origin/develop' 2021-07-08 17:47:08 -07:00
snipe b307d2858c Merge pull request #9809 from uberbrady/fix_saml_custom_settings
The custom settings section of SAML sometimes has bad linefeeds
2021-07-08 17:16:37 -07:00
Brady Wetherington 0ec2884c29 The custom settings section of SAML sometimes has bad linefeeds 2021-07-08 17:00:01 -07:00
snipe f264cade7d Merge remote-tracking branch 'origin/develop' 2021-07-08 16:05:32 -07:00
snipe 8ea3acc943 Fixed route ordering (FIFO)
Signed-off-by: snipe <snipe@snipe.net>
2021-07-08 16:05:07 -07:00
snipe f785c3e759 Default to 1 if no qty is passed
Signed-off-by: snipe <snipe@snipe.net>
2021-07-08 16:04:52 -07:00
snipe 06806341c7 Nicer tab names for permissions
Signed-off-by: snipe <snipe@snipe.net>
2021-07-08 15:57:41 -07:00
snipe 0a2a8932d4 Merge pull request #9808 from inietov/bug/ch15453/selected_maintenance_history_columns_not_remembered
Fixes [ch15453] Maintenance/History columns not remembered.
2021-07-08 12:15:53 -07:00
Ivan Nieto Vivanco d2e94dfc1c Added cookie option to assets Bootstrap Table to save the state of the table. 2021-07-08 14:05:40 -05:00
Petri Asikainen 4379ea61fa Just mention source of idea as code rewriten 2021-07-08 19:50:33 +03:00
Petri Asikainen 41deabf998 hand legacy image_source field 2021-07-07 09:33:48 +03:00
Petri Asikainen 7a424649c8 convert image_source field
This reverts commit b2d3ba7410.
2021-07-07 09:24:24 +03:00
Petri Asikainen b2d3ba7410 Revert "Handle image_source with ConvertBase64ToFiles"
This reverts commit 168d7f7004.
2021-07-07 09:20:38 +03:00
Petri Asikainen 168d7f7004 Handle image_source with ConvertBase64ToFiles 2021-07-07 09:08:37 +03:00
snipe 60b8320b4b Updated production assets
Signed-off-by: snipe <snipe@snipe.net>
2021-07-06 15:15:28 -07:00
snipe 721b749ae1 Merge remote-tracking branch 'origin/develop' 2021-07-06 15:13:39 -07:00
snipe 11d9b1ba45 Updated assets
Signed-off-by: snipe <snipe@snipe.net>
2021-07-06 15:09:03 -07:00
snipe 2f10d946ec Merge branch 'bug/ch16594/table-striping-on-dark-mode-skins-is-too' of https://github.com/Godmartinz/snipe-it into develop
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	public/css/dist/skins/skin-black-dark.css
#	public/css/dist/skins/skin-black-dark.min.css
#	public/css/dist/skins/skin-blue-dark.css
#	public/css/dist/skins/skin-blue-dark.min.css
#	public/css/dist/skins/skin-green-dark.css
#	public/css/dist/skins/skin-green-dark.min.css
#	public/css/dist/skins/skin-orange-dark.css
#	public/css/dist/skins/skin-orange-dark.min.css
#	public/css/dist/skins/skin-purple-dark.css
#	public/css/dist/skins/skin-purple-dark.min.css
#	public/css/dist/skins/skin-red-dark.css
#	public/css/dist/skins/skin-red-dark.min.css
#	public/mix-manifest.json
2021-07-06 15:08:20 -07:00
snipe 6e0355fa34 Merge pull request #9778 from inietov/fixes/users_departments_not_being_imported
Fixes #9730. Remove an else statement that doesn't allow to continue the importer flow.
2021-07-06 14:59:42 -07:00
Ivan Nieto Vivanco 131a285e2f Fixes Vue issue with the import process. 2021-07-06 15:59:45 -05:00
Mark Brule f706c87cbc wrap OR queries in sub-condition 2021-07-06 20:43:17 +00: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 f53cabee24 Better debug comment 2021-07-06 07:26:16 +03:00
Petri Asikainen e275c9ee90 Fixed case again 2021-07-06 07:10:03 +03:00
Petri Asikainen 3d8acd1bd8 removed unused Bag-functions 2021-07-06 07:00:12 +03:00
Petri Asikainen 2169c62700 Merge branch 'feature/api-image-uploads-json' into feature/api-image-uploads 2021-07-06 06:55:54 +03:00
Petri Asikainen c21b291484 keep using request 2021-07-06 06:51:07 +03:00
Petri Asikainen c1bc2486ad keep using request 2021-07-06 06:49:19 +03:00
Petri Asikainen e3166c2209 fix debug placement 2021-07-06 06:41:37 +03:00
Petri Asikainen 7a5b5c291d merged from develop 2021-07-06 06:38:32 +03:00
Petri Asikainen d66ef233bf handle files via standard field 2021-07-06 06:25:37 +03:00
Petri Asikainen 013df747d7 debug trait 2021-07-05 09:59:19 +03:00
Petri Asikainen 02fb7ac03e Try without trait 2021-07-04 13:39:46 +03:00
Petri Asikainen d48a9d549d Try without trait 2021-07-04 13:37:05 +03:00
Petri Asikainen f59f3dbde4 case case again.. 2021-07-02 10:43:15 +03:00
Petri Asikainen f4fa6836cb trait base64 encoded files 2021-07-02 10:29:26 +03:00
Petri Asikainen e846e6ac76 trait base64 encoded files 2021-07-02 10:18:18 +03:00
Petri Asikainen e15159b9c3 trait base64 encoded files 2021-07-02 10:17:29 +03:00
Ivan Nieto Vivanco 5545457536 Remove an else statement that doesn't allow to continue the importer flow. 2021-07-01 14:26:03 -05:00
snipe 19994e2097 Merge pull request #9774 from uberbrady/snipeit_restore_php73
Better debugging output, and remove non-PHP-7.3-compatible option
2021-06-30 15:22:48 -07:00
Brady Wetherington 102591b009 Better debugging output, and remove non-PHP-7.3-compatible option 2021-06-30 14:53:08 -07:00
Petri Asikainen 347e742e88 merged current upstream/develop 2021-06-30 12:02:05 +03:00
snipe b46e2b5990 Merge remote-tracking branch 'origin/develop' 2021-06-30 01:03:05 -07:00
snipe 868419b35b Components checkin/checkout via API
Signed-off-by: snipe <snipe@snipe.net>
2021-06-30 01:02:44 -07:00
snipe df7e0e5630 Fixed company resource route
Signed-off-by: snipe <snipe@snipe.net>
2021-06-29 23:46:25 -07:00
snipe 533c3f1651 Fixed incorrect resource route
Signed-off-by: snipe <snipe@snipe.net>
2021-06-29 20:58:04 -07:00
Petri Asikainen 6048acc95d fixed capitalization 2021-06-30 06:36:12 +03:00
snipe a12ae19e32 Try deferring the load so it doesn’t query the server server 7 times for login
This doesn’t work?

Signed-off-by: snipe <snipe@snipe.net>
2021-06-29 10:50:32 -07:00
snipe 50a644a2c0 Did I seriously spell my own goddamned name wrong in the docblock??
Signed-off-by: snipe <snipe@snipe.net>
2021-06-29 10:28:00 -07:00
snipe 3332bbe072 Removed unused properties on login
This may be dumb anyway - we probably don’t need to make so many round trips to the server just to see if things are required or not… But I’d really like to standardize the validation across the system

Signed-off-by: snipe <snipe@snipe.net>
2021-06-29 10:27:44 -07:00
snipe c517ec849d Small refactor for login Livewire
Signed-off-by: snipe <snipe@snipe.net>
2021-06-29 10:05:23 -07:00
snipe ca41e2b7f3 Fixed typo in ansible playbook
Signed-off-by: snipe <snipe@snipe.net>
2021-06-29 07:59:12 -07:00
snipe 86b3f8349a Merge pull request #9768 from svpernova09/vagrant-ansible-fix
Fix APP_ENV/APP_DEBUG typo overwriting the APP_ENV in Vagrant Playbook
2021-06-29 07:57:14 -07:00
snipe 8780fa0a26 Use correct auth failure message
Signed-off-by: snipe <snipe@snipe.net>
2021-06-29 07:46:39 -07:00
snipe d5881523d9 Removed unused translations
Signed-off-by: snipe <snipe@snipe.net>
2021-06-29 07:46:27 -07:00
Joe Ferguson fbf5c705db Fix APP_ENV/APP_DEBUG typo overwriting the APP_ENV in Vagrant Playbook 2021-06-29 08:12:01 -05:00
Petri Asikainen b0aa26e6cb Support images and multipart requests 2021-06-29 14:25:20 +03:00
Petri Asikainen b49733832c Support images and multipart requests 2021-06-29 12:29:17 +03:00
Petri Asikainen 8c0be3aa87 Support images and multipart requests 2021-06-29 12:29:07 +03:00
Petri Asikainen a936744e2e Support images and multipart requests 2021-06-29 12:28:52 +03:00
Petri Asikainen f9da83bc46 Support images and multipart requests 2021-06-29 12:28:42 +03:00
Petri Asikainen fc8498972e Support images and multipart requests 2021-06-29 12:28:32 +03:00
Petri Asikainen 4ba75291e4 Support images and multipart requests 2021-06-29 12:27:18 +03:00
Petri Asikainen a7b1e31776 Support images and multipart requests 2021-06-29 12:27:08 +03:00
Petri Asikainen 604a0b6df1 Support images and multipart requests 2021-06-29 12:26:59 +03:00
Petri Asikainen 4ed9788a0e Support images and multipart requests 2021-06-29 12:26:45 +03:00
Petri Asikainen e8a4059db9 Support images and multipart requests 2021-06-29 12:26:24 +03:00
Petri Asikainen aa402bf896 Support images and multipart requests 2021-06-29 12:26:15 +03:00
Petri Asikainen 8d4219759e Support images and multipart requests 2021-06-29 12:25:47 +03:00
snipe 704eb728bc Added livewire the login screen
Signed-off-by: snipe <snipe@snipe.net>
2021-06-29 02:16:57 -07:00
snipe 576e605f73 Make livewire less assy looking
Signed-off-by: snipe <snipe@snipe.net>
2021-06-28 22:40:18 -07:00
snipe ebb0aa5532 Merge pull request #9766 from uberbrady/livewire_integration_v6
Livewire integration for Snipe-IT v6
2021-06-28 21:51:00 -07:00
Brady Wetherington f3427ee670 Tweak to composer packages to get it to composer install correctly 2021-06-28 21:08:05 -07:00
Brady Wetherington a6ac4f94f1 Breaking out field-listing into its own Livewire blade for use elsewhere 2021-06-28 21:00:20 -07:00
Brady Wetherington ea1f1eb972 Get some basic Livewire going for 'edit model's default values. 2021-06-28 21:00:20 -07:00
Brady Wetherington 8e66abb926 Basic Laravel7 compatibility, starting getting Livewire going 2021-06-28 21:00:16 -07:00
Godfrey M aba912001d Table striping on dark mode skins is too [ch16594] 2021-06-28 20:41:56 -07:00
snipe dc125af029 Fixed locations link on homepage module
Signed-off-by: snipe <snipe@snipe.net>
2021-06-28 19:56:41 -07:00
snipe 2365634139 Added dashboard module for locations [ch9199]
Signed-off-by: snipe <snipe@snipe.net>
2021-06-28 19:46:56 -07:00
snipe 15b82997ca Merge pull request #9764 from uberbrady/develop
Regenerate assets after repairing Vue integration
2021-06-28 16:58:05 -07:00
Brady Wetherington dce1dd41c8 Regenerate assets after repairing Vue integration 2021-06-28 16:38:05 -07:00
snipe 4af247f845 Added additional boxes to the dashboard
Signed-off-by: snipe <snipe@snipe.net>
2021-06-28 16:36:15 -07:00
snipe d4e46ee41f Added comma in US currency format [ch16628]
Signed-off-by: snipe <snipe@snipe.net>
2021-06-28 16:14:32 -07:00
snipe 68c751fe63 Break out name into first name and last name [ch1382]
Signed-off-by: snipe <snipe@snipe.net>
2021-06-28 15:55:33 -07:00
snipe f504d7ef5f Merge remote-tracking branch 'origin/develop' 2021-06-28 13:12:10 -07:00
snipe a016f4ecd0 Applies PR #9761 to integration
Signed-off-by: snipe <snipe@snipe.net>
2021-06-28 13:11:22 -07:00
snipe 9ba7e7a0f3 Merge pull request #9761 from snipe/features/9745_add_notes_to_statuslabels
Added #9745 - adds searchable, sortable notes to statuslabels index
2021-06-28 13:09:24 -07:00
snipe 30297e479e Hide notes field by default
Signed-off-by: snipe <snipe@snipe.net>
2021-06-28 13:08:32 -07:00
snipe 19413a63da Make notes field searchable on status labels
Signed-off-by: snipe <snipe@snipe.net>
2021-06-28 11:53:17 -07:00
snipe a4fd0c9c6d Fixed #9745 - added searchable, sortable notes field to status labels
Signed-off-by: snipe <snipe@snipe.net>
2021-06-28 11:52:57 -07:00
snipe 5b5b70e639 Merge remote-tracking branch 'origin/develop'
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	config/version.php
#	public/js/build/app.js
#	public/js/dist/all.js
#	public/mix-manifest.json
2021-06-28 11:01:45 -07:00
snipe 6521f16b80 Bumped version
Signed-off-by: snipe <snipe@snipe.net>
2021-06-28 11:00:34 -07:00
snipe 9b2cb19f22 Fixed #9743 - Vue screens not loading
Signed-off-by: snipe <snipe@snipe.net>
2021-06-28 10:59:34 -07:00
Petri Asikainen e0c5205e9b save images 2021-06-28 08:11:33 +03:00
Petri Asikainen 695bf1e15f save images 2021-06-28 07:58:08 +03:00
Petri Asikainen 0e2efb6573 Merge branch 'develop' of github.com:snipe/snipe-it into feature/api-image-uploads 2021-06-27 14:38:55 +03:00
snipe 7af4c3a15f Fixed incorrect maintenances route
Signed-off-by: snipe <snipe@snipe.net>
2021-06-23 21:06:19 -07:00
snipe d20c425a56 Un-donked assets
Signed-off-by: snipe <snipe@snipe.net>
2021-06-23 20:10:06 -07:00
snipe 3ca3de9e4f Merge remote-tracking branch 'origin/develop' 2021-06-23 20:05:38 -07:00
snipe 174d53aff9 Fixed #9729 - order number maxlength updated to 200
Signed-off-by: snipe <snipe@snipe.net>
2021-06-23 20:05:22 -07:00
snipe 1ea843248b Fixed #9729 - bulk edit order number capped at 20
Signed-off-by: snipe <snipe@snipe.net>
2021-06-23 20:04:45 -07:00
snipe bdc285cebf Merge branch 'develop-v6-integration' of https://github.com/snipe/snipe-it into develop-v6-integration 2021-06-23 20:02:49 -07:00
snipe 71a53b3cbb Merge pull request #9741 from uberbrady/develop-v6-integration
Removed Ziggy.baseUrl references for meta references that already had baseUrl
2021-06-23 20:02:32 -07:00
Brady Wetherington 8268aca9fc Removed Ziggy.baseUrl references for meta references that had baseUrl 2021-06-23 19:57:45 -07:00
snipe 2e6bac7db5 Bumped version
Signed-off-by: snipe <snipe@snipe.net>
2021-06-23 18:36:43 -07:00
snipe d037ec5b9c Dev assets
Signed-off-by: snipe <snipe@snipe.net>
2021-06-23 18:08:50 -07:00
snipe 2218155700 Remove phantomJS
Signed-off-by: snipe <snipe@snipe.net>
2021-06-23 18:04:00 -07:00
snipe 32a6fa5f0c Pushed less changes into integration branch
Signed-off-by: snipe <snipe@snipe.net>
2021-06-23 18:00:33 -07:00
snipe 22152f0a8c Updated assets
Signed-off-by: snipe <snipe@snipe.net>
2021-06-23 17:55:38 -07:00
snipe b5a75206fe Merge remote-tracking branch 'origin/develop' 2021-06-23 17:19:48 -07:00
snipe 3f39cff225 Merge pull request #9738 from Godmartinz/bug/ch16594/table-striping-on-dark-mode-skins-is-too
corrected a link color in the dark mode yellow skin
2021-06-23 16:39:02 -07:00
Godfrey M a37edd5c5b darkened back-sub-alt more 2021-06-23 16:34:41 -07:00
snipe 6f3e156be6 Merge remote-tracking branch 'origin/develop' 2021-06-23 16:34:34 -07:00
snipe 7d1c2199ed Attempted to re-bound to lowest php version possible
Signed-off-by: snipe <snipe@snipe.net>
2021-06-23 16:29:43 -07:00
Godfrey M f199098a59 undid the color change for links, darkened the back-sub-alt 2021-06-23 16:29:21 -07:00
snipe 335f4e50a5 Merge remote-tracking branch 'origin/develop'
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	config/version.php
2021-06-23 16:07:01 -07:00
snipe 1808986bf5 Bumped version
Signed-off-by: snipe <snipe@snipe.net>
2021-06-23 16:06:30 -07:00
snipe bc0c887812 Merge remote-tracking branch 'origin/develop' 2021-06-23 16:05:19 -07:00
snipe d8191f738c Updated flysystem to 1.1.4 for critical security update
Signed-off-by: snipe <snipe@snipe.net>
2021-06-23 16:04:42 -07:00
snipe 7b51bf4f51 Merge remote-tracking branch 'origin/develop' 2021-06-23 14:41:27 -07:00
snipe 450183c55c Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2021-06-23 14:41:10 -07:00
snipe e44a25126d Merge pull request #9676 from inietov/fixes/asset_checkin_api_doesnt_send_notification
Fixes #9666 Asset checkin via api doesn't send notification.
2021-06-23 14:35:07 -07:00
snipe c801305c9b Merge pull request #9681 from tulsaschoolsdata/9680-fix-statuslabels-asset-count
Fixed #9680: Use Eloquent’s `withCount` method to count Statuslabel assets
2021-06-23 14:34:34 -07:00
snipe 4db5a8f62b Merge pull request #9695 from Joly0/master
Update print.blade.php
2021-06-23 14:33:25 -07:00
snipe 7b4cc5044b Add @derdeagle as a contributor 2021-06-23 14:31:48 -07:00
snipe 1c1ebdf44d Merge pull request #9706 from derdeagle/develop
Fixes #9705: Prevent syntax error in startup.sh
2021-06-23 14:31:32 -07:00
snipe c684e5f481 Add @PetriAsi as a contributor 2021-06-23 14:31:16 -07:00
snipe 7b5a6a0085 Merge remote-tracking branch 'origin/develop'
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	resources/views/partials/forms/edit/company-select.blade.php
2021-06-23 14:30:31 -07:00
snipe 1bc4d1b997 Merge pull request #9717 from PetriAsi/fix/accessories-bulk-set-min-amt
Added #9716: Allow to bulk update accessories min_amt
2021-06-23 14:28:59 -07:00
snipe b3ec4bb31b Porting PR #9720 to v6 integration
Signed-off-by: snipe <snipe@snipe.net>
2021-06-23 14:28:06 -07:00
snipe 6e7ef585e4 Merge branch 'develop-v6-integration' of https://github.com/snipe/snipe-it into develop-v6-integration 2021-06-23 14:27:26 -07:00
snipe ac52ea3463 Porting PR #9720 to develop
Signed-off-by: snipe <snipe@snipe.net>
2021-06-23 14:27:15 -07:00
snipe a521ef706f Merge pull request #9720 from bmkalle/patch-1
Update company-select.blade.php
2021-06-23 14:26:29 -07:00
Godfrey M 154adeb9b2 corrected a link color in the dark mode yellow skin 2021-06-23 14:06:36 -07:00
snipe 58d674cca8 Merge pull request #9737 from uberbrady/develop-v6-integration
Develop v6 integration
2021-06-23 11:25:40 -07:00
Petri Asikainen 491a788cd0 testing image upload via api 2021-06-23 11:22:41 +03:00
snipe a67ce965ec Update version.php 2021-06-22 20:13:03 -07:00
Brady Wetherington 17aab61987 Some fixes to some typos in other routes, commeting out parameters parameter which seems crashy 2021-06-22 18:58:25 -07:00
Brady Wetherington 9456a03a88 Almost finished with the routes which is...hopefully? The last thing? 2021-06-22 16:58:23 -07:00
snipe 3e102bf57b Be more specific in accessory query
Signed-off-by: snipe <snipe@snipe.net>
2021-06-19 16:49:13 -07:00
snipe cdcb153b1e Merge remote-tracking branch 'origin/develop' 2021-06-19 16:20:35 -07:00
snipe 0153c6ae96 Do not try to add the notes column if it already exists on accessories_users
Signed-off-by: snipe <snipe@snipe.net>
2021-06-19 16:20:22 -07:00
snipe dc157f8f78 Add components and users count to dashboard
Signed-off-by: snipe <snipe@snipe.net>
2021-06-19 16:16:18 -07:00
bmkalle a330dca7d4 Update company-select.blade.php
select should be disabled if full multiple companies is activated and the user isn't a superuser. otherwise the user get the ability to choose all companies.
2021-06-17 10:51:00 +02:00
Petri Asikainen ae2c77f97f Allow to bulk update min_amt 2021-06-17 00:36:04 +03:00
GMS ICT 2 ea7f18d0e6 add CompanyableTrait 2021-06-15 15:32:44 +07:00
Joly0 9a429952ff update print.blade.php 2021-06-15 08:52:01 +02:00
Johannes Münch 8f4b88a877 Fixes #9705 Prevent syntax error in startup.sh
If SESSION_DRIVER is not defined it leads to a syntax error.
2021-06-12 20:21:43 +02:00
snipe 60538508d4 Added missing route
Signed-off-by: snipe <snipe@snipe.net>
2021-06-12 01:51:53 -07:00
snipe 17fb56d3b9 More updated routes
Signed-off-by: snipe <snipe@snipe.net>
2021-06-12 01:35:29 -07:00
snipe 346d879344 Updated routes
Signed-off-by: snipe <snipe@snipe.net>
2021-06-12 01:05:20 -07:00
snipe 14ac7a2181 Updated API routes
Signed-off-by: snipe <snipe@snipe.net>
2021-06-12 00:42:34 -07:00
snipe aebb30cea8 Fixed Cors wildcard
Signed-off-by: snipe <snipe@snipe.net>
2021-06-12 00:23:51 -07:00
snipe c407b52bbf Updated Cors
Signed-off-by: snipe <snipe@snipe.net>
2021-06-12 00:23:30 -07:00
snipe b5ddc637b8 Merge branch 'develop-v6-integration' of https://github.com/snipe/snipe-it into develop-v6-integration 2021-06-11 22:20:02 -07:00
snipe 7f74b65834 Merge pull request #9704 from uberbrady/develop-v6-integration
Get it so that we can re-build assets.
2021-06-11 22:19:51 -07:00
snipe 226b208f7c Reset handler to stock for now
Signed-off-by: snipe <snipe@snipe.net>
2021-06-11 22:19:10 -07:00
Brady Wetherington 5b42481d8f Get it so that we can re-build assets. 2021-06-11 21:54:29 -07:00
snipe c08f70b03c Restore exeption handler functionality
Signed-off-by: snipe <snipe@snipe.net>
2021-06-11 21:51:28 -07:00
snipe 9e0e952576 Updated composer
Signed-off-by: snipe <snipe@snipe.net>
2021-06-11 20:12:39 -07:00
snipe 1b70b533aa Merge branch 'develop-v6-integration' of https://github.com/snipe/snipe-it into develop-v6-integration 2021-06-11 19:41:57 -07:00
snipe b30bbe1740 Fixed more factories
Signed-off-by: snipe <snipe@snipe.net>
2021-06-11 19:41:20 -07:00
snipe b3e9c51584 Merge pull request #9703 from uberbrady/develop-v6-integration
Remove barryvdh's laravel-cors for fruitcake's laravel-cors
2021-06-11 19:25:11 -07:00
Brady Wetherington 0118ff8a78 Remove barryvdh's laravel-cors for fruitcake's laravel-cors 2021-06-11 19:12:43 -07:00
snipe b7f45d2ae2 Re-emable auth routes
Signed-off-by: snipe <snipe@snipe.net>
2021-06-11 19:02:25 -07:00
snipe fa786e615e Moved HasFactory
Signed-off-by: snipe <snipe@snipe.net>
2021-06-11 19:02:19 -07:00
snipe 2ed2007888 Merge pull request #9702 from uberbrady/develop-v6-integration
Finished fixing the web routes file
2021-06-11 17:15:35 -07:00
Brady Wetherington 42316f3ba7 Finished fixing the web routes file and put a gigantic warning in the api routes file 2021-06-11 17:12:06 -07:00
snipe ebfb3ed5b7 Merge pull request #9699 from uberbrady/develop-v6-integration
Basic fixes to at least get the dashboard up
2021-06-11 15:56:59 -07:00
Brady Wetherington fc5c0a0e95 Basic fixes to at least get the dashboard up 2021-06-11 15:23:44 -07:00
snipe 3095a78664 Small tweaks to Dashboard controller
Still gettiing a bizarre `Non-static method App\Http\Controllers\DashboardController::index() should not be called statically` error

Signed-off-by: snipe <snipe@snipe.net>
2021-06-11 14:43:47 -07:00
snipe 2cddd7faf0 Fixed filesystem config
Signed-off-by: snipe <snipe@snipe.net>
2021-06-11 14:26:10 -07:00
snipe a5f144b4e0 Merge branch 'shift-46327' into develop-v6-integration
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	config/version.php
2021-06-11 14:10:10 -07:00
snipe a8123092af Misc fixes for shift
// TODO - re-fix the exception handler

Signed-off-by: snipe <snipe@snipe.net>
2021-06-11 14:07:50 -07:00
Joly0 72f27ccc5b Update print.blade.php 2021-06-11 11:05:39 +02:00
snipe 8cd78b2790 Merge remote-tracking branch 'origin/develop'
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	config/version.php
2021-06-10 17:44:17 -07:00
snipe aae6a8fc6c Bumped version
Signed-off-by: snipe <snipe@snipe.net>
2021-06-10 17:42:29 -07:00
snipe ace7abc1ad Merge remote-tracking branch 'origin/develop' 2021-06-10 15:18:24 -07:00
snipe c567ad0617 Add @travismiller as a contributor 2021-06-10 15:18:02 -07:00
snipe 4c007ae085 Merge remote-tracking branch 'origin/develop' 2021-06-10 15:17:19 -07:00
Laravel Shift b62d1f49e4 Shift cleanup 2021-06-10 20:19:27 +00:00
Laravel Shift 9838c0c2ef Upgrade to Laravel Mix 6 2021-06-10 20:18:15 +00:00
Laravel Shift 8b82262777 Shift return type of base TestCase methods
From the [PHPUnit 8 release notes][1], the `TestCase` methods below now declare a `void` return type:

- `setUpBeforeClass()`
- `setUp()`
- `assertPreConditions()`
- `assertPostConditions()`
- `tearDown()`
- `tearDownAfterClass()`
- `onNotSuccessfulTest()`

[1]: https://phpunit.de/announcements/phpunit-8.html
2021-06-10 20:18:12 +00:00
Laravel Shift 30607ac268 Shift Laravel dependencies 2021-06-10 20:18:11 +00:00
Laravel Shift 7e93086dd4 Default config files
In an effort to make upgrading the constantly changing config files
easier, Shift defaulted them and merged your true customizations -
where ENV variables may not be used.
2021-06-10 20:18:10 +00:00
Laravel Shift cc3c59bf97 Shift config files 2021-06-10 20:18:10 +00:00
Laravel Shift c367fa7e40 Shift PSR-4 autoloading 2021-06-10 20:18:01 +00:00
Laravel Shift c90b1c6a43 Namespace seeders 2021-06-10 20:18:00 +00:00
Laravel Shift 104b441e0d Shift to class based factories 2021-06-10 20:17:44 +00:00
Laravel Shift c02a95e73f Ignore temporary framework files 2021-06-10 20:17:22 +00:00
Laravel Shift 3c40c6fe25 Shift console routes 2021-06-10 20:17:20 +00:00
Laravel Shift 9f43ce97e9 Convert deprecated $dates property to $casts 2021-06-10 20:17:18 +00:00
Laravel Shift bdf23e472e Shift to class based routes 2021-06-10 20:17:14 +00:00
Laravel Shift ddc8b8648b Shift service providers 2021-06-10 20:17:07 +00:00
Laravel Shift 4ed3d6afb8 Shift HTTP kernel and middleware 2021-06-10 20:17:04 +00:00
Laravel Shift ec0dc681ba Shift core files 2021-06-10 20:16:59 +00:00
Laravel Shift 802dc9240d Shift bindings
PHP 5.5.9+ adds the new static `class` property which provides the fully qualified class name. This is preferred over using class name strings as these references are checked by the parser.
2021-06-10 20:16:56 +00: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 54cb6c050a Merge pull request #9679 from tulsaschoolsdata/serial-number-indexes
Fixed #8486: Add index for asset serial number
2021-06-09 17:36:06 -07:00
snipe 851e5ca96e Merge pull request #9683 from tulsaschoolsdata/9682-company-id-indexes
Thanks!
2021-06-09 17:35:37 -07:00
Travis Miller 103c4325ce Fixed #9682: Add indexes for company_id 2021-06-09 14:29:00 -05:00
Travis Miller ebe7c2da87 Fixed #8486: Add index for asset serial number 2021-06-09 14:12:35 -05:00
Travis Miller 4f6b1bb12d Fixed #9680: Use Eloquent’s withCount method to count Statuslabel assets 2021-06-09 11:52:04 -05:00
Ivan Nieto Vivanco bb227cafb2 Added event to trigger the notification. 2021-06-08 13:16:13 -05:00
snipe 6c1dd81e0a Merge pull request #9640 from inietov/fixes/errorexception_invalid_argument_supplied
Fixes an issue when tried to upload a file to an user without actually selecting a file. [ch16471]
2021-05-27 14:03:25 -07:00
Ivan Nieto Vivanco 9f944ad497 Added the 'required' attribute to the input file n the upload file form modal. Added a validation for the UserFilesController if the user doesn't select any file to upload [ch16471]. 2021-05-27 15:48:13 -05:00
snipe 01e3296ff3 Updated hash
Signed-off-by: snipe <snipe@snipe.net>
2021-05-26 15:58:24 -07:00
snipe 7d5a9180e6 Updated hash
Signed-off-by: snipe <snipe@snipe.net>
2021-05-26 15:57:56 -07:00
snipe 9f2b4c721d Allow password reset from user profile
Signed-off-by: snipe <snipe@snipe.net>
2021-05-26 15:32:23 -07:00
snipe 3d008079c9 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2021-05-26 14:32:33 -07:00
snipe b8d413a6b8 Merge pull request #9632 from inietov/fixes/api_allow_duplicate_asset_tags
Fixes an issue that allows duplicate asset tags when the Asset is created via API.
2021-05-26 13:34:59 -07:00
snipe 30a193502f Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2021-05-26 13:27:20 -07:00
snipe 11f1b29db9 Add @kcoyo as a contributor 2021-05-26 13:04:51 -07:00
snipe 200d0804ec Merge pull request #9630 from kcoyo/develop
Fixed #9607: Sessions expire for SAML/RemoteUser/LDAP
2021-05-26 13:04:13 -07:00
Ivan Nieto Vivanco d9f5f1182a Delete a couple lines that rewrites validation rules for asset tags in the model Asset.php:save() method. 2021-05-25 23:09:27 -05:00
snipe 3f09d17389 Fixed typo “synchronization”
Signed-off-by: snipe <snipe@snipe.net>
2021-05-25 18:45:06 -07:00
kcoyo 55555ee233 Merge pull request #1 from kcoyo/Fixed-#9607---Sessions-expire-for-SAML/RemoteUser/LDAP
Fixed #9607 - Sessions expire for SAML/RemoteUser/LDAP
2021-05-25 16:44:08 -07:00
kcoyo cee6f0d579 Update LoginController.php
Fixed #9607 - Sessions expire for SAML/RemoteUser/LDAP
2021-05-25 16:37:34 -07:00
snipe 5b4550a6a8 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2021-05-21 16:56:15 -07:00
snipe 1a7edb3411 Accept webp in uploads (not just image files)
Signed-off-by: snipe <snipe@snipe.net>
2021-05-21 16:56:11 -07:00
snipe 796c7c8431 Merge pull request #9619 from uberbrady/migrator_misses_logos
Several improvements to the snipeit:restore Artisan command
2021-05-21 16:02:55 -07:00
Brady Wetherington 94c1d36e08 The legacy 'logo.png' might not be a PNG, so switched to wildcard. 2021-05-21 15:55:37 -07:00
Brady Wetherington e71bba441e Several improvements to the snipeit:restore Artisan command
The output now focuses on files that were skipped. Wildcard support
was added for individual files. A progress bar fills as the files
are transferred from the ZIPball to the filesystem. A new command-line
switch can be used to disable the progress bar. Barcode restores are
now skipped (we'd probably prefer to regenerate them). A few missed
directories have been added in. Some logic to skip macOS resource-fork
files has been put in. Some bugs with array operations were fixed.
There's now a concept of 'valid' and 'invalid' files for wildcard
operations.
2021-05-21 15:23:23 -07:00
sh1hab f43413bdc3 Feature snipe#9378 update 2021-05-21 10:19:04 +06:00
sh1hab cd4b1d8acb Merge branch 'develop' of https://github.com/snipe/snipe-it into feature/remove_deleted_user_from_unaccepted_assets_report 2021-05-21 10:09:05 +06:00
Sabir Manandhar c3d75d3be3 feat[docker]: create session table migration if session driver is set to database (#9587) 2021-05-20 14:31:22 -07:00
snipe 9eea46adef Fixed parse error in user print view
Signed-off-by: snipe <snipe@snipe.net>
2021-05-20 13:53:43 -07:00
sabir-dzangolab 19766a0a72 Fix/startup-sh (#9586)
* fix: update docker/startup.sh broken after merging hotfixs/2fa_qr

* fix: Typo in Dockerfile.alpine
2021-05-17 15:39:05 -07:00
Marc Leuser 4030789786 fix LicenseSeatsController method documentation (#9584)
in an attempt to get the automatic API reference generation to work
2021-05-14 16:14:32 -07:00
Jonathon Reinhart fd082addff Fix incorrect case of ldap sync status string (#9563)
Fixes #9562
2021-05-12 19:15:39 -07:00
snipe d636566012 Merge remote-tracking branch 'origin/master' into develop 2021-05-12 17:45:06 -07:00
Brady Wetherington 6066005aeb [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
2021-05-12 17:44:39 -07:00
snipe 76897f3a3a Make label printing from asset page more consistent with normal UI
Signed-off-by: snipe <snipe@snipe.net>
2021-05-12 17:08:53 -07:00
snipe c1babdc9b0 Merge remote-tracking branch 'origin/develop' 2021-05-12 16:51:57 -07:00
snipe 1a95337db1 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2021-05-12 16:51:39 -07:00
Ivan Nieto Vivanco 6ed5dff1a5 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) 2021-05-12 16:41:49 -07:00
snipe 3f559c4a50 Add @tbrconnect as a contributor 2021-05-12 13:38:56 -07:00
tbrconnect a29ef73346 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 <tilmann@tbrglobal.com>
2021-05-12 13:38:26 -07:00
Thomas Misilo 18b1a155bf Change from ENV to config value for PUBLIC_AWS_URL
When running config:cache the env('PUBLIC_AWS'URL') value disappears and isn't available, so it doesn't get added to the CSP Policy.
2021-05-11 09:51:35 -05:00
snipe 015ca1fcdc Merge remote-tracking branch 'origin/develop' 2021-05-07 18:13:22 -07:00
snipe ded61614d1 Attempt to fix transient LDAP bug
Signed-off-by: snipe <snipe@snipe.net>
2021-05-07 18:13:04 -07:00
Brady Wetherington 62199f6255 Manually re-add support for Label Logos in Labels (#9552) 2021-05-07 17:01:32 -07:00
snipe 75b89b5a97 Merge remote-tracking branch 'origin/develop' 2021-05-07 16:42:41 -07:00
snipe a704614397 Bumped max for country on model
Signed-off-by: snipe <snipe@snipe.net>
2021-05-07 16:42:26 -07:00
snipe 2dcb50d28e Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2021-05-07 16:36:12 -07:00
snipe 9aac3ae628 Fixed HTML causing two backup headers to appear
Signed-off-by: snipe <snipe@snipe.net>
2021-05-07 16:36:07 -07:00
Tom Misilo 397e2df3ea 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
2021-05-07 13:50:36 -07:00
Tom Misilo 4e408cbc42 Fix CSP Always being Enabled unless in debug mode. (#9543) 2021-05-05 10:51:47 -07:00
snipe 570a31a1c4 Merge remote-tracking branch 'origin/develop' 2021-05-05 10:29:10 -07:00
snipe ece627b3a3 Small fixes for location printing when relationships are missing/invalid, per #9521
Signed-off-by: snipe <snipe@snipe.net>
2021-05-05 10:23:46 -07:00
snipe d8d3fa2293 Only show department if it’s valid
Signed-off-by: snipe <snipe@snipe.net>
2021-05-05 10:13:19 -07:00
sh1hab 6799ce9bfd merge develop with remove_deleted_user_from_unaccepted_assets_report 2021-05-05 16:19:14 +06:00
snipe ab694347b0 Added favicon to demo dir
Signed-off-by: snipe <snipe@snipe.net>
2021-05-05 01:18:49 -07:00
snipe aa98e4ea7a Bumped hash
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	config/version.php
2021-05-05 00:04:17 -07:00
snipe 6935d94184 Bumped hash
Signed-off-by: snipe <snipe@snipe.net>
2021-05-05 00:03:33 -07:00
snipe d9d5b4d730 Merge remote-tracking branch 'origin/develop'
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	.all-contributorsrc
#	README.md
2021-05-05 00:01:09 -07:00
Ivan Nieto Vivanco 36a43642d8 Changed the orderBy clause inside the custom reports function that forms the CSV to be 'id' so making it a unique value and don't causes repeated items. [ch14587] (#9535) 2021-05-04 23:50:02 -07:00
snipe ed98683496 Add @mikecmpbll as a contributor 2021-05-04 22:40:04 -07:00
snipe c2dc7ac182 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2021-05-04 22:39:24 -07:00
Dampfklon 37f7768e7a Fix Dockerfile.alpine build error and snipeit runtime permission error (#9520) 2021-05-04 22:29:24 -07:00
snipe c1a8b609ea Add @markbrule as a contributor 2021-05-04 22:27:35 -07:00
markbrule 6c1553167d issue #9422 - pivot ID was being used as a user_id (#9512) 2021-05-04 22:27:01 -07:00
snipe c572c98361 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2021-05-04 22:21:35 -07:00
snipe 6c0af3c6e1 Add @JohnnyPicnic as a contributor 2021-05-04 22:21:18 -07:00
snipe 715b1a0fb2 Fixed #9157 Update .env to API_TOKEN_EXPIRATION_YEARS=15 (reapplies #9524)
Signed-off-by: snipe <snipe@snipe.net>
2021-05-04 22:20:54 -07:00
Tom Misilo a6bbe1fec3 Delete file from assets folder, not just the ref. (#9525) 2021-05-04 22:18:22 -07:00
snipe 67ac3631df Production assets
Signed-off-by: snipe <snipe@snipe.net>
2021-05-04 22:05:26 -07:00
snipe 5760b76c4e Merge remote-tracking branch 'origin/develop'
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	public/css/dist/skins/skin-black-dark.css
#	public/css/dist/skins/skin-black-dark.min.css
#	public/css/dist/skins/skin-black.css
#	public/css/dist/skins/skin-black.min.css
#	public/css/dist/skins/skin-blue-dark.css
#	public/css/dist/skins/skin-blue-dark.min.css
#	public/css/dist/skins/skin-blue.css
#	public/css/dist/skins/skin-blue.min.css
#	public/css/dist/skins/skin-contrast.css
#	public/css/dist/skins/skin-contrast.min.css
#	public/css/dist/skins/skin-green-dark.css
#	public/css/dist/skins/skin-green-dark.min.css
#	public/css/dist/skins/skin-green.css
#	public/css/dist/skins/skin-green.min.css
#	public/css/dist/skins/skin-orange-dark.css
#	public/css/dist/skins/skin-orange-dark.min.css
#	public/css/dist/skins/skin-orange.css
#	public/css/dist/skins/skin-orange.min.css
#	public/css/dist/skins/skin-purple-dark.css
#	public/css/dist/skins/skin-purple-dark.min.css
#	public/css/dist/skins/skin-purple.css
#	public/css/dist/skins/skin-purple.min.css
#	public/css/dist/skins/skin-red-dark.css
#	public/css/dist/skins/skin-red-dark.min.css
#	public/css/dist/skins/skin-red.css
#	public/css/dist/skins/skin-red.min.css
#	public/css/dist/skins/skin-yellow-dark.css
#	public/css/dist/skins/skin-yellow-dark.min.css
#	public/css/dist/skins/skin-yellow.css
#	public/css/dist/skins/skin-yellow.min.css
#	public/mix-manifest.json
2021-05-04 22:03:56 -07:00
snipe 57b9b571dc Fixed #9531 - highlight search box when filled, add clear button (#9534) 2021-05-04 22:00:34 -07:00
snipe 62f091e769 Merge remote-tracking branch 'origin/develop' 2021-04-30 15:38:02 -07:00
snipe cee5eea121 Use 24-hour date format for audit
Signed-off-by: snipe <snipe@snipe.net>
2021-04-30 15:37:39 -07:00
snipe c6726015f7 Added missing use statement
Signed-off-by: snipe <snipe@snipe.net>
2021-04-30 14:52:08 -07:00
sh1hab 193a8d923b Feature #9378 update phpdoc comment 2021-04-29 16:32:37 +06:00
sh1hab 98a42afa78 Feature #9378 remove deleted user from unaccepted assets report 2021-04-29 15:34:05 +06:00
snipe 961268172b Merge remote-tracking branch 'origin/develop' 2021-04-26 18:12:10 -07:00
snipe b01baec7a8 Updated languages
Signed-off-by: snipe <snipe@snipe.net>
2021-04-26 18:11:48 -07:00
snipe a1bc984d17 Generate production assets, bumped version
Signed-off-by: snipe <snipe@snipe.net>
2021-04-26 17:34:02 -07:00
snipe 31944cd4d4 Bumped version
Signed-off-by: snipe <snipe@snipe.net>
2021-04-26 17:28:38 -07:00
snipe d5894a4d64 Generated dev assets
Signed-off-by: snipe <snipe@snipe.net>
2021-04-26 17:27:28 -07:00
snipe 32f043c5df Set the body skin style if one was overridden by the user profile
Signed-off-by: snipe <snipe@snipe.net>
2021-04-26 17:25:39 -07:00
snipe 23376c317e Use correct URL for css for subdirs
Signed-off-by: snipe <snipe@snipe.net>
2021-04-26 17:22:02 -07:00
snipe b3b02933a5 Removed duplicate code
Signed-off-by: snipe <snipe@snipe.net>
2021-04-26 17:21:48 -07:00
snipe 882732b2de WTF kind of gendered language was this mess?
Signed-off-by: snipe <snipe@snipe.net>
2021-04-26 17:18:17 -07:00
snipe b8c3564434 Removed min from personal CSS
Signed-off-by: snipe <snipe@snipe.net>
2021-04-26 14:05:18 -07:00
snipe 138ddfec1c Merge remote-tracking branch 'origin/develop' 2021-04-23 14:27:12 -07:00
snipe 315bcb6b38 Added use statement
Signed-off-by: snipe <snipe@snipe.net>
2021-04-23 14:26:57 -07:00
snipe 8016807268 Add @Nevets82 as a contributor 2021-04-23 12:09:34 -07:00
Steven 82f73eb9e2 Added user locale to REST API GET /api/users response; (#9486)
* Clearer reporting on import

Signed-off-by: snipe <snipe@snipe.net>

* Try adding  text/x-Algol68 to import

Signed-off-by: snipe <snipe@snipe.net>

* Added user locale to REST API GET /api/users response;

Co-authored-by: snipe <snipe@snipe.net>
2021-04-23 12:09:00 -07:00
snipe b865a8aeea Merge remote-tracking branch 'origin/develop' 2021-04-21 20:19:17 -07:00
snipe 1d43eda21f Features: improved UI for importer (#9467)
* Small UI improvements for importer

Signed-off-by: snipe <snipe@snipe.net>

* And UI backup improvements

Signed-off-by: snipe <snipe@snipe.net>
2021-04-21 20:16:17 -07:00
snipe ea0d0df1af Try adding text/x-Algol68 to import
Signed-off-by: snipe <snipe@snipe.net>
2021-04-21 13:48:51 -07:00
snipe 54ef469d98 Clearer reporting on import
Signed-off-by: snipe <snipe@snipe.net>
2021-04-21 13:27:23 -07:00
snipe cef689a679 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2021-04-21 12:29:06 -07:00
snipe 36c2edb278 Add @nepella as a contributor 2021-04-21 11:40:38 -07:00
Renee Margaret McConahy e6c3d7fe57 Restore LOG_CHANNEL environment variable. (#9464)
This allows selecting the Monolog channel with the LOG_CHANNEL variable.
2021-04-21 11:40:23 -07:00
snipe 3855b74161 Merge remote-tracking branch 'origin/develop' 2021-04-21 10:24:04 -07:00
snipe 90f79eaf83 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2021-04-21 10:23:46 -07:00
Brady Wetherington 72a813f23d This fixes the controller signature error people are getting with LDAP logins (#9466) 2021-04-21 10:23:32 -07:00
snipe d90abdf86f Snipe codeacy workflow (#9460)
* Removed printerClass="NunoMaduro\Collision\Adapters\Phpunit\Printer"

Signed-off-by: snipe <snipe@snipe.net>

* fix ldap ad authentication filter query mechanism (#7441)

* Create SECURITY.md

* Create codacy-analysis.yml

Co-authored-by: Istvan Basa <basipottom@gmail.com>
2021-04-20 22:17:37 -07:00
snipe 1886841ec5 Create SECURITY.md 2021-04-20 22:15:41 -07:00
Istvan Basa b037d0efdd fix ldap ad authentication filter query mechanism (#7441) 2021-04-20 21:25:45 -07:00
aranar-pro 5127727730 Fixed #9424: import history adds asset model to assigned user and respects checkin date (#9350)
* Fixed #9294: Assets import history. Behaviour based on Checkin Date added, including assigning checked out items to users.

* Fixed #9294: Fixed asset import history to respect checkin and update user with checked out items.

* Fixed #9294: whitespace and comment cleanup for merge

* Fixed #9294: Fixed asset import history to respect checkin and update user with checked out items.
2021-04-20 21:25:17 -07:00
Ross Crawford-d'Heureuse 2a058c3ce1 Added a docker-compose with helper services (#9105)
* Updates

* BAse

* pdated instructions round app_key

Co-authored-by: Ross Crawford-d'Heureuse <ross.crawford@mindcurv.com>
2021-04-20 21:17:34 -07:00
Mateus Villar fdcb63f251 Added #9313: Add new fpm-alpine docker image and docker secrets support (#9331)
* Add docker secret support

* Add docker secret support to selected environment variables below:

- APP_KEY_FILE        -> APP_KEY;

- DB_HOST_FILE        -> DB_HOST;
- DB_PORT_FILE        -> DB_PORT;
- DB_DATABASE_FILE    -> DB_DATABASE;
- DB_USERNAME_FILE    -> DB_USERNAME;
- DB_PASSWORD_FILE    -> DB_PASSWORD;

- REDIS_HOST_FILE     -> REDIS_HOST;
- REDIS_PASSWORD_FILE -> REDIS_PASSWORD;
- REDIS_PORT_FILE     -> REDIS_PORT;

- MAIL_HOST_FILE      -> MAIL_HOST;
- MAIL_PORT_FILE      -> MAIL_PORT;
- MAIL_USERNAME_FILE  -> MAIL_USERNAME;
- MAIL_PASSWORD_FILE  -> MAIL_PASSWORD;

* Add env file for docker secrets

* Added #9313: add new fpm-image using docker secrets

* Fix broken symlinks

* Add docker secrets support using shell script

* Remove old docker config php files
2021-04-20 21:14:47 -07:00
dependabot[bot] da79a16284 Bump ssri from 6.0.1 to 6.0.2 (#9459)
* Removed printerClass="NunoMaduro\Collision\Adapters\Phpunit\Printer"

Signed-off-by: snipe <snipe@snipe.net>

* Bump ssri from 6.0.1 to 6.0.2

Bumps [ssri](https://github.com/npm/ssri) from 6.0.1 to 6.0.2.
- [Release notes](https://github.com/npm/ssri/releases)
- [Changelog](https://github.com/npm/ssri/blob/v6.0.2/CHANGELOG.md)
- [Commits](https://github.com/npm/ssri/compare/v6.0.1...v6.0.2)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: snipe <snipe@snipe.net>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-04-20 21:13:34 -07:00
snipe d10d090d33 Moved status label help text to headline
Signed-off-by: snipe <snipe@snipe.net>
2021-04-20 15:31:07 -07:00
snipe aa6b1456b2 Added help text to custom fields headline
Signed-off-by: snipe <snipe@snipe.net>
2021-04-20 15:29:43 -07:00
snipe b2de0d4ade Changed “Asset Categories” to “Categories” since there are more than asset categories now
Signed-off-by: snipe <snipe@snipe.net>
2021-04-20 15:29:22 -07:00
snipe c17eaaad69 Check that the field is valid before checking to see count()
This mostly affects the demo, since the seeder updates info often

Signed-off-by: snipe <snipe@snipe.net>
2021-04-20 15:10:28 -07:00
snipe e286ff0be3 Added show() redirect for CustomFields::show()
Signed-off-by: snipe <snipe@snipe.net>
2021-04-20 15:09:23 -07:00
snipe 83200d3cbd Merge remote-tracking branch 'origin/develop' 2021-04-20 14:55:48 -07:00
snipe d40fe1b683 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2021-04-20 14:54:29 -07:00
Brady Wetherington 2a28f5e66c (Maybe?) Fixes the problem where we always need LDAP enabled (#9321)
* I *think* this fixes the problem where we need LDAP even if we aren't using it?

* Pull the LdapAd dependency out of the AuthController constructor
2021-04-20 14:53:47 -07:00
snipe dd1a5681da Add @psarossy as a contributor 2021-04-20 14:53:10 -07:00
Peter Sarossy cacb707a7f Added #9355: include Accessories and Consumables on the location reports (#9356) 2021-04-20 14:53:04 -07:00
snipe e92f69dcda Add @zybersup as a contributor 2021-04-20 14:52:29 -07:00
Supapong Areeprasertkul b28b245acc Update labels.blade.php (#8441)
- Make the qr_size bigger when no barcode printed.
- BUG: Missing unit of font size for .qr-text class.
- Reduce padding-right to remove the additional space above text when print from Google Chrome. (I do not know the cause. I tried "box-sizing: border-box" without success.)
2021-04-20 14:52:17 -07:00
Michael Pietsch 15e729f4b8 fix css when not runnin in webroot directory (#9445)
Co-authored-by: Michael Pietsch <skywalker-11@mi-pietsch.de>
2021-04-20 14:49:57 -07:00
snipe 3138f45e8c Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2021-04-20 14:49:38 -07:00
snipe 3e471a6587 Add @sh1hab as a contributor 2021-04-20 14:49:31 -07:00
Masudul Haque Shihab f3831fe010 Fixed #9447 change route parameter name in locations view (#9456) 2021-04-20 14:49:05 -07:00
Ivan Nieto Vivanco 36bc47c61c Handle regex format when assigned from API (#9443) 2021-04-20 14:44:47 -07:00
snipe e4acf8d795 Merge remote-tracking branch 'origin/master' into develop 2021-04-20 14:44:01 -07:00
snipe b562f38729 Removed printerClass="NunoMaduro\Collision\Adapters\Phpunit\Printer"
Signed-off-by: snipe <snipe@snipe.net>
2021-04-19 10:51:29 -07:00
snipe e8adf8d44c One more category fix
Signed-off-by: snipe <snipe@snipe.net>
2021-04-14 16:57:55 -07:00
snipe b693e5202b Check for category name
Signed-off-by: snipe <snipe@snipe.net>
2021-04-14 16:54:36 -07:00
snipe 415ae5854f Add @Skywalker-11 as a contributor 2021-04-14 15:15:57 -07:00
snipe e1c6d4ced7 Merge branch 'develop' of https://github.com/Skywalker-11/snipe-it into Skywalker-11-develop
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	app/Http/Requests/SettingsSamlRequest.php
2021-04-14 15:15:07 -07:00
snipe 252b2ee1b4 Add @Jelle-S as a contributor 2021-04-14 15:07:40 -07:00
snipe 39b0f464d2 Adds ID columns to tables that don’t have them - reproduces #9363
This reproduces #9363 without the PK in custom fields

Signed-off-by: snipe <snipe@snipe.net>
2021-04-14 15:07:11 -07:00
snipe 2c0438bdcb Add @andreaci as a contributor 2021-04-14 11:18:13 -07:00
snipe 2986765a68 Implements #9373
Signed-off-by: snipe <snipe@snipe.net>
2021-04-14 11:17:59 -07:00
snipe f19595f525 Add @deivishome as a contributor 2021-04-14 10:27:08 -07:00
snipe 465ec054d3 Add @limeless as a contributor 2021-04-14 10:22:58 -07:00
theburger 785b1ad5a6 Update snipeit.sh php version from 7.1 to 7.4 (#9407)
Snipe-it 5.2.x is required PHP 7.4 or above,
update script to install PHP 7.4 instead of 7.1

## Changed
- PHP to install in script is changed to 7.4 from 7.1
- Add `''`at DB_PASSWORD when configuring `.env` file
2021-04-14 10:22:31 -07:00
snipe ab8f7e7b84 Add @Joly0 as a contributor 2021-04-14 10:21:18 -07:00
Joly0 31b2287a57 Update print.blade.php (#9426)
Fixes #9418
2021-04-14 10:20:36 -07:00
Godfrey Martinez 5fab1d6f0d FIxes Sum of purchase cost of components not taking quantity into account in Asset View > Components tab (#9424)
* git commit -m

* added text
2021-04-14 10:19:40 -07:00
Godfrey Martinez 246cc0eaa8 Feature/ch16172/adding other fields to ldap sync settings (#9416)
* new branch, added manager as an additional field. Currently having DB issues

* WIP DB Issue with eloquent

* added department to LDAP sync

* removed unused variables
2021-04-14 10:17:57 -07:00
snipe ce1d3284b0 Buld assets
Signed-off-by: snipe <snipe@snipe.net>
2021-04-14 10:12:14 -07:00
Brady Wetherington bf344fd707 Merge branch 'develop'
mix-manifest I just picked one.
version.php will get bumped by hand
bootstrap table seems to just be another copy? Added it back.
2021-04-14 09:58:21 -07:00
Ivan Nieto Vivanco 9cf5fbd675 Logic added to handle when a cloned user is imported via LDAP. (#9429) 2021-04-14 09:19:25 -07:00
Ivan Nieto Vivanco 3824a50e8b Fixes an issue with CSS when the 'skin' value in settings table is empty. (#9423) 2021-04-12 20:37:02 -07:00
snipe b6006769c3 Bumped version
Signed-off-by: snipe <snipe@snipe.net>
2021-04-06 21:02:05 -07:00
snipe bf2479c5d9 Fixed url to user-ridden style
Signed-off-by: snipe <snipe@snipe.net>
2021-04-06 20:36:13 -07:00
snipe 7ddcc97e79 Generated dev assets
Signed-off-by: snipe <snipe@snipe.net>
2021-04-06 20:35:58 -07:00
snipe ba92d751a3 Removed depreciated Input:: facade
Signed-off-by: snipe <snipe@snipe.net>
2021-04-06 20:28:05 -07:00
Brady Wetherington 6b86e2a58f Rebuilt all assets after all commits had landed 2021-04-06 20:16:59 -07:00
Brady Wetherington 792a31cc7f Merge branch 'develop' 2021-04-06 20:10:22 -07:00
snipe e47e2e3754 Fixed #9404 - include note in accessory API
Signed-off-by: snipe <snipe@snipe.net>
2021-04-06 10:57:30 -07:00
snipe 105f57e059 Possible fix for Docker failing on master
Signed-off-by: snipe <snipe@snipe.net>
2021-04-06 06:09:04 -07:00
snipe 390403ddb7 Fixed #9370 - listbox custom fields not decryoted on edit
Signed-off-by: snipe <snipe@snipe.net>
2021-04-06 05:59:31 -07:00
snipe 7da32443ff Move develop fixes to master
Signed-off-by: snipe <snipe@snipe.net>
2021-04-06 05:05:16 -07:00
Brady Wetherington 72806cf8db Fix up docker build on develop branch (#9401) 2021-04-05 22:13:31 -07:00
Serkan 0e34e43abb The return early pattern applied to improve readability. (#8894) 2021-04-05 22:03:15 -07:00
snipe 981b503653 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2021-04-05 22:01:35 -07:00
Joel Pittet af8509c4d0 Allow NPM packages to build for production (#9171)
* add back changes before compiling assets

* new css location and mix manifest

* update papaparse, most vunerabilities attached to it

* update axios and papaparse for security releases

* removing security fixes that still allow npm run production to work

* Update lodash
2021-04-05 22:01:11 -07:00
snipe abddda2ab8 Add @kajes as a contributor 2021-04-05 21:56:45 -07:00
Lars Kajes 49532e1cd6 Add option to force TLS connection (#9327)
Co-authored-by: Lars Kajes <lars.kajes@iusinnovation.se>
2021-04-05 21:56:25 -07:00
snipe 09887bdabd Removed stray opening tag
Signed-off-by: snipe <snipe@snipe.net>
2021-04-05 21:54:31 -07:00
snipe ff0e526021 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2021-04-05 21:53:47 -07:00
Godfrey Martinez f9f8ce6df6 Auditing feature improvement Better mobile [ch14328] (#9181) 2021-04-05 21:53:19 -07:00
snipe 55692bfe98 Add @Tetrachloromethane250 as a contributor 2021-04-05 21:52:14 -07:00
snipe 5c5fe2bd87 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2021-04-05 21:52:01 -07:00
Tetrachloromethane250 157d9e4ebb Added #5977: Add permission to view files attached to licenses (#9264)
* Add permission to view and modify files for licenses

* Actually use the permission
2021-04-05 21:51:47 -07:00
snipe 20a3028386 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2021-04-05 21:48:01 -07:00
snipe 3ffa3534a0 Use environmental variables in memory limits
Signed-off-by: snipe <snipe@snipe.net>
2021-04-05 21:47:57 -07:00
Jan Kiesewetter d61d189328 Change owner while copy (#7552)
* Change owner while copy

Copy all files and chown them in a 2nd layer leads to a larger image.
See layer 22 and 26 of https://hub.docker.com/layers/snipe/snipe-it/v4.7.8/images/sha256-67c865d91df1b90cef1112f12bbc9c64402dfeafde0bdb160c4f07e785ee0bcc

* Copy docker.env as user docker
2021-04-05 21:15:54 -07:00
Earl Ramirez 6a8d5282ef Add support for Debian 10 (#7414) 2021-04-05 21:06:53 -07:00
snipe f147c43dd4 Add @t3easy as a contributor 2021-04-05 21:04:39 -07:00
snipe c9ec15101c Add @ajsy as a contributor 2021-04-05 20:56:39 -07:00
snipe b9bab05ac3 Merge branch 'master' of https://github.com/ajsy/snipe-it into ajsy-master
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	resources/views/users/print.blade.php
2021-04-05 20:55:49 -07:00
snipe 298bfa73c8 Add @ocelotsloth as a contributor 2021-04-05 20:35:28 -07:00
Mark Stenglein dd1b9ab926 VAGRANT: Fix Ubuntu Development VMs (#6909)
* GITIGNORE: Add vagrant log and ansible retry files

This patch adds the following to the project's .gitignore file:
  - Vagrant's log file
  - Ansible's retry files

Signed-off-by: Mark Stenglein <mark@stengle.in>

* ANSIBLE: Add Ubuntu Ansible playbook for dev env

This patch adds an Ansible playbook to provision an Ubuntu based
development environment. This playbook is fully idempotent and
can be run multiple times without negative consequences.

Signed-off-by: Mark Stenglein <mark@stengle.in>

* VAGRANTFILE: Clean Vagrantfile

There was a lot of extra VMs being provisioned by the existing
Vagrantfile. Some of this may need to come back but I am removing
it with this commit to demonstrate that this is all that is
needed.

Signed-off-by: Mark Stenglein <mark@stengle.in>

* ANSIBLE: UBUNTU: PLAYBOOK: Add .env configuration

I missed the configuration of the .env file in the initial commit.
This patch adds these configuration steps as well as the needed
Cron job for the Artisan scheduler.

Signed-off-by: Mark Stenglein <mark@stengle.in>

* Revert "VAGRANTFILE: Clean Vagrantfile"

This reverts commit a608a30d6b.

* VAGRANTFILE: Fix Ubuntu Vagrant Development Boxes

This patch addresses problems with the existing Vagrant deployment
configurations for the Ubuntu VMs.
  - The vagrant file is configuring the VMs for an incorrect bridge
    interface. Fixed by changing the config to use the default
    networking as well as a port-forward.
  - Moves provisioning over to the Ansible-Local playbook I wrote.

Signed-off-by: Mark Stenglein <mark@stengle.in>
2021-04-05 20:35:04 -07:00
Sxderp f01c93e162 Extend #6229 to include superuser permission check (#6772) 2021-04-05 20:26:06 -07:00
snipe 26b97d2b0b Add @JuustoMestari as a contributor 2021-04-05 20:16:35 -07:00
snipe df72f92bc0 Brings PR #6744 up to parity with previous changes - Set custom field's default value when creating a new asset using the API
Signed-off-by: snipe <snipe@snipe.net>
2021-04-05 20:16:06 -07:00
AlexanderWPapyrus a1f9642a18 Increases DPI of barcode for small lables (#9344)
solves issue #9293
2021-04-05 19:33:10 -07:00
Ivan Nieto Vivanco 90a24539b0 Fixes/cli importer issue (#9199)
* Added logic to handle the CLI importer.

* Fix bug introduced with the commit previous to the regression.

* Adds a validation for  variable when is null, add comments to clarify where the  class variable came from.

* Add support for when  variable is an instance of User class.
2021-04-05 19:28:31 -07:00
Godfrey Martinez 5ea759f615 Fixed #7211, #9197, #7864, [ch15504] - Added additional LDAP fields to sync (#9318)
* LDAP and Active Directory has plenty of other [ch15504]

* removed department id from ldap sync

* removed department id from ldap sync

* Update 2021_03_18_184102_adds_several_ldap_fields.php
2021-04-05 19:26:04 -07:00
Ivan Nieto Vivanco eb0ae74ef8 Fixes typo that doesn't accepts 'textarea' as custom field type element. (#9387) 2021-04-01 18:23:05 -07:00
snipe 6f4215cfac Fixed label name for field_values
Signed-off-by: snipe <snipe@snipe.net>
2021-03-31 14:07:30 -07:00
snipe a199c75f5c Added textarea and checkbox to validation rules
Signed-off-by: snipe <snipe@snipe.net>
2021-03-31 14:04:01 -07:00
snipe b5f7cb534e Fixed element name
Signed-off-by: snipe <snipe@snipe.net>
2021-03-31 14:02:25 -07:00
snipe 618e4439e2 Fixed validation to include textarea
Signed-off-by: snipe <snipe@snipe.net>
2021-03-31 14:02:10 -07:00
snipe 6a8e761c5e Added created_at and updated_at to presenter
Signed-off-by: snipe <snipe@snipe.net>
2021-03-30 08:57:20 -07:00
snipe 70a7a8f20b WTF. This shit is haunted.
Signed-off-by: snipe <snipe@snipe.net>
2021-03-30 08:00:27 -07:00
snipe a5b67965f2 Fixed CSS path
(Fixes RB #14746)

Signed-off-by: snipe <snipe@snipe.net>
2021-03-30 07:49:30 -07:00
snipe 2354e37504 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2021-03-30 07:40:14 -07:00
Nikolay Didenko 06e641b782 Do not override per table data-id-cookie-table attribute by current route name globally (#7835) 2021-03-29 20:05:24 -07:00
Shaun McPeck c88813bbb8 set docker user as owner of key symbolic links (#7924)
Co-authored-by: Shaun McPeck <shaun@shaunmcpeck.com>
2021-03-29 19:44:42 -07:00
Marc Leuser 90b7d34c69 Added #6695: add API endpoint for license seats (#8058)
* remove miselading comment line

* added dedicated API endpoint for license seats

* don't display a seat name via API
it makes no sense and we don't have any particular sorting order
so the numbering would be inconsistent anyway

* reduce amount of IFs

* add sanity checks to show()

* fix goofed logging logic

* add tests for action log entries
2021-03-29 19:41:26 -07:00
R. Christian McDonald cb1a95a530 Apache site configurations shouldn't be written to sites-enabled (#6982)
It is better (best) practice to write configurations to sites-available and then let Apache copy the configuration to sites-enabled via 'a2ensite' command
2021-03-29 19:21:30 -07:00
NMC 3e934a1b96 Add a way for a user to override the site skin setting + fix mislabeled comment. (#6891)
* Add a way for a user to override the skin setting.

* Add site setting to allow user to change the skin.

* Fix skin list.

Co-authored-by: NMC <info@nmc-lab.com>
2021-03-29 19:09:23 -07:00
Nuno Maduro 8b6b95a05b Makes nunomaduro/collision versioning consistent with other dependencies (#9316) 2021-03-29 18:15:20 -07:00
snipe 53651ba3df Add @misilot as a contributor 2021-03-24 14:09:02 -07:00
snipe d527f23ec8 Add @raelldottin as a contributor 2021-03-24 14:08:56 -07:00
Raell Dottin 78cc47a859 Added sanity check to determine if a bind user account is set. (#9340) 2021-03-24 14:08:37 -07:00
snipe b00413e8aa Added missing .env vars to example from #8389
Signed-off-by: snipe <snipe@snipe.net>
2021-03-24 11:46:07 -07:00
Tom Misilo 7557879d4a Add support for overriding the Time and Memory Limits (#8389)
This is similar to what exists for the LDAP Import, and adds support for
setting th  Import and Report max execution time and memory limits

Co-authored-by: snipe <snipe@snipe.net>
2021-03-24 11:40:43 -07:00
snipe 0b41f9182a Merge remote-tracking branch 'origin/develop' 2021-03-24 11:35:39 -07:00
Jo Drexl 0114373468 Fixing #9224 (#9328) 2021-03-22 12:57:26 -07:00
snipe 86fef3f40a Set SAML errors to warning instead of error
Signed-off-by: snipe <snipe@snipe.net>
2021-03-17 22:30:26 -07:00
snipe c90604b5ae Merge remote-tracking branch 'origin/develop' 2021-03-17 22:19:24 -07:00
snipe 069e9e52fe Try/catch barcodes so they don’t shit up the logs
Signed-off-by: snipe <snipe@snipe.net>
2021-03-17 22:19:10 -07:00
Peter Dave Hello ca8b152549 Remove unnecessary apt-get clean in Dockerfile (#9201)
This image is built from the official Debian image as upstream, so there
is no need to do apt-get clean manually.

Ref:
- docs.docker.com/develop/develop-images/dockerfile_best-practices/#apt-get

> Official Debian and Ubuntu images automatically run apt-get clean, so
> explicit invocation is not required.
2021-03-17 20:33:54 -07:00
snipe b2a3a80f96 Bumped hash
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	composer.lock
#	config/version.php
2021-03-17 20:04:43 -07:00
snipe c8e172ec6b Downgrade packages
Signed-off-by: snipe <snipe@snipe.net>
2021-03-17 20:03:09 -07:00
snipe afb7fcfa3e Bumped hash
Signed-off-by: snipe <snipe@snipe.net>
2021-03-17 20:02:54 -07:00
snipe 9f3a8a43cc Merge remote-tracking branch 'origin/develop'
Signed-off-by: snipe <snipe@snipe.net>

# Conflicts:
#	composer.lock
2021-03-17 19:41:02 -07:00
snipe 8fd8e716ac Changed debug level on bad LDAP connection (#9314)
* Changed debug level on bad LDAP connection

TODO:

Unfuck all of this. It’s a mess and it really doesn’t work the way we think it does. AdLdap library strikes again. :(

Signed-off-by: snipe <snipe@snipe.net>

* Improved phrasing

Signed-off-by: snipe <snipe@snipe.net>
2021-03-17 19:24:28 -07:00
snipe 72f7baf5ee Removed unused class references 2021-03-17 16:56:32 -07:00
snipe 1b890ffcc5 Added collision 2021-03-17 15:45:00 -07:00
snipe ca882e2b3d Add @elyscape as a contributor 2021-03-15 16:42:52 -07:00
Eli Young 97fa9663b1 Fixed #9299: Use correct SVG MIME type for uploads (#9300)
The correct MIME type of SVG is image/svg+xml. Out of an abundance of
caution, I am leaving in image/svg to avoid potentially causing issues
on very old browsers, but this can likely be removed without issue.
2021-03-15 16:42:11 -07:00
snipe ab092fd209 Merge remote-tracking branch 'origin/develop'
# Conflicts:
#	app/Providers/AppServiceProvider.php
#	config/logging.php
#	config/services.php
2021-03-15 12:29:29 -07:00
Brady Wetherington c7626f8387 Add new StorageHelper and use it where it makes sense (#9276) 2021-03-15 12:26:39 -07:00
snipe 3fc24b4e61 Set spatie encryption to null 2021-03-09 21:07:41 -08:00
snipe f164f0ea60 Fixed #9266 - set a colors_array variable even if other conditions are not met 2021-03-09 21:04:32 -08:00
snipe 0dd38c4a9b One more try for logo copying
Again, this might not work, but I cannot find snipe-logo-lg.png anywhere in the repo
2021-03-09 20:41:47 -08:00
snipe 6e8aaddb40 One more changes for settings seeder (this may not work) 2021-03-09 17:40:22 -08:00
snipe 104912cdf3 Added default logos to setting seeder 2021-03-09 17:39:10 -08:00
snipe b103f724b5 Added discard changes in composer (for those weird cases where it says something changed in a vendor directory) 2021-03-09 17:38:06 -08:00
snipe 0fa07a4bca Bumped point version 2021-03-09 16:19:21 -08:00
snipe c3871c98df Updated rollbar package 2021-03-09 16:16:57 -08:00
snipe cf4e97f103 Log namespacing 2021-03-09 13:39:53 -08:00
snipe f05a8d782c Added spatie encryption line 2021-03-09 13:38:53 -08:00
snipe 89ab4bb86f Revert "Added PHP8 compatibility [experimental]"
This reverts commit 3873f14971.

# Conflicts:
#	composer.lock
2021-03-09 13:38:38 -08:00
snipe 707a68fc54 Rollback :( 2021-03-09 13:15:00 -08:00
snipe 4bd9706693 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2021-03-09 12:56:17 -08:00
snipe 0d91ebfed8 One more try at Spatie 2021-03-09 12:56:13 -08:00
snipe 2d6dcb6b3b Applying fix for Undefined class constant 'EM_AES_256' in spatie
https://github.com/spatie/laravel-backup/discussions/1247
2021-03-09 12:52:26 -08:00
snipe e9ee9ea2e9 Fixed rollbar integration 2021-03-09 12:40:00 -08:00
snipe 3873f14971 Added PHP8 compatibility [experimental] 2021-03-09 12:39:49 -08:00
snipe 7e56fc5e0d Updated mix manifest 2021-03-02 12:33:39 -08:00
snipe 3f01b02fd9 Updated BS tables 2021-03-02 12:33:29 -08:00
snipe 77ec64aded Merge remote-tracking branch 'origin/develop'
# Conflicts:
#	public/css/dist/skins/skin-black-dark.css
#	public/css/dist/skins/skin-black-dark.min.css
#	public/css/dist/skins/skin-blue-dark.css
#	public/css/dist/skins/skin-blue-dark.min.css
#	public/css/dist/skins/skin-green-dark.css
#	public/css/dist/skins/skin-green-dark.min.css
#	public/css/dist/skins/skin-orange-dark.css
#	public/css/dist/skins/skin-orange-dark.min.css
#	public/css/dist/skins/skin-purple-dark.css
#	public/css/dist/skins/skin-purple-dark.min.css
#	public/css/dist/skins/skin-red-dark.css
#	public/css/dist/skins/skin-red-dark.min.css
#	public/css/dist/skins/skin-yellow-dark.css
#	public/css/dist/skins/skin-yellow-dark.min.css
#	public/mix-manifest.json
2021-03-02 12:33:18 -08:00
Ivan Nieto Vivanco 9ed226a0af Fixes links in Models Actions, and to view the fieldset assigned to that Model. (#9232) 2021-03-01 13:08:29 -08:00
Ivan Nieto Vivanco d64b35c348 Added a condition to ensure that only assets checked out to an user that is being deleted are updating their status (#9233) 2021-03-01 13:07:23 -08:00
snipe 5aa960603a Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2021-02-26 15:59:53 -08:00
Joel Pittet c979779249 Fixes a couple blade templates for relative URLs (#9170)
* Switched branch name to master

* Production assets for better contrast in dark mode skins

* Fixed #9115: Duplicate column name 'provider' (#9137)

* Sigh. Real assets

* fix blade templates with missing url() function wrapper for relative URLs

* Develop to master (#9195)

* Added saml custom setting retrieveParametersFromServer to enable fixing SLO issues with Azure AD (#9187)

* [FIX] Lite test email won't use the mail component (#9092)

* [FIX] Lite test email won't use the mail component

* Revert "[FIX] Lite test email won't use the mail component"

This reverts commit 6dab9aa1a8.

* Fix check for snipeSettings

* Remove random text from message template

* Revert "Fix check for snipeSettings"

This reverts commit 887dcc7bbc.

* Fix test notification with setupCompleted

Co-authored-by: johnson-yi <63399474+johnson-yi@users.noreply.github.com>
Co-authored-by: Oliver Walerys <owalerys@users.noreply.github.com>

* Changed branch from develop to master

* fix blade templates with missing url() function wrapper for relative URLs

* Re-apply patch against develop

* Rebase against develop

Co-authored-by: snipe <snipe@snipe.net>
Co-authored-by: Kevin Köllmann <mail@kevinkoellmann.de>
Co-authored-by: johnson-yi <63399474+johnson-yi@users.noreply.github.com>
Co-authored-by: Oliver Walerys <owalerys@users.noreply.github.com>
2021-02-26 15:59:36 -08:00
snipe 52bf050c4f Add @joelpittet as a contributor 2021-02-26 15:59:17 -08:00
Ivan Nieto Vivanco ab7dd90602 Fixes ternary that sets the offset in 0 when the offset passed to the API for the user is greater than total locations. (#9210) 2021-02-26 12:56:04 -08:00
snipe 2e298893b6 Updated mix manifest 2021-02-25 19:43:58 -08:00
Godfrey Martinez b0078ff64d Audit dark mode theme skins and check for [ch15847] (#9102)
Co-authored-by: snipe <snipe@snipe.net>
2021-02-25 19:41:31 -08:00
snipe fcd805638e Changed branch from develop to master 2021-02-25 16:54:23 -08:00
snipe 63629abb93 Merge remote-tracking branch 'origin/develop' 2021-02-25 16:53:50 -08:00
snipe 6373ef3283 Bumped version 2021-02-25 16:53:37 -08:00
snipe 00a7c1e9e2 Merge remote-tracking branch 'origin/develop' 2021-02-25 16:44:55 -08:00
snipe f37d5d3d03 Fixed #9085 - asset models not showing proper pagination
Huge thanks to @inietov for catching this one
2021-02-25 16:43:38 -08:00
snipe 57e52f0ba4 Fixed extraneous closing </i> 2021-02-25 13:35:05 -08:00
snipe dc8e06fc65 Merge remote-tracking branch 'origin/develop' 2021-02-24 09:12:27 -08:00
snipe db3f80bb9b Fixed #9198 - added stdout as a log driver 2021-02-24 09:10:03 -08:00
snipe f5dda06c55 Develop to master (#9195)
* Added saml custom setting retrieveParametersFromServer to enable fixing SLO issues with Azure AD (#9187)

* [FIX] Lite test email won't use the mail component (#9092)

* [FIX] Lite test email won't use the mail component

* Revert "[FIX] Lite test email won't use the mail component"

This reverts commit 6dab9aa1a8.

* Fix check for snipeSettings

* Remove random text from message template

* Revert "Fix check for snipeSettings"

This reverts commit 887dcc7bbc.

* Fix test notification with setupCompleted

Co-authored-by: johnson-yi <63399474+johnson-yi@users.noreply.github.com>
Co-authored-by: Oliver Walerys <owalerys@users.noreply.github.com>
2021-02-23 14:53:55 -08:00
Oliver Walerys c3166d491a [FIX] Lite test email won't use the mail component (#9092)
* [FIX] Lite test email won't use the mail component

* Revert "[FIX] Lite test email won't use the mail component"

This reverts commit 6dab9aa1a8.

* Fix check for snipeSettings

* Remove random text from message template

* Revert "Fix check for snipeSettings"

This reverts commit 887dcc7bbc.

* Fix test notification with setupCompleted
2021-02-23 14:49:40 -08:00
johnson-yi 763e17f491 Added saml custom setting retrieveParametersFromServer to enable fixing SLO issues with Azure AD (#9187) 2021-02-23 11:05:22 -08:00
snipe 47b2fe571e Merge remote-tracking branch 'origin/develop' 2021-02-19 10:52:33 -08:00
snipe c8f6318aba Fixed funky layout in asset model modal window (broken HTML) 2021-02-19 10:51:56 -08:00
snipe adbb3a8f31 Merge remote-tracking branch 'origin/develop' 2021-02-19 10:20:07 -08:00
snipe 1f142fde8a Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2021-02-19 10:19:37 -08:00
Brady Wetherington 44eee019d9 Add variable declaration for $result (#9168) 2021-02-19 10:19:24 -08:00
snipe f636aac2dd Add @sw-mreyes as a contributor 2021-02-19 10:11:52 -08:00
snipe 54fd1b993b Merge remote-tracking branch 'origin/develop'
# Conflicts:
#	config/version.php
2021-02-19 10:11:23 -08:00
snipe a5731a3088 Updated hash 2021-02-19 10:09:22 -08:00
snipe 6449d0aaf9 Sigh. Real assets 2021-02-19 10:06:06 -08:00
snipe 931e2df3bd Updated production assets
# Conflicts:
#	public/js/build/app.js
#	public/js/dist/all.js
2021-02-19 10:05:29 -08:00
snipe 7f8eddede6 Updated compiled assets 2021-02-19 10:02:30 -08:00
snipe 4ddab03792 Merge branch 'develop' of https://github.com/sw-mreyes/snipe-it into sw-mreyes-develop
# Conflicts:
#	public/mix-manifest.json
2021-02-19 10:00:35 -08:00
snipe ff341caf34 Merge remote-tracking branch 'origin/develop' 2021-02-18 14:21:34 -08:00
snipe 5754f0aa3f Revert "Added logic to handle the CLI importer. (#9088)"
This reverts commit 2e2d087639.
2021-02-18 14:21:19 -08:00
snipe 785bc40d9d Merge remote-tracking branch 'origin/develop'
# Conflicts:
#	public/css/dist/skins/skin-black.css
#	public/css/dist/skins/skin-blue.css
#	public/css/dist/skins/skin-green.css
#	public/css/dist/skins/skin-orange.css
#	public/css/dist/skins/skin-purple.css
#	public/css/dist/skins/skin-red.css
#	public/css/dist/skins/skin-yellow.css
#	public/mix-manifest.json
2021-02-17 13:50:14 -08:00
snipe 9d50e0e8d0 Fixed weird table formatting in expected checkin report 2021-02-17 13:44:35 -08:00
snipe 9deb4204c8 Fixed #9116 - incorrect parameter name sent to hardware.show in expected assets report 2021-02-17 13:41:08 -08:00
snipe 1ab349a63d Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2021-02-17 13:34:59 -08:00
Ivan Nieto 2e2d087639 Added logic to handle the CLI importer. (#9088) 2021-02-17 13:13:17 -08:00
snipe bfadb2cea6 Add @koelle25 as a contributor 2021-02-17 12:58:57 -08:00
Kevin Köllmann 44eb67440a Fixed #9115: Duplicate column name 'provider' (#9137) 2021-02-17 12:57:08 -08:00
Godfrey Martinez 8fb97da314 Color of asset selection in bulk checkout [ch15525] (#9145) 2021-02-17 12:56:26 -08:00
Ivan Nieto 12ff465cdb Added feature: Checkbox Custom Fields as list of values. (#9112)
* Added functionality for checkboxes in custom fields. Similar to how radio buttons work.

* Added the same functionality when the custom fieldset is encrypted.

* Added missing bits, so the edit custom assets view shows what values have been already stored in database
2021-02-16 17:20:29 -08:00
Ivan Nieto f89d789832 Fixes #8918 The validation rules on Manufacturer Model 'name' attribute are malformed. (#9133)
* Fixes the validation rules on Manufacturer Model

* Fixes a little issue; if the manufacturer is active soft-deletes it, if is already deleted permanently deletes it
2021-02-16 12:52:55 -08:00
Marcelo Reyes 4c3b46ea88 Fixed #9129: add missing function formatDatalistSafe to snipeit_modals.js 2021-02-16 13:50:00 +01:00
snipe 834e0a9dd5 Merge remote-tracking branch 'origin/develop'
# Conflicts:
#	config/version.php
2021-02-05 14:29:13 -08:00
snipe 681c41bd18 Bumped version 2021-02-05 14:28:31 -08:00
snipe 74488ddceb Added provider column to oauth_clients table for passport upgrade 2021-02-05 14:27:56 -08:00
snipe 19820f1b42 Merge remote-tracking branch 'origin/develop' 2021-02-03 16:08:36 -08:00
snipe 2a88781cd5 Add @Kurokat as a contributor 2021-02-03 16:07:25 -08:00
snipe f96c867bd3 Update @ghost as a contributor 2021-02-03 16:07:06 -08:00
snipe 06f8e8620a Add @EDVLeer as a contributor 2021-02-03 16:06:28 -08:00
snipe 95d907c9e9 Add @sean-borg as a contributor 2021-02-03 16:06:14 -08:00
snipe d990152856 Add @andres-baller as a contributor 2021-02-03 16:05:45 -08:00
snipe 05609230b2 Add @ncareau as a contributor 2021-02-03 16:05:21 -08:00
snipe 220c254093 Add @benwa as a contributor 2021-02-03 16:05:06 -08:00
snipe 02313ce361 Add @fashberg as a contributor 2021-02-03 16:04:47 -08:00
snipe e70f7c610a Add @winstan as a contributor 2021-02-03 16:03:20 -08:00
snipe 32f77c3285 Add @alek13 as a contributor 2021-02-03 16:02:49 -08:00
snipe 0a639f4fcc Add @ThoBur as a contributor 2021-02-03 16:02:38 -08:00
snipe f2b55fb641 Add @PauloLuna as a contributor 2021-02-03 16:02:27 -08:00
snipe 0e443356f0 Add @iansltx as a contributor 2021-02-03 16:02:00 -08:00
snipe 76f7f01398 Add @derlucas as a contributor 2021-02-03 16:01:42 -08:00
snipe 992de0156b Add @phenixdotnet as a contributor 2021-02-03 16:01:27 -08:00
snipe c96b5f5a85 Add @sigmoidal as a contributor 2021-02-03 16:01:12 -08:00
snipe 8d2685f0f0 Add @PeterDaveHello as a contributor 2021-02-03 16:01:00 -08:00
snipe eb14cc7f43 Add @giannello as a contributor 2021-02-03 15:59:48 -08:00
snipe 3dc67cdba6 Updated dark skins with compiled assets for prod 2021-02-03 15:20:26 -08:00
snipe 0bbe0c85d7 Small improvement to topnav dropdown text colors in dark skins 2021-02-03 15:17:31 -08:00
snipe 49415806e1 Nicer formatting of the page if custom logout [ch15660] 2021-02-03 14:56:26 -08:00
Giuseppe Iannello 5edbb4b229 Support Google Cloud IAP (#8768)
Following up on https://github.com/snipe/snipe-it/commit/7c2da8170028b2616b99ddf4483c956c057de31b,
this extends the logic, adding support for Google Cloud IAP.
2021-02-03 11:59:55 -08:00
ThoBur c40b8334fc Update edit.blade.php (#8876)
Fix issue #8518
2021-02-03 11:59:05 -08:00
snipe 0a37c9564a Merge remote-tracking branch 'origin/develop' 2021-02-03 01:30:11 -08:00
snipe 985193ffff Fixed #9082 - allow deployable status type on checkout 2021-02-03 01:29:54 -08:00
snipe 721add5bc1 Merge remote-tracking branch 'origin/develop'
# Conflicts:
#	public/css/dist/skins/skin-blue-dark.css
#	public/css/dist/skins/skin-blue-dark.min.css
#	public/css/dist/skins/skin-green-dark.css
#	public/css/dist/skins/skin-green-dark.min.css
#	public/css/dist/skins/skin-orange-dark.css
#	public/css/dist/skins/skin-orange-dark.min.css
#	public/css/dist/skins/skin-purple-dark.css
#	public/css/dist/skins/skin-purple-dark.min.css
#	public/css/dist/skins/skin-red-dark.css
#	public/css/dist/skins/skin-red-dark.min.css
#	public/css/dist/skins/skin-yellow-dark.css
#	public/css/dist/skins/skin-yellow-dark.min.css
#	public/mix-manifest.json
2021-02-03 00:57:58 -08:00
snipe ff8fa6ec77 Production assets for better contrast in dark mode skins 2021-02-03 00:52:23 -08:00
snipe e0a6f22489 Small fixes to dark mode skins 2021-02-03 00:49:09 -08:00
snipe 030fdd60ff Switched branch name to master 2021-02-02 21:49:21 -08:00
snipe fdde844ce5 Bumped version to 5.1.0 2021-02-02 21:48:42 -08:00
snipe d263990401 Updated min requirements in composer.json 2021-02-02 21:29:09 -08:00
snipe bf7a856fa6 Update minimum PHP requirements to 7.2.5 2021-02-02 21:05:37 -08:00
snipe 1e062d4fc8 Re-applying laravel update with PHP min 7.2.5 2021-02-02 20:58:15 -08:00
snipe ca37de5e45 Ugh. Rolling back composer.lock
Everything sucks
2021-02-02 20:44:07 -08:00
snipe 9ba2fd93c1 Reverted Laravel upgrade :( 2021-02-02 20:34:23 -08:00
snipe a2e177e754 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2021-02-02 20:30:36 -08:00
snipe 5e6db0b219 Removed platform req 2021-02-02 20:30:33 -08:00
Brady Wetherington b09ded2a3b Upgrade laravel (#9081)
* Hotfix to develop to yank extraneous e()

* Upgrade Laravel release only to a later 6.18.x version

* Upgrade Laravel to 6.x and Passport 9.x, the recommended versions
2021-02-02 20:22:36 -08:00
snipe 124343911f Merge remote-tracking branch 'origin/develop' 2021-02-02 16:57:18 -08:00
Brady Wetherington 462f8c791f Hotfix to develop to yank extraneous e() (#9080) 2021-02-02 16:44:54 -08:00
Brady Wetherington 9a224a07ba Modified how we do Select2 dynamic drop-down menus to be more secure (#9079)
* Modified how we do Select2 dynamic drop-down menus to be more secure

As noted by the author of select2, the more-secure way of creating
rich Select-dropdowns is to use jquery to create HTML snippets and
carefully modify text attributes within there. This prevents any
XSS from being brought to the page. As a side-effect, the extra
escaping that we had to do in all of the internal selectlist calls
is now no longer necessary, and has been removed. Rebased and
squashed from the original.

* Rebuilt all assets, but this still feels like it's too much stuff in here.

* Whoops, need to run that in dev, not prod
2021-02-02 15:55:21 -08:00
Ivan Nieto df4686bc96 Added a clause that lets the function that updates the department to fail gracefully if no dept. name is provided in the CSV passed to the Importer. (#9078) 2021-02-02 12:23:36 -08:00
snipe b6c432a596 One more line of logging for purges 2021-02-02 02:20:30 -08:00
snipe de9f487664 Merge remote-tracking branch 'origin/develop' 2021-02-02 01:59:13 -08:00
snipe ef668317a9 Log user initiating a purge 2021-02-02 01:58:50 -08:00
Godfrey Martinez cf368a4577 fixed an issue with links colors (#9073)
* fixed an issue with links colors

* corrected btn-default's color
2021-02-01 13:50:37 -08:00
snipe 2e71968c04 Merge remote-tracking branch 'origin/develop' 2021-01-27 17:44:36 -08:00
snipe fdb5b3baf1 Depreciation detail view fixes [ch15776] (#9059)
* Allow sorting by months for depreciation list view

* Added dataTableLayout to standardize the list display table

* Implement the dataTableLayout() on the list view blade

* Split the view into tabs so we can combine asset depreciations and license depreciations

* Updated depreciation view to use tabbed interface for assets and licenses

* Added asset models to depreciation details page

* Make asset model category sortable

* Added cateory as allowed to be sorted on

* Added category sort scope

* Removed offset variable

* Small fixes to asset modes display in depreciation to bulk edit models
2021-01-27 17:44:05 -08:00
snipe c745fa095b Merge remote-tracking branch 'origin/develop' 2021-01-27 15:38:15 -08:00
Brady Wetherington 70e6a6ced6 Fix issue where users with edit permission cannot invoke LDAP sync (#9058)
* Fix issue where users with edit permission cannot invoke LDAP sync

* Make User::class consistent with usage elsewhere in the same directory
2021-01-27 15:36:43 -08:00
Ivan Nieto 6772835efc Added support for radio buttons in Custom Fields. (#9053) 2021-01-27 14:41:58 -08:00
snipe fb482b0dd6 Fixed translation string in Depreciation view [ch15776] 2021-01-27 14:09:01 -08:00
snipe 9f43d3345f Merge remote-tracking branch 'origin/develop' 2021-01-27 12:49:33 -08:00
Ivan Nieto 6e83679528 Instead of return a JSON response, redirect back to the previous screen (#9055) 2021-01-27 12:01:42 -08:00
snipe a050aba72f Merge remote-tracking branch 'origin/develop' 2021-01-27 01:34:57 -08:00
snipe 0031fab0fe Added termination date, depreciation in license column selection [ch14505] (#9052) 2021-01-27 01:34:32 -08:00
snipe 585bdff364 Added other logo for demo 2021-01-27 00:35:32 -08:00
snipe 1d9741a49e Merge remote-tracking branch 'origin/develop' 2021-01-26 22:12:39 -08:00
snipe 9f7f1460e9 Simplified availableForCheckout() on asset 2021-01-26 22:12:24 -08:00
snipe f871759753 Bumped version to 5.0.13-pre 2021-01-26 20:08:44 -08:00
snipe 8e17818f1e Bumped version to 5.0.13-pre 2021-01-26 20:08:08 -08:00
snipe d19c6ab8e7 Use fadeIn/fadeOut for password reset page for nicer look 2021-01-26 20:05:01 -08:00
snipe d14b1e3825 Added better visual cues for login (#9051)
* Added better visual cues for login

* Changed box header class to box-header with-border to match other screens

* Since we have all.js now, added class=“minimal” to use icheck
2021-01-26 19:57:39 -08:00
snipe ba12ee9954 Specifically call out username in forgotten password 2021-01-26 18:00:50 -08:00
Evgeny d8bb69533c To eliminate 12/24hours ambiguity fix. This fix prevents loss of time accuracy. (#8887)
Its a tiny fix to eliminate 12/24hours ambiguity. Fix prevents time accuracy loss in field "last_audit_date" for assets.
2021-01-26 12:22:59 -08:00
snipe 01d3606c42 Merge remote-tracking branch 'origin/develop' 2021-01-26 12:20:57 -08:00
sigmoidal 208f1db3b2 Update .htaccess (#9001)
.htaccess will work on both apache v2.2 and v2.4 (without this change, on upgrade, an internal error on the server occurs)
2021-01-26 12:20:03 -08:00
Peter Dave Hello e5b02da54b Fix apk add usage in Dockerfile.alpine (#9032)
There is no need to use `--update` when `--no-cache` is already
specified. Use `--no-cache` only will make `apk` leave no local cache
and make the image smaller.
2021-01-26 12:12:00 -08:00
Vincent Lainé d6ead5ae17 Added #8931: add health controller without session (#8978)
* Added health controller

* Trying to move session middleware to web and api group to have health controller without session

* Fix health route store the session

Co-authored-by: Vincent Lainé <v.laine@dental-monitoring.com>
2021-01-26 12:10:54 -08:00
Ian Littman 1d7d31b9ae Optimize target type + ID index for more realistic use cases (#8923)
Per https://youtu.be/EOXgHH4-WX4?t=1378 or thereabouts
2021-01-26 12:08:25 -08:00
Brady Wetherington 2a817c2123 Add migration for ldap_server URL's to ensure they at least start with ldap:// or ldaps:// (#8936) 2021-01-26 12:07:32 -08:00
Lucas Pleß f3a7467235 Added today as default Date for checkout Form. (#8938) 2021-01-26 12:06:58 -08:00
Ivan Nieto 2da6f9136f Add 'Last Audit Date/Next Audit Date' filter to custom report (#8989)
* Add 'Last Audit Date/Next Audit Date' filter to custom report

* Added a constraint: cannot require a report with a Last Audit Date in the future.
2021-01-26 12:05:31 -08:00
Ivan Nieto 79549dbfb9 Use the correct env variables in config/auth.php file. (#9048) 2021-01-26 12:04:41 -08:00
snipe a48d09f37e Fixed non-superadmin gate permissions for kits (#9029) 2021-01-26 11:56:42 -08:00
Godfrey Martinez 0dc78fdea6 fixed color schema on dark mode skins for links (#9034) 2021-01-21 14:41:42 -08:00
snipe 75a8639a20 Fixed weird checkbox display
TODO: fix the 500 on the save
2021-01-12 18:16:42 -08:00
snipe 380c6171b7 Check if the asset is deployed before prompting for an expected checkin date 2021-01-12 18:02:10 -08:00
snipe d36d6b8e07 Added expected_checkout as editable field in asset edit 2021-01-12 16:48:49 -08:00
snipe c00a1fa21b Added new generic datepicker partial 2021-01-12 16:48:32 -08:00
snipe bbcd215ea4 Suppress OAuth token errors 2021-01-12 08:58:40 -08:00
Godfrey Martinez 444f9a81da Bug/ch15603/read only text field in saml screen dark (#8993)
* fixed dark mode skins read only color schema

* fixed dark mode skins read only color schema
2021-01-11 14:07:55 -08:00
snipe b4eee5a9b7 Merge remote-tracking branch 'origin/develop' 2021-01-05 19:40:25 -08:00
Ivan Nieto 72f9fe444d Fix for default parameters in JS functions IE (#8973)
* Small fix for IE which doesn't support default parameters in the function definition

* Stylistic changes for better comprehension
2021-01-05 19:25:30 -08:00
snipe eb423c252a Merge remote-tracking branch 'origin/develop'
# Conflicts:
#	config/version.php
2021-01-04 09:09:39 -08:00
snipe 382fb31670 Updated translations (Finnish, Polish, Japanese, Turkish, Spanish) 2020-12-30 12:51:09 -08:00
snipe e6ba4a423d Fixed #8721 - duplicate asset tags in select list when asset has name 2020-12-21 13:43:54 -08:00
snipe 13ed6cde67 Migration to confirm password min complies with newer Laravel min 2020-12-21 12:39:19 -08:00
snipe cac78cdbf3 Use snipe-logo.png as default in settings seeder 2020-12-21 11:36:43 -08:00
snipe 8b67326e95 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2020-12-21 11:35:21 -08:00
snipe f65bc5caee Updated logos 2020-12-21 11:35:17 -08:00
Brady Wetherington 0329028e2c Fixed #8926, #8252 - introduce circular reference check for location parent_id - rebased from #8253 (#8927)
* Fixed #8252 - circular references in location parents

* Remove non-translated translation changes

* Fix typo

* Add loop limit to avoid unforseen infinite loops

* Remove check against parent_id in location controllers

* Remove the Location->id=null piece (no longer needed)

* Fix some formatting and whitespace

* Re-introduce accidentally merged-out language file

Co-authored-by: Travis Miller <milletr@tulsaschools.org>
2020-12-18 17:18:04 -08:00
snipe d3d96c8285 Reverted composer until we can figure out wtf happened 2020-12-15 17:25:17 -08:00
snipe 5909860c5a Updated exception handler 2020-12-15 17:25:05 -08:00
snipe 1023fa3edd Re-added updated slack library 2020-12-15 14:10:57 -08:00
snipe 65e6d56f1f Display the extension error at the bottom of the extension list to make it more noticable 2020-12-15 14:09:42 -08:00
snipe bf34385c3e Temp revert to old slack library
Getting a weird error, need to troubleshoot remotely
2020-12-15 13:43:18 -08:00
Godfrey Martinez 55a526a6b3 corrected background color for bulk checkout listable items in all da… (#8916)
* corrected background color for bulk checkout listable items in all dark schemas

* resubmitting
2020-12-15 12:37:22 -08:00
Evgeny bbf7fbcff4 Localization digit separator feature. (#8915)
Provides an ability to localize the purchase_cost field in front-end hardware index table.
Has two digit separator formats in admin settings with comma and dot.
2020-12-15 11:49:13 -08:00
snipe 4a5cb94d94 Switch version file back to develop 2020-12-14 17:47:02 -08:00
snipe cb184a9687 Updated composer.lock with newer packages 2020-12-14 17:46:39 -08:00
Alexander Chibrikin fb37dbed92 use supported package for slack (#8867)
* Updated version.php to master

* use supported package for slack

Co-authored-by: snipe <snipe@snipe.net>
2020-12-14 17:45:00 -08:00
João Paulo e410696a36 Fixed #8884: Fixed alpine image build (#8885)
* Fixed #8884: update alpine image dependencies, fix permission error in vendor folder and laravel.log file

* Fixed #8884: Removes unnecessary changes to fix alpine image build

* Fixed #8884: Removes unnecessary changes to fix alpine image build

* Fixed #8884: Fix typo
2020-12-14 17:42:43 -08:00
snipe 45bfec5cd3 Match setup admin on Quickstart password with min reqs for Settings model 2020-12-11 13:52:48 -08:00
snipe 055522510b Fixed logo in seeder 2020-12-09 08:48:47 -08:00
snipe f1d0d1bfe7 Merge remote-tracking branch 'origin/develop' 2020-12-09 08:19:18 -08:00
snipe c0aa6c153e Better callout for warning on api token page 2020-12-09 08:19:04 -08:00
snipe da3451bf0d Merge remote-tracking branch 'origin/develop' 2020-12-09 08:15:04 -08:00
snipe 5f76e03616 Clarified API url info in account > api 2020-12-09 08:14:44 -08:00
snipe 84710eac98 Merge remote-tracking branch 'origin/develop' 2020-12-08 21:10:05 -08:00
snipe 81bf41a091 Added an explanation for folks trying to access the API base endpoint with no real endpoint 2020-12-08 21:05:01 -08:00
snipe 134acf3b87 Merge remote-tracking branch 'origin/develop' 2020-12-08 20:04:19 -08:00
snipe 82d8b2ab82 Fixed weird parsing in newer markdown 2020-12-08 20:04:01 -08:00
snipe adc0d3a6ac Merge remote-tracking branch 'origin/develop'
# Conflicts:
#	config/version.php
2020-12-08 16:53:43 -08:00
snipe 8b15841c4b Bumped version 2020-12-07 19:16:42 -08:00
snipe fd4ee60276 Merge remote-tracking branch 'origin/develop' 2020-12-07 19:14:00 -08:00
Brady Wetherington 93358b5872 Merge pull request #8863 from johnson-yi/fixes/saml_debug
Fixes #8853 - allow saml to be more easily debugged
2020-12-07 14:50:23 -08:00
Johnson Yi 1c4e20c712 Allow saml to be more easily debugged 2020-12-04 21:54:04 +11:00
snipe 0e1f6a3fd1 Merge remote-tracking branch 'origin/develop' 2020-12-02 12:38:16 -08:00
snipe 71d0e6369e Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2020-12-02 11:01:10 -08:00
snipe b27aeb1952 Added LDAP flag in users API for #8741 2020-12-02 11:01:05 -08:00
snipe bec2b170ec Only overwrite notes if the LDAP user is new 2020-12-02 11:00:18 -08:00
snipe 269d3fe509 Make assigned_to_id nullable 2020-12-02 10:48:34 -08:00
Brady Wetherington 34d5473553 Fixes 8472 (again) - LDAP sync was assigning a bad default location (#8846) 2020-12-01 21:26:52 -08:00
snipe 4ac15daee7 Fixed #8147 - allow webp image format for public file uploads 2020-12-01 19:06:53 -08:00
snipe 5f3a1f6287 Merge remote-tracking branch 'origin/develop' 2020-11-30 20:47:03 -08:00
snipe bfc60864dd Fixed typo on route for licenses 2020-11-30 20:46:45 -08:00
snipe ffa2701f89 Fixed typo in demo logo 2020-11-30 18:59:44 -08:00
snipe 60d269afb5 Merge remote-tracking branch 'origin/develop'
# Conflicts:
#	config/version.php
2020-11-30 17:28:46 -08:00
snipe e2cb7a0242 Bumped version 2020-11-30 17:28:03 -08:00
snipe f9b1fdc36b Merge remote-tracking branch 'origin/develop' 2020-11-30 17:26:31 -08:00
Brady Wetherington 93cf8d4e0a Forward-port of the old LDAP sync system (#8801)
* Forward-port of the old LDAP sync system

* Need to rename the class to avoid classname conflicts

* Make 'classic' LDAP sync not add surrounding parens to filters that already have them

* Re-work Test LDAP button to return 10 sample users

* Remove useless debugging code
2020-11-30 17:11:44 -08:00
snipe e83bc03d97 Switch backup files array order to show latest first [ch15486]' 2020-11-30 14:46:10 -08:00
snipe b0d493ee51 Merge remote-tracking branch 'origin/develop' 2020-11-30 12:54:30 -08:00
snipe 4882b01787 Added purchase order and order number to user > licenses view 2020-11-30 12:54:15 -08:00
snipe f9dcf0783a Added phantomjs to package.json 2020-11-28 16:58:02 -08:00
snipe 985f3658be Added wider logo 2020-11-27 18:17:09 -08:00
snipe 705dd34f3e Removed older SAML fields 2020-11-27 18:14:32 -08:00
snipe 6cf5426540 Removed unused validation rule 2020-11-25 11:00:28 -08:00
snipe 2105a1ec1d Merge remote-tracking branch 'origin/develop' 2020-11-25 08:55:14 -08:00
snipe f475bdbb2d Fixed #8797 - use html_entity_decode in fullName presenter for User 2020-11-25 08:54:23 -08:00
snipe 96eb623229 Merge remote-tracking branch 'origin/develop' 2020-11-25 01:53:21 -08:00
snipe 820a39cc90 Fixed #8814 - added App\Models\Recipients\AlertRecipient 2020-11-25 01:52:56 -08:00
snipe 615051cf66 Skip posix_getpwuid in upgrader if posix isn’t installed
We don’t need it for anything else, so no need to require it. Posix not being installed usually means it’s a windows machine.
2020-11-25 01:19:32 -08:00
snipe bef42eb43c Merge remote-tracking branch 'origin/develop' 2020-11-25 00:47:15 -08:00
snipe 6f99ce2b07 Branding page UI improvements (image previews inline) 2020-11-25 00:45:46 -08:00
snipe 76ee5a679b Fixed #8810 - email logo was not being used in emails 2020-11-25 00:05:02 -08:00
snipe 26e4354433 Merge remote-tracking branch 'origin/develop' 2020-11-24 19:49:59 -08:00
snipe 72fc03aa50 Adds location to searchableRelations for asset model 2020-11-24 19:49:46 -08:00
snipe bf1f8659cb Merge remote-tracking branch 'origin/develop' 2020-11-24 16:06:01 -08:00
snipe c0d7564658 Fixed #8794 - Switched to firstOrCreate to create parents on import 2020-11-24 16:05:24 -08:00
snipe 74b26a349c Merge remote-tracking branch 'origin/develop'
# Conflicts:
#	config/version.php
2020-11-24 13:54:02 -08:00
snipe e9bfb157bb Bumped version. Again. 2020-11-24 13:53:28 -08:00
snipe ef957399aa Merge remote-tracking branch 'origin/develop' 2020-11-24 13:51:19 -08:00
snipe 973eacf6c3 Small fixes for SAML
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.)
2020-11-24 13:51:02 -08:00
snipe 02fef7049f Merge remote-tracking branch 'origin/develop'
# Conflicts:
#	config/version.php
2020-11-24 12:17:38 -08:00
snipe b2660002b9 Fixed #8781 - added asset count by status type (#8806) 2020-11-24 12:15:07 -08:00
snipe 2c0b9f959b Comment with possible alternatve to the custom undeleted validator 2020-11-24 12:01:09 -08:00
snipe 51286d2244 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2020-11-24 11:40:35 -08:00
snipe 712363f861 Bumped version 2020-11-23 12:33:07 -08:00
johnson-yi 0cdd83aabf Fixes #8584, #8654, #8727 - fixes and improvements for saml (#8795)
* Let onelogin/php-saml know to use 'X-Forwarded-*' headers if it is from a trusted proxy

* Gracefully handle the case where openssl_csr_new fails when openssl.cnf is invalid/missing

* Improve ui of saml sp metadata by displaying it's url and a download button
2020-11-20 18:54:25 -08:00
snipe 98dfb9d1b5 Merge remote-tracking branch 'origin/develop' 2020-11-20 14:35:12 -08:00
snipe ae5635ff97 Merge remote-tracking branch 'origin/develop' 2020-11-20 14:34:43 -08:00
snipe 8a38b9d018 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2020-11-20 14:34:35 -08:00
Brady Wetherington 734cb941dd Fix for #8772 - initial LDAP import of users are deactivated (#8776) 2020-11-20 11:11:14 -08:00
snipe c66f8c04c8 For for deleted user API 2020-11-18 14:57:44 -08:00
Brady Wetherington fa24799d2b Change license serial type to TEXT for longer license files (#8782) 2020-11-18 14:22:51 -08:00
snipe 57d6a7d35e Fixed #8753 - create-asset-from-model did not preselect the model 2020-11-18 13:59:02 -08:00
snipe 9e2d402c3a Merge remote-tracking branch 'origin/develop' 2020-11-18 07:06:33 -08:00
snipe 551e28eec9 Fixed #8749 - added more default colors to prevent missing index in pie chart math 2020-11-18 07:06:14 -08:00
snipe 9e30be8a04 Merge remote-tracking branch 'origin/develop' 2020-11-17 22:31:46 -08:00
Brady Wetherington 8457207c8f Fix for 500-page on deactivated LDAP user trying to log in (#8774) 2020-11-17 22:31:22 -08:00
snipe cc4f1a1485 Merge remote-tracking branch 'origin/develop' 2020-11-17 22:20:38 -08:00
snipe 2ea805b7ed Added search/sort by Location OU, added to listing 2020-11-17 22:17:07 -08:00
snipe 20ef74db42 Merge remote-tracking branch 'origin/develop' 2020-11-17 19:26:15 -08:00
Brady Wetherington 3dda4c9116 Add a new UAC setting to valid User Accounts for Active Directory (#8775) 2020-11-17 19:25:49 -08:00
snipe e805feff9e Merge remote-tracking branch 'origin/develop' 2020-11-17 19:22:56 -08:00
snipe 0286cf6d46 Prevent license categories from being deleted if there are licenses in that category 2020-11-17 19:22:10 -08:00
snipe 6ebdfdbabb Merge remote-tracking branch 'origin/develop' 2020-11-17 16:16:11 -08:00
snipe 68487e1200 Added img-responsive class to preview images 2020-11-17 16:15:25 -08:00
snipe f19b9a44fc Fixed #8773 - wrong path for suppliers image on suppliers edit 2020-11-17 16:10:54 -08:00
snipe 124af6ac6b Merge remote-tracking branch 'origin/develop' 2020-11-17 14:33:35 -08:00
snipe 7f126969d0 Fixed #8601 - Switched to “attachment” from “base64” 2020-11-17 14:33:16 -08:00
snipe e4b0e9673d Merge remote-tracking branch 'origin/develop' 2020-11-17 13:43:46 -08:00
snipe 7ab44ca963 Ignore php-lint cache 2020-11-17 13:43:24 -08:00
snipe 4898b58bdb Fixed #8765 - UI not indicating model is required 2020-11-17 13:40:15 -08:00
snipe 9b1e7ba8a6 Updated translations with new strings 2020-11-17 13:22:53 -08:00
snipe e3d2369151 Fixed #8769 - incorrect translation for “DELETE” in purge 2020-11-17 12:01:02 -08:00
snipe e5f0a12c25 Updated version.php to master 2020-11-17 00:14:28 -08:00
Brady Wetherington de6f3f866f Attempt to solve LDAP sync overriding administrator choices (#8742) 2020-11-17 00:11:00 -08:00
snipe 8444a60bc9 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2020-11-16 23:57:23 -08:00
snipe 3237411b5d Bumped version 2020-11-16 23:57:17 -08:00
snipe 5ba1659563 Removed dupe date 2020-11-16 23:56:48 -08:00
snipe 6e068ec339 Add @chamilton-ccn as a contributor 2020-11-16 22:15:59 -08:00
Charles Hamilton 4fd666716f Fixed #8482 - Ubuntu version (#8598)
* Bash cannot compare floating point numbers natively. This modification addresses issue #8482 and retains the intended function of the previous code.

* Bash cannot compare floating point numbers natively. This modification addresses issue #8482 and retains the intended function of the previous code.

Co-authored-by: Charles Hamilton <chamilton@dyercpa.com>
2020-11-16 22:15:40 -08:00
snipe 6eb860ca24 Swapped travis build badge for chipper build badge 2020-11-16 21:49:57 -08:00
snipe 903698a7b0 Merge remote-tracking branch 'origin/develop' 2020-11-16 21:35:26 -08:00
snipe 513faf2db5 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2020-11-16 21:34:59 -08:00
snipe 9e46bc6c28 Fix for spanish translation 2020-11-16 21:34:47 -08:00
NMC 402fecd408 Fixed #7850: allow xlsx file. (#8386)
Thanks!
2020-11-16 21:32:15 -08:00
Brady Wetherington a97b15ec96 Re-add LDAP "test login" feature to LDAP settings (helps with #8751) (#8757)
* Start work on re-adding back the "Test LDAP logins" feature to develop

* Add back-end method to allow LDAP test users to try to log in.
2020-11-16 21:23:08 -08:00
snipe 8504c9e8b9 Added phplint to dev in composer 2020-11-16 19:08:04 -08:00
snipe 4ebfd6624c Merge remote-tracking branch 'origin/develop' 2020-11-16 17:24:57 -08:00
snipe fbaf6e2494 Fixed #8747 - upload path for uploaded images 2020-11-16 16:39:02 -08:00
snipe 612d3f9b2a Merge remote-tracking branch 'origin/develop' 2020-11-16 13:32:53 -08:00
Brady Wetherington 6e4ab5cd96 Fix for #8746 - missing comma in a translation file (#8756) 2020-11-16 13:29:57 -08:00
snipe 849966d2c5 Merge remote-tracking branch 'origin/develop' 2020-11-13 16:48:58 -08:00
snipe 1f5bcf2475 Added option to download activity report 2020-11-13 16:25:05 -08:00
snipe 58c476195b Bumped hash 2020-11-13 14:14:27 -08:00
snipe dcd98a7bf1 Bumped hash 2020-11-13 14:13:44 -08:00
snipe 686ab681e5 Removed duplicate badge 2020-11-13 13:54:27 -08:00
snipe 052f8e2c42 Addresses - not fixes - #8740
More investigation here is needed
2020-11-13 12:34:42 -08:00
snipe e9578ba8a1 Fixed #8737 - incorrect validation string for components update 2020-11-13 12:09:48 -08:00
snipe 0c0de5e351 Added clarity in language as to what the activated flag does on LDAP screens 2020-11-13 11:52:34 -08:00
snipe 10cadecd14 Moved a few of the user edit fields to make more sense (optional stuff further down) 2020-11-13 11:52:09 -08:00
snipe 644084658a Merge remote-tracking branch 'origin/develop' 2020-11-13 04:30:03 -08:00
snipe 07936ea901 Changed asset name to asset tag in maintenances 2020-11-13 03:38:31 -08:00
snipe 08784f9cc5 Make expected_checkin fillable 2020-11-13 03:22:26 -08:00
snipe a87e615e7f Fixed #8544 - escaping on maintenance notes 2020-11-12 23:55:16 -08:00
snipe df5cc7525e Merge remote-tracking branch 'origin/develop' 2020-11-12 23:39:09 -08:00
snipe 75b8c3455c Fixed #8609 - custom fieldsets not draggable anymore (regression) 2020-11-12 23:38:12 -08:00
snipe 81d38a0ded Fixed #8733 - typo in unaccepted assets report 2020-11-12 23:26:05 -08:00
snipe b2a8af2fa9 Fixed #8647 - Added additional help info on importer page 2020-11-12 22:46:51 -08:00
snipe 9d2363741e Improved 2FA reset layout 2020-11-12 22:25:07 -08:00
snipe fc6a33ad38 Added some LDAP debugging - related to #8670 2020-11-12 22:19:16 -08:00
snipe 896ce3456e Possible fix for #8670 - LDAP users deactivated on login 2020-11-12 22:18:49 -08:00
snipe 9db191f0b2 Fixes for #8732 - Flysystem paths, migrator script 2020-11-12 21:46:06 -08:00
snipe c7d752fb65 Added S3 url into CSP 2020-11-12 19:50:01 -08:00
snipe 5026177161 Added link to bricelabelle/snipe-it-bulkedit 2020-11-12 18:55:02 -08:00
snipe d2805442ad Updated Laravel version 2020-11-12 18:54:49 -08:00
snipe 7765c87387 Fixed #8669 - Allow application/xml in SAML upload in Safari 2020-11-12 18:47:19 -08:00
snipe 6dccf399a5 Fixed offset issue for #8732 2020-11-12 15:51:31 -08:00
snipe 7432e3fb2d Add @dampfklon as a contributor 2020-11-12 15:28:29 -08:00
snipe caeea9f530 Merge remote-tracking branch 'origin/develop' 2020-11-12 15:27:49 -08:00
snipe 0fdfd013e7 Fixed #8715 - wrong API url for unaccepted assets 2020-11-12 15:26:50 -08:00
snipe d537fc5c32 Added linebreak to console confirmation 2020-11-12 15:21:00 -08:00
snipe 9164dda64f Added artisan command to purge logins 2020-11-12 15:20:15 -08:00
snipe 5ea9c31eab Removed debugging 2020-11-12 15:14:56 -08:00
snipe c8572deb5c Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2020-11-12 15:13:50 -08:00
snipe 57d25ebb20 Fixed #8719 - use same convention for file names on licenses as we do on assets 2020-11-12 15:13:45 -08:00
Dampfklon be114176a2 Refactor Expected Checkin Notification into markdown and enable translation (#8236)
Co-authored-by: snipe <snipe@snipe.net>
2020-11-12 15:09:40 -08:00
Dampfklon 1f9b04405c Enable translation of accept-asset page (#8237) 2020-11-12 15:07:45 -08:00
Dampfklon 4ef11c463c Enable translations of checkin notifications (#8235) 2020-11-12 15:05:57 -08:00
Dampfklon 5fb31a5a3f Use translated salutation from other notifications (#8234) 2020-11-12 15:05:22 -08:00
snipe f0e04ab9e4 Fixed #8726 - disallow archived assets to be checked out 2020-11-12 15:01:13 -08:00
snipe 8a65081768 Possible fix for #8732 2020-11-12 14:47:38 -08:00
snipe c451fde466 Fixed exception namespace 2020-11-12 14:27:59 -08:00
snipe 5098d69c05 Fixed stupid auto-indent 2020-11-12 14:20:54 -08:00
snipe b12de13041 Fixed markdown in expiring licenses alert 2020-11-12 14:10:45 -08:00
snipe 72126f7d44 Removed duplicate extension checks 2020-11-12 13:24:53 -08:00
snipe df000ce32f Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2020-11-12 13:22:54 -08:00
snipe 6a2e21f502 More in depth error reporting on mail test failure 2020-11-12 13:22:49 -08:00
Brady Wetherington 5ad6234584 Merge pull request #8730 from winstan/patch-1
Fixed #8699: exclude blank LDAP attributes from searches
2020-11-12 11:26:19 -08:00
Anthony Winstanley cc79bb1449 Exclude blank LDAP attributes
Asking for '' attributes is an error for some LDAP servers.
2020-11-12 09:34:28 -08:00
snipe c8d588871c Merge remote-tracking branch 'origin/develop' 2020-11-11 14:47:30 -08:00
snipe 8890372a69 Production assets with dark skin fixes 2020-11-11 14:47:13 -08:00
Godfrey Martinez 80f2d749a2 Corrected css to the bootstrap popovers for all dark mode skins (#8714)
* added css to the bootstrap popovers in dark blue

* corrects the tool tips css for all dark mode skins other than dark blue
2020-11-11 14:11:39 -08:00
snipe 7f7064c835 Make last_checkout fillable 2020-11-11 13:30:11 -08:00
snipe 31d0b4a46c Merge remote-tracking branch 'origin/develop' 2020-11-10 12:39:55 -08:00
snipe 5759d4819e Improved upgrade.php script to check for PHP extensions (#8712)
* Troubleshooting gd detection :(

* Welp, that didn’t work.

* Improvements to the update script that will make it easier to maintain

* Improved spacing

* Nicer intro

* Sorry for all the commits - I have to push in order to test :(

* More display improvements

* Phrasing!

* More formatting

* Removed extra line break

* Few more formatting changes

* Remove the config caching - it’s too confusing for users

* Added comments

* Temp required extension in the array so I can show output :)

* Added ascii x

* removed extra line break

* Made error message clearer

* Remove extra line

* Removed farts

* Changed phrasing for PHP upgrade warning

* Small tweaks per PR review

* Some spacing fixes

* Added confirmation of the either/ors

* Minor formatting tweaks

* Fixed weird indenting?

* Fixed missing $unused_file variable
2020-11-10 12:39:10 -08:00
snipe c49788dd9f Fixed weird linebreaks in upgrade.php 2020-11-10 09:08:13 -08:00
snipe 3641a6d451 Additional extension checking 2020-11-10 09:06:44 -08:00
snipe 8c79070cd9 Added some extension checking for upgrade.php 2020-11-10 08:47:35 -08:00
snipe f8563bec94 Added some extension checking for upgrade.php 2020-11-10 08:46:19 -08:00
snipe fd7c0bc5fb Use newer blade facade for requests 2020-11-10 08:36:18 -08:00
snipe 7d708572fc Slightly nicer formatting for query 2020-11-10 07:43:54 -08:00
snipe ea68ff1284 Sigh. Typo 2020-11-10 06:51:40 -08:00
snipe 66ccf4da03 Merge remote-tracking branch 'origin/develop' 2020-11-10 06:44:10 -08:00
snipe 0b4a13156f Added more detail and dryrun to assigned_to vs log checker script 2020-11-10 06:43:36 -08:00
snipe a8a3962008 Merge remote-tracking branch 'origin/develop' 2020-11-10 06:17:04 -08:00
snipe e110a7b15e Experimental script to find mismatched IDs based on logs 2020-11-10 06:16:15 -08:00
snipe 30d68309a9 Add ability to checkout an asset if the user it’s assigned_to isn’t valid
This would only happen if a merge-users went wonky
2020-11-10 05:06:47 -08:00
snipe 547d1a5a93 Merge remote-tracking branch 'origin/develop' 2020-11-10 04:43:20 -08:00
snipe adf64361e8 Updated most recent translations 2020-11-10 04:43:02 -08:00
snipe a43fb060f4 Throw an error if the asset cannot be updated in the merge 2020-11-10 04:41:40 -08:00
snipe c607d89817 Merge remote-tracking branch 'origin/develop' 2020-11-10 01:59:18 -08:00
snipe 8c19b11e73 Fixed #8448 - “undefined” when testing email from quickstart 2020-11-10 01:48:18 -08:00
snipe 178ed82dc4 Fixed [ch9336] - Removed time stamp in Depreciation report 2020-11-10 01:13:13 -08:00
snipe 6757df5a2d Added Checkout Date Time to Asset Details Page [ch1418] 2020-11-10 01:02:08 -08:00
snipe 044dfe2620 Fixed [ch945] - Status colors are not displaying correctly in the chart on the dashboard 2020-11-10 00:54:39 -08:00
snipe 9e319e91d6 Merge remote-tracking branch 'origin/develop' 2020-11-09 23:56:33 -08:00
snipe 895a544d4c Fixed [ch15347] - added status in Depreciation Report 2020-11-09 23:56:16 -08:00
snipe 2aa9412565 Bumped version
# Conflicts:
#	config/version.php
2020-11-09 23:09:46 -08:00
snipe 35ab5c7df0 Bumped version 2020-11-09 23:09:10 -08:00
snipe 8a7cd87644 Merge remote-tracking branch 'origin/develop' 2020-11-09 23:05:40 -08:00
snipe 1cdf6f8263 Fixed #8673 - added category to accessories listing on Account > Assigned Assets 2020-11-09 23:05:19 -08:00
snipe b8ad930690 Merge remote-tracking branch 'origin/develop' 2020-11-09 22:55:42 -08:00
snipe ec14a117b7 Display on the API token page the expiration in years
TODO: Translate these strings
2020-11-09 22:55:27 -08:00
snipe b7cc12a466 Merge remote-tracking branch 'origin/develop' 2020-11-09 22:53:23 -08:00
snipe f4080a7aa9 Fixed created_at and expired_at order in API token screen 2020-11-09 22:53:07 -08:00
snipe 5abfbdd1d2 Allow API token expiration in years to be configured via env 2020-11-09 22:52:55 -08:00
snipe 31bbb2d035 Merge remote-tracking branch 'origin/develop' 2020-11-09 22:43:41 -08:00
snipe 33dca84ec7 Show expiry and created at date on API token page 2020-11-09 22:43:27 -08:00
snipe 460485d843 Make API tokens expire in 20 years
TODO: Make this configurable and report the expiration in the UI
2020-11-09 22:33:43 -08:00
snipe b59269d5e2 Bumped version 2020-11-09 21:46:42 -08:00
snipe 118931b6fb Merge remote-tracking branch 'origin/develop' 2020-11-09 21:46:26 -08:00
snipe 8bbf8409b1 Bumped hash 2020-11-09 21:46:08 -08:00
snipe b2101a5188 Merge remote-tracking branch 'origin/develop' 2020-11-09 21:09:05 -08:00
snipe ede20523f2 Fixed #8680 - location image path 2020-11-09 21:08:19 -08:00
snipe 89d9b830a0 Updated PHP requirement 2020-11-09 21:05:41 -08:00
snipe d76eea53c4 Bumped hash 2020-11-09 19:45:27 -08:00
snipe 63a8535de1 Merge remote-tracking branch 'origin/develop' 2020-11-09 19:11:37 -08:00
snipe ef7434b7ac Updated template 2020-11-09 19:11:18 -08:00
snipe 148b375ec2 Make 600 a string for ini_set 2020-11-09 19:11:00 -08:00
snipe d49bc33b54 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2020-11-09 18:21:15 -08:00
snipe 5bff5cb8c0 Updated Crowdin file 2020-11-09 18:21:10 -08:00
snipe c8634d85f5 Merge pull request #8706 from uberbrady/fix_bootstrap_tables_empty_fields
Potential fix for empty-page problem in Assets view
2020-11-09 18:19:42 -08:00
Brady Wetherington a5423649f4 This is the smallest set of changes we can use to work around a change in functionality
in Bootstrap Tables. This should remedy some of the issues we've been having with large
GET strings being sent to the back-end by the Assets system.
2020-11-09 17:36:07 -08:00
snipe b026953190 Merge pull request #8688 from sanjay900/patch-1
Fix AD Accounts with delegation disabled
2020-11-09 16:13:13 -08:00
snipe 3c209b29b1 Merge remote-tracking branch 'origin/develop' 2020-11-09 15:09:05 -08:00
snipe c0fb87c7f9 Merge pull request #8702 from uberbrady/ldap_time_limit_sync
Restore the LDAP_TIME_LIM .env var
2020-11-09 15:08:17 -08:00
snipe 48c3d0fd19 Merge remote-tracking branch 'origin/develop'
# Conflicts:
#	resources/lang/es-VE/general.php
2020-11-09 14:55:11 -08:00
snipe 67f60127be Updated translations with latest from CrowdIn 2020-11-09 14:52:11 -08:00
snipe 4a8a98a7d3 Fixed user test 2020-11-09 14:17:45 -08:00
snipe 4b8e9a962b Fixed Venezuelan translation file 2020-11-09 14:05:31 -08:00
Brady Wetherington 966179290b Restore the LDAP_TIME_LIM env var for ldap sync of very large directories 2020-11-09 11:11:42 -08:00
snipe 6618e88a9a Fixed spanish translation parse error 2020-11-06 10:19:32 -08:00
Sanjay Govind ab6d2987a4 Include documentation from @uberbrady
Previously on v4 this was all documented, so i have copied that documentation across to v5
2020-11-06 12:31:33 +13:00
Sanjay Govind 45c140814f Fix AD Accounts with delegation disabled 2020-11-06 12:02:19 +13:00
snipe 467ff045aa Moved the BACKUP_ENV to new BACKUP block 2020-11-03 14:58:19 -08:00
snipe e0103a7fbd Fixed #8595 - Updated spatie settings 2020-11-03 14:50:02 -08:00
snipe 432263f09f Merge pull request #8671 from mzack5020/patch-1
Fixed #8624 #8312: Re-Added Accessories API
2020-11-03 13:50:38 -08:00
Matthew Zackschewski 911841d188 Re-Added Accessories API
#8312 #8624 Removed unnecessary duplicate licenses endpoint and re-added the user accessories endpoint which was left off.
2020-11-03 16:40:43 -05:00
snipe e8fd2a7fe8 Merge remote-tracking branch 'origin/develop' 2020-11-03 13:07:31 -08:00
snipe df5972c4fa Fixed send creds checkbox in create user form 2020-11-03 13:07:15 -08:00
snipe 4d003ac97a Merge remote-tracking branch 'origin/develop'
# Conflicts:
#	app/Http/Controllers/Auth/ResetPasswordController.php
#	config/version.php
2020-11-03 11:49:34 -08:00
snipe 9f4a212b44 Bumped hash 2020-11-03 11:47:58 -08:00
snipe 12667f41b9 bumped hash 2020-11-03 11:47:13 -08:00
snipe a8390ce4bd Removed debugging 2020-11-03 11:45:19 -08:00
snipe cfc1e1366c Added new password complexity rules to forgot password 2020-11-03 11:42:42 -08:00
snipe 44e5fec707 Fixed #8603 - Use correct CSS path for signature-pad.min.css 2020-11-03 10:01:55 -08:00
snipe f138d3b781 Fixed typo 2020-11-03 01:00:37 -08:00
snipe bbd7a752a0 Minor cleanup 2020-11-02 23:58:49 -08:00
snipe a66a22ffb2 Updated passwordComplexityRulesSaving() signature so it isn’t nullable 2020-11-02 23:58:37 -08:00
snipe b29f794b35 password.expire updated for forgotten password token expiration 2020-11-02 23:58:09 -08:00
snipe 410c99da17 Added signature-pad.min.css to the css directory - should possibly fix #8603 2020-11-02 23:57:39 -08:00
snipe c800662f0c Use username for forgotten password
Since emails are not required to be unique
2020-11-02 23:57:00 -08:00
snipe b828985151 Fixed strpos to !== FALSE in ProfileController for complexity eval 2020-11-02 22:28:56 -08:00
snipe e6f53a53bc Updated min requirement for passwords in lang files 2020-11-02 22:15:01 -08:00
snipe 0c2800c7dd Removed debugging line 2020-11-02 21:26:13 -08:00
snipe a8f9f5239c Merge pull request #8662 from snipe/features/disallow_password_equal_to_username_etc
Fixed #8661 - Added feature to disallow password equal to username, email, etc
2020-11-02 21:09:31 -08:00
snipe 63bb2de4d4 Derp. Check and make sure that setting is actually on 2020-11-02 20:13:54 -08:00
snipe c4b2ef5660 Removed debugging code 2020-11-02 20:10:18 -08:00
snipe 296655542d Added comments 2020-11-02 20:07:39 -08:00
snipe a55694da2f Added validation to disallow password to be the same as username, email, etc 2020-11-02 20:03:26 -08:00
snipe 33bda9b6d1 Added blade option for same_pwd_as_user_fields
Disallows password form value to be the same as username, email, first name or last name
2020-11-02 17:47:25 -08:00
snipe 42347d0f0c Added validation language for same_pwd_as_user_fields 2020-11-02 17:46:30 -08:00
snipe 6554903aeb Removed “use slack” debugging code 2020-11-02 17:46:09 -08:00
snipe 502322be4b Fixed v5 500 server error when requesting multiple [ch15345] 2020-11-02 16:08:38 -08:00
snipe 72facffcbe Fixed demo settings value for support_footer 2020-10-26 15:09:02 -07:00
snipe 001bb3cbe2 Bumped version to “pre” 2020-10-26 15:04:22 -07:00
snipe f42bd3a144 Fixed #8613 - Added deleted_at to user API response, added all=true to include deleted and not-deleted in one call 2020-10-26 14:58:45 -07:00
snipe b9330cf6b1 Fixed #8613 - 500 error on deleted users API call 2020-10-26 14:55:18 -07:00
snipe 2844800caf Merge remote-tracking branch 'origin/develop'
# Conflicts:
#	config/version.php
2020-10-26 14:26:05 -07:00
snipe b7e8b9bad7 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2020-10-26 14:24:43 -07:00
snipe a7ecaa6ebc Merge pull request #8619 from uberbrady/fix_ldap_paging
Fixed #8563 - Clean up AdLdap2 integration to better handle paged result-sets
2020-10-26 14:24:34 -07:00
snipe 7937258f6e Bumped version 2020-10-26 14:24:19 -07:00
Brady Wetherington cce0739bb7 Clean up AdLdap2 integration to better handle paged result-sets 2020-10-26 12:53:45 -07:00
snipe c93f4ef0d5 Merge remote-tracking branch 'origin/develop' 2020-10-23 19:50:56 -07:00
snipe 89e36dbc42 Merge pull request #8606 from uberbrady/fix_cant_manage_self
Add a new custom validator for Users
2020-10-23 19:16:11 -07:00
snipe d317052ede Updated CSS assets with green skin edits 2020-10-23 18:55:00 -07:00
snipe 8ee9e5e059 Fixed #8537 - wrong sorting on dashboard 2020-10-23 18:33:10 -07:00
snipe 2602e4d602 Exclude the config directory from backups
Everything there is handled via .env anyway
2020-10-23 18:21:32 -07:00
snipe f357d9fc90 Include audit settings text in settings overview so they get picked up by the filter box 2020-10-23 18:13:28 -07:00
Brady Wetherington 0eda53c484 Add a new custom validator for Users to prevent someone from managing themselves 2020-10-23 16:55:10 -07:00
snipe 79a4acae1a Merge remote-tracking branch 'origin/develop'
# Conflicts:
#	config/version.php
2020-10-23 14:29:40 -07:00
snipe 91e0b26bbb Bumped version 2020-10-23 14:28:55 -07:00
snipe 5f82214703 Merge remote-tracking branch 'origin/develop' 2020-10-23 14:24:24 -07:00
Brady Wetherington d517e2fd61 Merge pull request #8594 from uberbrady/try_to_fix_ldap_oom
Possible fix to #8563 - unset $ldapUsers to avoid OOM'ing
2020-10-23 14:23:53 -07:00
snipe 28612d8b61 Merge remote-tracking branch 'origin/develop' 2020-10-23 14:23:46 -07:00
snipe 6ee3d0eb97 Merge pull request #8605 from snipe/fixes/legacy_location_id_equals_zero
Fix for legacy location_id=0 issue that can cause failure to checkout/checkin
2020-10-23 14:22:53 -07:00
snipe 7987a4eca4 Used consistent phrasing in query 2020-10-23 14:22:15 -07:00
snipe 2aa8e1e76b Merge pull request #8596 from snipe/fixes/8462_move_accessory_notes
Fixes #8462 - move accessory notes into pivot table
2020-10-23 14:19:51 -07:00
snipe be0e327221 Simplified the migration 2020-10-23 14:14:34 -07:00
snipe 9a1acced58 Fix for legacy location_id=0 issue 2020-10-23 14:00:04 -07:00
snipe d74df93c48 Merge remote-tracking branch 'origin/develop' 2020-10-23 12:10:13 -07:00
snipe b9a9949570 Use the form partial for avatars 2020-10-23 12:09:20 -07:00
snipe 4ccba5337a Added https://gravatar address to CSP 2020-10-23 12:09:03 -07:00
snipe 8aae2b46cd Merge remote-tracking branch 'origin/develop' 2020-10-23 11:56:10 -07:00
snipe d03d4deef9 Temp fix for #8561 - manager_id validation error 2020-10-23 11:55:53 -07:00
snipe 21ceea0aed Removed extra debugging 2020-10-23 08:19:04 -07:00
snipe 2219c9ccb5 Merge remote-tracking branch 'origin/develop' 2020-10-23 06:55:39 -07:00
snipe bf9e53fbe7 Updated markdown templates 2020-10-23 06:55:23 -07:00
snipe f68580b482 Make the email table wider 2020-10-23 06:55:04 -07:00
snipe aec2f2a249 Fixed #8576 - switch to HTML from markdown
This is really stupid. A markdown table with over 3 columns doesn’t render correctly. :(
2020-10-23 06:54:45 -07:00
snipe 831da2d6d1 New mail vendor files 2020-10-23 06:17:07 -07:00
snipe f2aebe5f9a Fixed #8558 - error on asset acceptance when no sig is required 2020-10-23 05:09:03 -07:00
snipe 40c0ba9a95 Merge remote-tracking branch 'origin/develop' 2020-10-23 04:46:44 -07:00
snipe f5a0726f98 Fixed #8597 - Added leading slash to notifications console commands 2020-10-23 04:46:26 -07:00
snipe 2263dae8f4 Fixed HTML 2020-10-23 04:07:55 -07:00
snipe f182ce1c89 Merge remote-tracking branch 'origin/develop'
# Conflicts:
#	config/version.php
2020-10-23 01:12:54 -07:00
snipe c6dde67e86 Bumped version 2020-10-23 01:12:19 -07:00
snipe 88f03e6b55 Added last_checkout and notes from pivot for accessories 2020-10-23 00:44:26 -07:00
snipe 8827d33a43 Fixed query to copy notes 2020-10-23 00:25:20 -07:00
snipe c3e8f64064 Merge remote-tracking branch 'origin/develop' 2020-10-22 23:24:56 -07:00
snipe 68cfbaab2e Fixed signature issue on accepted assets - related to #8577
I have no idea how this ever worked? We didn’t rename that fieldname recently.
2020-10-22 23:20:55 -07:00
snipe 66ac5d05ad Started migration to normalize note 2020-10-22 23:18:14 -07:00
Brady Wetherington 18012279f9 Possible fix to #8563 - unset $ldapUsers to avoid OOM'ing 2020-10-22 21:51:23 -07:00
Brady Wetherington 2abfd8da74 Merge pull request #8568 from uberbrady/fix_wordy_json_ldap_output
Add a dirtiness check to slim down JSON LDAP sync summaries
2020-10-22 21:18:21 -07:00
snipe ec7d70cea0 Merge pull request #8551 from Godmartinz/bug/ch10148/error-when-using-dark-green-skin
fixed the Green skin (dark mode) color scheme on the importer page and asset table
2020-10-22 21:16:52 -07:00
snipe 6c285b0273 Merge pull request #8586 from Godmartinz/Confusing_wording_in_LDAP
reworded the ad_append_domain_help string
2020-10-22 21:15:35 -07:00
snipe e65269e9c7 Merge remote-tracking branch 'origin/develop' 2020-10-22 20:09:16 -07:00
snipe 5d112be49a Fixed #8585 - requested assets page blank 2020-10-22 20:08:33 -07:00
snipe d3f5fde84a Merge remote-tracking branch 'origin/develop' 2020-10-22 19:46:55 -07:00
snipe 496b176d4e Fixed #8589 - unable to accept asset 2020-10-22 19:46:40 -07:00
snipe fd66f7aeb4 Merge remote-tracking branch 'origin/develop' 2020-10-22 19:37:21 -07:00
snipe c71086d2f3 Fixed #8590 - unable to checkin and delete from user view 2020-10-22 19:32:51 -07:00
snipe 153f849ef7 Merge pull request #8581 from fashberg/iss8580
Fixed #8580: ReportsController called method on NULL Object
2020-10-22 13:00:08 -07:00
Godfrey M fcdb945f5f reworded the ad_append_domain_help string 2020-10-22 09:21:18 -07:00
Folke Ashberg 377c92a290 update 2020-10-22 14:33:24 +02:00
Folke Ashberg 5824ac3b28 Fix for #8580
Checking $asset->depreciation before calling $asset->depreciated_date()
2020-10-22 14:22:42 +02:00
Brady Wetherington fad0ed6d5b Add a dirtiness check to slim down JSON LDAP sync summaries 2020-10-21 15:13:36 -07:00
snipe ec9c69323a Merge remote-tracking branch 'origin/develop' 2020-10-21 13:58:58 -07:00
snipe 338106734a Fixed #8562 - manufacturer logo upload failing 2020-10-21 13:57:56 -07:00
snipe 81fcb4c7b3 Merge remote-tracking branch 'origin/develop' 2020-10-21 13:33:04 -07:00
snipe 5ae65d5329 Fixed #8566 - PDF files displaying as ascii instead of downloading 2020-10-21 13:32:46 -07:00
snipe d04b0e4d4b Merge remote-tracking branch 'origin/develop' 2020-10-21 12:23:44 -07:00
snipe a6d0209e93 Fixed #8567 - don’t require model for custom report 2020-10-21 12:23:27 -07:00
snipe 810f6a3970 Merge remote-tracking branch 'origin/develop'
# Conflicts:
#	config/version.php
2020-10-21 12:03:23 -07:00
snipe 1379821876 Removed accompanying method, since we don’t use it 2020-10-21 12:02:25 -07:00
snipe 33236f16ac Bumped minor version 2020-10-21 12:01:36 -07:00
snipe 90dddee923 Remove the storage moving commands - we don’t use this 2020-10-21 12:00:40 -07:00
snipe 7869ffcc79 Merge pull request #8557 from fashberg/develop
Fixed #8543: Change trustedproxy.php to read env('APP_TRUSTED_PROXIES') again
2020-10-21 11:19:23 -07:00
Folke Ashberg 1687e4b850 Fix for Issue #8543
* trustedproxy.php sets 'proxies' again according to
  env('APP_TRUSTED_PROXIES') again
2020-10-21 10:36:27 +02:00
Godfrey M 4a3d8f2cc0 fixed the Green skin (dark mode) color scheme on the importer page and assets table 2020-10-20 15:22:38 -07:00
snipe c19f1b77b0 Merge pull request #8542 from benwa/patch-2
Fix typo
2020-10-20 10:51:45 -07:00
Bennett Blodinger 132f296f03 Fix typo 2020-10-20 08:13:52 -05:00
snipe 870b097f03 Derp. Should be master 2020-10-19 17:49:56 -07:00
snipe 3e2996a46a Merge remote-tracking branch 'origin/develop' 2020-10-19 16:57:24 -07:00
snipe 1090b291c3 Updated node packages, reregnerated assets 2020-10-19 16:56:59 -07:00
snipe 12ae408830 Merge remote-tracking branch 'origin/develop'
# Conflicts:
#	app/Http/Controllers/Auth/ResetPasswordController.php
#	resources/views/auth/passwords/reset.blade.php
2020-10-19 16:40:07 -07:00
snipe a62e8413ba Updated version 2020-10-19 16:36:25 -07:00
snipe c1443aa6eb Pull licenses, accessories, etc - the qty is not accurately reflected 2020-10-19 16:22:55 -07:00
snipe e80b63b5c1 Fixed #8526 - skip cache for setup check 2020-10-19 12:33:38 -07:00
Brady Wetherington 6b1f1a29ef Merge pull request #8525 from uberbrady/fix_nonexistent_ldap_active_flag
Ensure misdefined active flags will not prevent user syncing
2020-10-19 10:56:40 -07:00
snipe 36436f7929 Nope - was right the first time. Sigh. 2020-10-15 19:17:08 -07:00
snipe 569905ad06 Fixed “down” migration 2020-10-15 19:15:33 -07:00
Brady Wetherington b626b7895a Ensure misdefined active flags will not prevent user syncing 2020-10-15 19:10:47 -07:00
snipe eebb463601 Merge pull request #8524 from snipe/fixes/8513_weird_oauth_table_migration_fsckery
Fixed #8513 - Manually created oauth tables
2020-10-15 18:27:36 -07:00
snipe 8f0b3ace92 Manuall created oauth tables
We shouldn’t have to do this, but…
2020-10-15 18:20:41 -07:00
snipe 2dc027e479 Bumped GM version 2020-10-09 17:29:31 -07:00
snipe 51d804c971 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2020-10-09 17:24:55 -07:00
snipe fa41b74856 Fixed parse error in Columbian spanish translation 2020-10-09 17:24:48 -07:00
snipe 701f35e063 Merge pull request #8508 from uberbrady/fix_ad_logins_v5
[Discuss] Fix some logic bugs in the AD-specific code for logging in via AD/LDAP
2020-10-09 17:15:55 -07:00
snipe a39069bc45 Small UI improvements to API keys page 2020-10-09 16:02:30 -07:00
Brady Wetherington be4aa07d8c Some logic bugs in the AD-specific code for logging in via AD/LDAP 2020-10-09 15:33:17 -07:00
snipe 714ad071ca Add API endpoint to API keys page
// TODO - localize it
2020-10-09 14:46:11 -07:00
snipe 0954ff0659 Fixed lost ldap password on save when nothing entered 2020-10-09 13:08:51 -07:00
snipe 33cf4896d8 Use password complexity rules on password reset 2020-10-08 19:28:21 -07:00
snipe c0f9a35dea Fixed password reset blade with correct username 2020-10-08 18:47:42 -07:00
snipe 8a1136d80a Use password security settings on password reset 2020-10-08 18:43:39 -07:00
snipe 292370b02f Cleaned up validation 2020-10-08 18:43:23 -07:00
snipe d7e58a35bf Revert "Updated translations"
This reverts commit aad14b4d7a.
2020-10-08 18:43:06 -07:00
snipe aad14b4d7a Updated translations 2020-10-06 19:30:04 -07:00
snipe 01a98c38dc Added welsh as an localization option 2020-10-06 19:16:29 -07:00
snipe 4dbf1f58e3 Bumped RC to GM 2020-10-06 19:11:34 -07:00
snipe f5116d4cb5 Merge pull request #8499 from uberbrady/fix_v5_AD_OU_handling
Modify Snipe-IT v5 AD handling to use the same ldap_host as for LDAP
2020-10-06 18:56:54 -07:00
Brady Wetherington b015cff8bd Modify Snipe-IT v5 AD handling to use the same ldap_host, and improve OU handling 2020-10-06 18:31:06 -07:00
snipe 0e632cc7fb Merge pull request #8494 from snipe/features/nuke_barcodes
Added utility to delete barcode cache from labels/barcodes setting
2020-10-06 17:42:57 -07:00
snipe b49c5dbf06 Clarified language 2020-10-05 20:43:28 -07:00
snipe 6234c6e5fc Fixed typo 2020-10-05 20:35:27 -07:00
snipe 0cd19c87bf Added utility to delete barcode cache from labels/barcodes setting 2020-10-05 20:34:17 -07:00
snipe 14a10f60d9 Undo previous change (it was an intentional choice) 2020-09-29 15:24:50 -07:00
snipe 186e229190 Make date example reflect actual date 2020-09-28 19:01:58 -07:00
snipe dafac4ceb3 Disable ldap_enabled on demo, fixed some incorrect error messages 2020-09-25 19:04:38 -07:00
snipe 98b9ee9b25 Only save LDAP settings if not in demo mode 2020-09-25 18:38:26 -07:00
snipe 01548ba39d Add ad_append_domain to settings controller 2020-09-25 18:27:22 -07:00
snipe 695774a3fb Corrected throttle string 2020-09-24 23:39:32 -07:00
snipe 98246de4c7 Disable SAML on the demo 2020-09-24 19:25:28 -07:00
snipe da9896b59a Remove SAML settings on demo reset 2020-09-24 19:13:31 -07:00
snipe b0e9875a50 Counting is hard. :( 2020-09-24 14:20:29 -07:00
snipe 7314bc4c4e Bumped hash for newest RC 2020-09-24 14:19:34 -07:00
snipe ba70e07637 Merge pull request #8466 from benwa/gmaps-8465
Changes Google Map to be a bit more detailed
2020-09-22 17:59:45 -07:00
Bennett Blodinger 83dfa2a28c Merge branch 'develop' into gmaps-8465 2020-09-22 17:41:38 -05:00
Blodinger 471e0fd2fc Changes the Google Maps window to be a bit more detailed 2020-09-22 14:30:38 -05:00
snipe 4bd140c324 Merge pull request #8451 from snipe/fixes/fix_ldap_js
No longer toggle the 'disabled' attribute for ldap_server based on is_ad
2020-09-17 14:14:23 -07:00
Brady Wetherington 0e823a962b Fix for #8424 - where the ldap_server setting was grayed out 2020-09-17 13:32:14 -07:00
snipe 002ca52c83 Standardize feature disabled messages in UI 2020-09-16 15:09:58 -07:00
snipe 9793d75947 Merge pull request #8445 from snipe/improve_slack_test_flow_js
Improve slack test flow js
2020-09-16 13:28:10 -07:00
Brady Wetherington 8331be05aa Some fancy JS to enable/disable Slack-test based on field values 2020-09-16 13:15:39 -07:00
snipe e8dfb71682 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop
# Conflicts:
#	resources/views/settings/slack.blade.php
2020-09-16 12:40:23 -07:00
snipe 7de685a1c1 Added demo disabled text on slack screen 2020-09-16 12:36:33 -07:00
snipe b508482441 Merge pull request #8438 from snipe/features/nicer_slack_ui
Nicer slack settings UI
2020-09-16 12:29:58 -07:00
snipe 30f8431bfb Added required field indicator 2020-09-16 12:29:20 -07:00
snipe 81548e581d Fixed #8443 - wrong value for array_key_exists on location import 2020-09-16 11:45:47 -07:00
snipe a3e738b283 Fixed #8442 - wrong CSS url path on /setup 2020-09-16 11:20:59 -07:00
snipe ed3afd1e2e Removed debugging 2020-09-15 23:19:52 -07:00
snipe 74b96a7413 UI tweaks and updated JS to disable the save button if the settings are not correct 2020-09-15 23:14:10 -07:00
snipe 3ceff29e04 Added some translations for Slack integration 2020-09-15 23:05:42 -07:00
snipe 7736f12eb4 Switch to Guzzle for the Slack test 2020-09-15 23:05:27 -07:00
snipe b1dda88c9d Removed SlackTest notification 2020-09-15 23:05:05 -07:00
snipe 440ca686e4 More verbose warning for data purge 2020-09-15 20:53:07 -07:00
snipe 4fd5358aa8 Changed login attempts icon so it’s not the same as SAML 2020-09-15 20:27:01 -07:00
snipe 2855a9b2e8 Added debugging to file upload for easier diagnostics 2020-09-15 20:07:46 -07:00
snipe e8befe9afd Increased favicon filesize max 2020-09-15 20:07:29 -07:00
snipe d5f8e93d7c Moved delete logo option higher for nicer layout 2020-09-15 19:52:34 -07:00
snipe 303388e1f5 Added a space between favicon help text blocks 2020-09-15 19:50:15 -07:00
snipe b9e19468e5 Bumped version for v4.9.5 2020-09-15 18:43:19 -07:00
snipe 9601bf6edd Make “remove image” text clearer 2020-09-15 11:57:40 -07:00
snipe 3b6fb68ff1 Added space between padlock icon and demo warning text 2020-09-15 11:40:36 -07:00
snipe bfd024fdfd Merge pull request #8434 from inietov/bug/ch15182/make-all-of-the-this-feature-has-been-disabled
Thanks!
2020-09-15 11:21:35 -07:00
snipe 4d6a8d48ee Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2020-09-15 10:15:17 -07:00
snipe e464f0edf3 Small UI tweaks for kits 2020-09-15 10:15:14 -07:00
snipe 426897c902 Bumped hash 2020-09-15 10:13:55 -07:00
snipe cfd78fa870 Merge pull request #8435 from inietov/bug/ch15188/v5-500-server-error-in-update-general-settings
Looks great, thank you!
2020-09-15 02:34:59 -07:00
Ivan Nieto 501d5680ea Fix [ch15188] 500 error 2020-09-15 03:51:10 -05:00
Ivan Nieto 291997c915 Change the class of a reusable element so the icon changes from a warning to a padlock 2020-09-15 01:32:46 -05:00
snipe 912401a0a0 Change warning icon to padlock icon 2020-09-12 12:07:56 -07:00
snipe ec5daa387b Better explanation for demo mode 2020-09-12 10:04:57 -07:00
snipe 24a52eaeae Bumped hash 2020-09-12 10:04:36 -07:00
snipe e448b626e2 Removed pagaination from dashboard 2020-09-12 08:37:37 -07:00
snipe ac2403e8fc Fixed markdown issue in markdown notifications 2020-09-11 17:12:33 -07:00
snipe cf545f0ed1 Fixed form layout on accessory checkin page 2020-09-11 16:20:56 -07:00
snipe 52848ca8d8 Fixed checkin/checkout notification crashing 2020-09-11 16:10:18 -07:00
snipe a91e81fc42 Added checkin_email to category listing 2020-09-11 16:06:38 -07:00
snipe e750b2b2da Added envelope css to overrides for table header 2020-09-11 16:06:19 -07:00
snipe d3d64bd85c Removed asset tag from accessory checkin markdown notification 2020-09-11 16:06:02 -07:00
snipe 514e7ca072 Added boolean has_eula to categories 2020-09-11 16:05:42 -07:00
snipe 0f22cf6807 Fixed #8428 - Added purchase cost column to user tabs 2020-09-11 11:48:51 -07:00
snipe 2f435a57c1 Fixed #8426 - show model number in custom fields model listing 2020-09-11 11:27:30 -07:00
snipe f949a95cfb Merge pull request #8423 from snipe/fix_ldap_test_php74
Fix ldap test php74
2020-09-09 14:38:26 -07:00
Brady Wetherington f3f7d714a6 Fix ldap test button for php 7.4 (suppressing errors) 2020-09-09 14:18:05 -07:00
snipe b258f34bce Merge branch 'integrations/rc5-4-2020-08-31-dev-into-master' into develop 2020-09-09 12:27:01 -07:00
snipe 3d4e1d4641 Merge pull request #8419 from snipe/fixes/ldap_init_fix_for_migrations
Hopefully fixes #8418 - migrations on new install go wonky because of…
2020-09-09 12:26:01 -07:00
snipe cb5104c27d Hopefully fixes #8418 - migrations on new install go wonky because of LDAP service provider 2020-09-08 21:13:24 -07:00
snipe 5e3ccd1004 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2020-09-08 18:29:38 -07:00
snipe 82e0b1ffd8 Fixed [ch15130] - update the seeder to clear requested assets table 2020-09-08 18:29:02 -07:00
snipe 5b68a321a6 Added comapny formatter to asset maintenance report - fixes [ch15119] 2020-09-08 18:15:45 -07:00
snipe 251ef82741 Added company formatter to asset maintenance report 2020-09-08 18:14:21 -07:00
snipe 327583f055 Merge branch 'integrations/rc5-4-2020-08-31-dev-into-master' into develop 2020-09-04 16:24:17 -07:00
snipe acd15bc3e4 Fixed DB seeder to truncate the asset_maintenances table
This wouldn’t have affected anything in production, but could cause some weird behavior if re-seeding often, since the suppliers table gets stomped on but the old maintenances remained, leaving ghost entries and associating the wrong (old, now defunct) supplier with the maintenance as new supplier IDs get generated.
2020-09-04 16:23:58 -07:00
snipe aabf9b6f9c Merge branch 'integrations/rc5-4-2020-08-31-dev-into-master' into develop 2020-09-04 16:02:38 -07:00
snipe 10648de9af Bulk Checkin and Delete also edit users [ch15107] 2020-09-04 16:02:25 -07:00
snipe 97743160ef Merge branch 'integrations/rc5-4-2020-08-31-dev-into-master' into develop 2020-09-04 15:45:03 -07:00
snipe 1bea83ee5a Fixed missing setting call
This is still broken further down the line in the event handler for license checkin, but this gets us closer
2020-09-04 15:44:37 -07:00
snipe d9e7a457d4 Fixed regression on select menus [ch15093]
Custom report doesn’t pass an $item, so we have to check for that in that required check
2020-09-04 15:43:49 -07:00
snipe 5f5b80acae Added maintained and reassignable to license listing 2020-09-04 10:02:04 -07:00
snipe ba06507e10 Merge branch 'integrations/rc5-4-2020-08-31-dev-into-master' into develop 2020-09-03 19:47:50 -07:00
snipe 69d7000922 Fixed [ch15085] - duplicate use statements in Consumables controller 2020-09-03 19:47:15 -07:00
snipe 96abe54aad Merge branch 'integrations/rc5-4-2020-08-31-dev-into-master' into develop 2020-09-03 19:41:09 -07:00
snipe 249b9b7509 Fixed [ch15086] - [object object] in companies date displays 2020-09-03 19:40:17 -07:00
snipe 25cb489b76 Merge branch 'integrations/rc5-4-2020-08-31-dev-into-master' into develop 2020-09-03 17:00:26 -07:00
snipe 0eeeb24cae Added data-validation=“required" to appropriate field partials 2020-09-03 16:59:42 -07:00
snipe 0503a51cae Corrected validation to match model 2020-09-03 16:58:45 -07:00
snipe 2e0f7921a8 Removed commented out javascript 2020-09-03 16:58:16 -07:00
snipe c29ec6a100 Removed duplicate state field 2020-09-03 16:00:26 -07:00
snipe a57ab29af6 Accessibility features for custom fields icons 2020-09-03 15:55:52 -07:00
snipe b8ddbadd2b Use icons for 2FA, LDAP, etc info on user view 2020-09-03 15:55:41 -07:00
snipe 3e120812e3 Removed 2FA reset button if the user is not enrolled in 2FA 2020-09-03 15:55:20 -07:00
snipe d0124b900a Merge branch 'integrations/rc5-4-2020-08-31-dev-into-master' into develop 2020-09-03 15:14:06 -07:00
snipe 3ea3e8b856 Updated user asset listing to use bootstrap-tables and asset endpoint [ch1389] 2020-09-03 15:12:51 -07:00
snipe 0ace7d16fb Merge branch 'integrations/rc5-4-2020-08-31-dev-into-master' into develop 2020-09-03 14:08:01 -07:00
snipe fb59405a87 User view can t be loaded [ch15079] 2020-09-03 14:07:30 -07:00
Ivan Nieto 3fcd83c499 Fixes some errors in forms using the deprecated Input:: facade 2020-09-03 13:42:33 -05:00
snipe 9820bc6a58 Merge branch 'integrations/intermediate-2020-08-31-v5-rc' into develop
# Conflicts:
#	config/version.php
#	public/css/build/all.css
#	public/css/skins/skin-contrast.css
#	public/css/skins/skin-contrast.css.map
#	public/js/build/vue.js
#	public/js/dist/all.js
#	resources/views/custom_fields/fieldsets/view.blade.php
#	resources/views/layouts/default.blade.php
#	resources/views/users/index.blade.php
2020-09-03 09:40:38 -07:00
snipe ed79eacb9d Updated help text 2020-08-31 19:55:30 -07:00
snipe 408435057e Small vue fixes 2020-08-31 19:41:05 -07:00
snipe 7cab9f48e5 Use darker red for errors 2020-08-31 19:40:49 -07:00
snipe addb2bde23 Merge pull request #8392 from snipe/integrations/rc5-4-2020-08-31-dev-into-master
Integrations/rc5 4 2020 08 31 dev into master
2020-08-31 17:24:44 -07:00
snipe a64e1be278 Fixed Input:: () vs request() 2020-08-31 17:18:09 -07:00
snipe 13216b8860 Fixed pGenerator (again) 2020-08-31 17:17:51 -07:00
snipe 2a5cd58ad9 Added gitignore to cache dir 2020-08-31 17:15:21 -07:00
snipe 6a90ce523b Bumped version 2020-08-31 15:38:40 -07:00
snipe 453fc718d9 Merge branch 'develop' into integrations/2020-08-31-dev-into-master
# Conflicts:
#	.all-contributorsrc
#	.nvmrc
#	README.md
#	app/Console/Commands/LdapSync.php
#	app/Http/Controllers/Api/AssetsController.php
#	app/Http/Controllers/Api/ConsumablesController.php
#	app/Http/Controllers/Api/ImportController.php
#	app/Http/Controllers/Assets/AssetsController.php
#	app/Http/Controllers/Auth/LoginController.php
#	app/Http/Controllers/CustomFieldsetsController.php
#	app/Http/Controllers/LicensesController.php
#	app/Http/Controllers/UsersController.php
#	app/Models/Ldap.php
#	composer.json
#	composer.lock
#	config/version.php
#	public/css/build/all.css
#	public/css/dist/all.css
#	public/css/skins/skin-contrast.css
#	public/css/skins/skin-contrast.css.map
#	public/js/build/all.js
#	public/js/build/vue.js
#	public/js/build/vue.js.map
#	public/js/dist/all.js
#	public/mix-manifest.json
#	resources/assets/less/overrides.less
#	resources/views/custom_fields/fieldsets/view.blade.php
#	resources/views/hardware/view.blade.php
#	resources/views/layouts/default.blade.php
#	resources/views/modals/model.blade.php
#	resources/views/modals/user.blade.php
#	resources/views/users/index.blade.php
#	routes/api.php
#	tests/unit/UserTest.php
2020-08-31 12:44:03 -07:00
snipe 9c8ca6af21 Squashed commit of the following:
commit e321aeabae
Merge: 8ec99ff43 37568ae9e
Author: snipe <snipe@snipe.net>
Date:   Mon Aug 31 12:14:44 2020 -0700

    Merge branch 'master' into integrations/2020-08-31-v5-rc

    # Conflicts:
    #	.all-contributorsrc
    #	.nvmrc
    #	README.md
    #	app/Console/Commands/LdapSync.php
    #	app/Http/Controllers/Api/ConsumablesController.php
    #	app/Http/Controllers/Api/ImportController.php
    #	app/Http/Controllers/Assets/AssetsController.php
    #	app/Http/Controllers/Auth/LoginController.php
    #	app/Http/Controllers/CustomFieldsetsController.php
    #	app/Http/Controllers/LicensesController.php
    #	app/Http/Controllers/UsersController.php
    #	app/Importer/import_mappings.md
    #	app/Models/Ldap.php
    #	app/Models/Loggable.php
    #	composer.json
    #	composer.lock
    #	config/version.php
    #	public/css/build/all.css
    #	public/css/dist/all.css
    #	public/css/skins/skin-contrast.css
    #	public/css/skins/skin-contrast.css.map
    #	public/js/build/all.js
    #	public/js/build/vue.js
    #	public/js/build/vue.js.map
    #	public/js/dist/all.js
    #	public/mix-manifest.json
    #	resources/assets/js/components/importer/importer-file.vue
    #	resources/assets/less/overrides.less
    #	resources/macros/macros.php
    #	resources/views/custom_fields/fieldsets/view.blade.php
    #	resources/views/hardware/edit.blade.php
    #	resources/views/hardware/labels.blade.php
    #	resources/views/hardware/view.blade.php
    #	resources/views/layouts/default.blade.php
    #	resources/views/modals/model.blade.php
    #	resources/views/modals/user.blade.php
    #	resources/views/users/index.blade.php
    #	routes/api.php
    #	routes/web/fields.php
    #	tests/unit/UserTest.php

commit 37568ae9ec
Merge: 01a832169 32ad9050c
Author: snipe <snipe@snipe.net>
Date:   Tue Aug 25 20:49:37 2020 -0700

    Merge pull request #8365 from snipe/fixes/8338_google_maps_CSP

    Fixed #8338 - Added google maps to CSP

commit 32ad9050cf
Author: snipe <snipe@snipe.net>
Date:   Tue Aug 25 20:48:53 2020 -0700

    Added google maps to CSP

commit 01a832169c
Merge: bcad49ce7 3c6883489
Author: snipe <snipe@snipe.net>
Date:   Tue Aug 25 20:38:31 2020 -0700

    Merge pull request #8364 from snipe/fixes/8335_assigned_to_null_on_status_assetlist

    Fixed #8335 - added assignedTo scope on status labels API call for assetlist

commit 3c6883489c
Author: snipe <snipe@snipe.net>
Date:   Tue Aug 25 20:37:30 2020 -0700

    Added assignedTo scope

commit bcad49ce79
Author: snipe <snipe@snipe.net>
Date:   Fri Aug 14 16:10:22 2020 -0700

    Try to better handle slack “too many requests” issue

commit b5acca89d7
Author: snipe <snipe@snipe.net>
Date:   Fri Aug 14 16:02:15 2020 -0700

    Check for admin for slack notifications

commit e52919cf1b
Merge: 714576be4 29f3a5c48
Author: snipe <snipe@snipe.net>
Date:   Fri Aug 14 15:35:15 2020 -0700

    Merge pull request #8327 from snipe/features/checkin_license_from_all_users

    Checkin license from all users cli tool

commit 29f3a5c48f
Author: snipe <snipe@snipe.net>
Date:   Fri Aug 14 15:27:40 2020 -0700

    Use more verbose annotation for Auth::user if/else

commit 134e8e6fb9
Author: snipe <snipe@snipe.net>
Date:   Fri Aug 14 15:25:07 2020 -0700

    Moved user email nulling until after the save

commit 714576be45
Merge: b999c50a2 512899294
Author: Brady Wetherington <bwetherington@grokability.com>
Date:   Fri Aug 14 15:24:03 2020 -0700

    Merge pull request #8328 from snipe/fix_deprecation_report

    Fix deprecation report for customers with many active assets

commit 5128992940
Author: Brady Wetherington <uberbrady@gmail.com>
Date:   Fri Aug 14 15:03:03 2020 -0700

    Fix deprecation report for customers with many active assets

commit 0291323502
Author: snipe <snipe@snipe.net>
Date:   Fri Aug 14 14:57:58 2020 -0700

    Use the user as the target

commit e0f6f9b839
Author: snipe <snipe@snipe.net>
Date:   Fri Aug 14 14:43:37 2020 -0700

    Artisan command to check in licenses from all users

commit f1a6308002
Author: snipe <snipe@snipe.net>
Date:   Fri Aug 14 14:43:07 2020 -0700

    Check for Auth::user before trying to log id (for cli)

commit b999c50a2e
Merge: 9ca20e496 e3906b245
Author: snipe <snipe@snipe.net>
Date:   Wed Aug 12 12:37:47 2020 -0700

    Merge pull request #8316 from Godmartinz/bug/ch15028/missing-or-incorrect-error-message-translation

    Looks great, thank you!

commit e3906b245c
Author: Godfrey M <godmartinz@gmail.com>
Date:   Wed Aug 12 12:27:18 2020 -0700

    added translation for admin/licenses/message.not_found

commit 9ca20e4964
Merge: e0644dbbf 456a74d88
Author: Brady Wetherington <bwetherington@grokability.com>
Date:   Tue Aug 11 17:33:19 2020 -0700

    Merge pull request #8313 from snipe/improve_ldap_search_error_reporting

    Improve ldap search error reporting

commit 456a74d88c
Author: Brady Wetherington <uberbrady@gmail.com>
Date:   Tue Aug 11 16:41:20 2020 -0700

    De-merge out incorrectly merged files. Whoops!

commit 799c059070
Author: Brady Wetherington <uberbrady@gmail.com>
Date:   Tue Aug 11 16:21:18 2020 -0700

    Add internationalized version of LDAP error message

commit c62d43a778
Author: Brady Wetherington <uberbrady@gmail.com>
Date:   Mon Aug 10 17:04:17 2020 -0700

    Improve Exception management in Artisan LDAP Sync method. Still need to localize this better

commit b725bd0fae
Author: Brady Wetherington <uberbrady@gmail.com>
Date:   Mon Aug 10 17:23:04 2020 -0700

     Add @PeterUpfold as a contributor

commit e0644dbbf6
Merge: 5b6925b00 004ecad05
Author: Brady Wetherington <bwetherington@grokability.com>
Date:   Mon Aug 10 17:22:31 2020 -0700

    Merge pull request #8105 from PeterUpfold/PeterUpfold-7661workaround

    Propose workaround for #7661 — suppress E_DEPRECATED on ldap_control_paged_result()

commit 5b6925b00c
Author: snipe <snipe@snipe.net>
Date:   Tue Aug 4 21:00:37 2020 -0700

    Removed debugging :(

commit df17a859bf
Author: snipe <snipe@snipe.net>
Date:   Tue Aug 4 20:59:54 2020 -0700

    Changed modal IDs so manager creation modal works on user creation main page

commit 24c43056ba
Author: snipe <snipe@snipe.net>
Date:   Tue Aug 4 20:58:28 2020 -0700

    Moved pGenerator script to default layout footer

    This fixes an issue where the password generator wouldn’t load in a modal in Chrome

commit 606b7e905d
Author: snipe <snipe@snipe.net>
Date:   Fri Jul 31 17:02:33 2020 -0700

    Small edits to PR template

    Slight text changes to ask specifics about versions

commit d73ddad477
Author: snipe <snipe@snipe.net>
Date:   Fri Jul 31 16:59:26 2020 -0700

    Created a PR template

    First draft of the PR guidelines template

commit 9a39cf721e
Merge: 7410b1683 8994f3e15
Author: snipe <snipe@snipe.net>
Date:   Fri Jul 31 12:18:49 2020 -0700

    Merge pull request #8258 from ballertv/features/consumable-api

    This looks great, thank you!

commit 7410b16835
Merge: e955c983a b09e7d19b
Author: Brady Wetherington <bwetherington@grokability.com>
Date:   Fri Jul 24 16:22:44 2020 -0700

    Merge pull request #8270 from snipe/improve_ad_useraccountcontrol_v4

    Add new useraccountcontrol value for valid AD users

commit 8994f3e15e
Author: andres <andresgutierrez535@gmail.com>
Date:   Wed Jul 22 19:57:06 2020 -0400

    cleanup

commit d23f1a77ca
Author: andres <andresgutierrez535@gmail.com>
Date:   Wed Jul 22 18:46:02 2020 -0400

    implement checkout API

commit e955c983a3
Merge: 2fa17ac18 eed41e454
Author: snipe <snipe@snipe.net>
Date:   Wed Jul 22 13:43:29 2020 -0700

    Merge pull request #8250 from snipe/features/adds_addr_city_state_to_importer

    Added address, city, state and country to importer and city to bulk editor

commit b09e7d19b3
Author: Brady Wetherington <uberbrady@gmail.com>
Date:   Wed Jul 22 13:32:16 2020 -0700

    Add new useraccountcontrol value for valid AD users; document algorithm and values

commit 2fa17ac185
Merge: b90515437 3b1e46f72
Author: snipe <snipe@snipe.net>
Date:   Wed Jul 22 12:06:31 2020 -0700

    Merge pull request #8254 from Godmartinz/gmartinez_adds_email_formats

    Added firstinitial.lastname, lastname_firstinitial, firstnamelastname…

commit 3b1e46f72b
Author: Godfrey Martinez <47435081+Godmartinz@users.noreply.github.com>
Date:   Wed Jul 22 11:25:57 2020 -0700

    Update general.php

commit 0c1a1de2a2
Author: Godfrey Martinez <47435081+Godmartinz@users.noreply.github.com>
Date:   Wed Jul 22 11:24:36 2020 -0700

    Update general.php

    fixed typo

commit 20c9ae5818
Author: Godfrey M <godmartinz@gmail.com>
Date:   Wed Jul 22 10:21:19 2020 -0700

    Added firstinitial.lastname, lastname_firstinitial, firstnamelastname and firstnamelastinitial to username formats

commit eed41e4549
Author: snipe <snipe@snipe.net>
Date:   Tue Jul 21 16:57:32 2020 -0700

    Moved address down further, fixed broken HTML

commit b750f4754f
Author: snipe <snipe@snipe.net>
Date:   Tue Jul 21 16:49:54 2020 -0700

    Added city to bulk user importer

commit c17a06792a
Author: snipe <snipe@snipe.net>
Date:   Tue Jul 21 16:49:38 2020 -0700

    Added address, city, state, country to user importer

commit 4f76cc6cfb
Author: snipe <snipe@snipe.net>
Date:   Tue Jul 21 16:46:13 2020 -0700

    I don’t actually know what this file is for

commit b905154373
Author: snipe <snipe@snipe.net>
Date:   Mon Jul 20 14:29:32 2020 -0700

    Fixed #8247 - added notes field to user details display

commit daf748e531
Author: snipe <snipe@snipe.net>
Date:   Fri Jul 17 12:32:01 2020 -0700

    Bumped hash

commit 799a93c46a
Author: snipe <snipe@snipe.net>
Date:   Fri Jul 17 12:11:32 2020 -0700

    Allow for email/username search on users

commit 34aa12e229
Merge: 81a633288 897757bd0
Author: snipe <snipe@snipe.net>
Date:   Thu Jul 16 17:44:13 2020 -0700

    Merge pull request #8239 from snipe/fixes/api_rtd_to_location_on_create

    Set location_id to rtd_location_id on asset creation

commit 897757bd04
Author: snipe <snipe@snipe.net>
Date:   Thu Jul 16 17:43:44 2020 -0700

    Removed added line for location

commit c7125c3937
Author: snipe <snipe@snipe.net>
Date:   Thu Jul 16 16:34:39 2020 -0700

    Set location_id to rtd_location_id on asset creation

commit 81a6332889
Author: snipe <snipe@snipe.net>
Date:   Tue Jul 14 13:55:38 2020 -0700

    Removed license ID from seats table cookie info

    This typically wouldn’t be necessary, since most people would want to view the same *types* of data across licenses

commit 6e563f6e4b
Merge: 5320f5c67 7f69ae953
Author: snipe <snipe@snipe.net>
Date:   Mon Jul 13 21:16:54 2020 -0700

    Merge branch 'master' of https://github.com/snipe/snipe-it

commit 5320f5c67c
Author: snipe <snipe@snipe.net>
Date:   Mon Jul 13 21:16:45 2020 -0700

    Disallow non-super users from editing their own permissions

commit 7f69ae953b
Merge: c79f8c1ba 17f6fbabf
Author: snipe <snipe@snipe.net>
Date:   Mon Jul 13 21:16:00 2020 -0700

    Merge pull request #8227 from snipe/fix_select2_ajax_pulldowns

    Changes how we do AJAX calls via Select2 for dynamic drop-down menus

commit 17f6fbabfa
Author: Brady Wetherington <uberbrady@gmail.com>
Date:   Mon Jul 13 21:12:03 2020 -0700

    Switch to 'items' to maintain compatbility with other internal API's

commit c79f8c1baf
Merge: 12c92e30b 536401fe0
Author: snipe <snipe@snipe.net>
Date:   Mon Jul 13 17:42:16 2020 -0700

    Merge pull request #8207 from EDVLeer/patch-1

    Update snipeit.sh

commit e7a820f7c9
Author: Brady Wetherington <uberbrady@gmail.com>
Date:   Mon Jul 13 17:14:31 2020 -0700

    Changes how we do AJAX calls via Select2 for dynamic drop-down menus

commit 12c92e30b7
Author: snipe <snipe@snipe.net>
Date:   Fri Jul 10 16:21:27 2020 -0700

    Show whether or not the user was imported via LDAP in the view page

commit fd10b755b0
Author: snipe <snipe@snipe.net>
Date:   Fri Jul 10 11:30:01 2020 -0700

    Removed the sr-only tag in table headers

    It was breaking Bootstrap Tables column selector :(

commit dbbb7680d9
Author: snipe <snipe@snipe.net>
Date:   Thu Jul 9 21:12:50 2020 -0700

    A few more fixes for the cli

    Do not check out a piece of software if it’s already been checked out to the user

commit cf0dd5bbad
Author: snipe <snipe@snipe.net>
Date:   Thu Jul 9 20:43:13 2020 -0700

    Small fixes for cli tool

commit 25e53d8c7f
Merge: ec6ed256f 89d433b41
Author: snipe <snipe@snipe.net>
Date:   Thu Jul 9 20:27:01 2020 -0700

    Merge pull request #8216 from snipe/features/checkout_license_to_all_users

    Added CLI tool to checkout license to all users

commit 89d433b41a
Author: snipe <snipe@snipe.net>
Date:   Thu Jul 9 20:26:02 2020 -0700

    Removed duplicate seat call

commit e2570ada6f
Author: snipe <snipe@snipe.net>
Date:   Thu Jul 9 20:04:05 2020 -0700

    CLI tool to checkout a license to ALL users

commit 45afe725a1
Author: snipe <snipe@snipe.net>
Date:   Thu Jul 9 20:03:47 2020 -0700

    Only try to get the company if there is an auth’d user

    (Needed for command line tools, where no Auth::user() is present)

commit 536401fe0f
Author: EDVLeer <32170051+EDVLeer@users.noreply.github.com>
Date:   Tue Jul 7 08:21:36 2020 +0200

    Update snipeit.sh

    Ubuntu 20.04

commit ec6ed256fb
Author: snipe <snipe@snipe.net>
Date:   Mon Jul 6 18:45:43 2020 -0700

    Bumped minor version

commit 2aaa7bed2d
Merge: 339bdddc3 cc9f1577a
Author: snipe <snipe@snipe.net>
Date:   Thu Jun 25 18:37:41 2020 -0700

    Merge pull request #8183 from snipe/features/merge_users

    Added merge utility

commit cc9f1577a4
Author: snipe <snipe@snipe.net>
Date:   Thu Jun 25 17:43:53 2020 -0700

    Removed unused use directives

commit ab1fe8be0c
Author: snipe <snipe@snipe.net>
Date:   Thu Jun 25 17:42:39 2020 -0700

    Added merge utility

commit 339bdddc38
Author: snipe <snipe@snipe.net>
Date:   Thu Jun 25 11:00:33 2020 -0700

    Fix for Vue js not loading due to CSP :(

commit 35b9cf4b70
Author: snipe <snipe@snipe.net>
Date:   Tue Jun 23 02:41:59 2020 -0700

    Fixed missing db prefix on scopeDueOrOverdueForAudit

commit 7ccb41371e
Author: snipe <snipe@snipe.net>
Date:   Tue Jun 23 01:09:39 2020 -0700

    Removed unoptimized images directive

    securityheaders.com is claiming it’s onrecognized, even though I got that directive from their site, so… whatever. ¯\_(ツ)_/¯

commit 2e60a457bf
Author: snipe <snipe@snipe.net>
Date:   Tue Jun 23 01:07:00 2020 -0700

    Dumb fix for feature-policy being dumb.

commit 2390d2160b
Merge: b42801f6a 00b051b8c
Author: snipe <snipe@snipe.net>
Date:   Tue Jun 23 00:27:47 2020 -0700

    Merge pull request #8164 from snipe/features/additional_security_headers

    Additional security headers

commit 00b051b8c7
Author: snipe <snipe@snipe.net>
Date:   Tue Jun 23 00:26:09 2020 -0700

    Added a few more comments

commit 05b3a9ad7e
Author: snipe <snipe@snipe.net>
Date:   Mon Jun 22 23:17:27 2020 -0700

    Config variable for HSTS

commit 4fb880384f
Author: snipe <snipe@snipe.net>
Date:   Mon Jun 22 22:37:14 2020 -0700

    Changed comment

commit 43042ad841
Author: snipe <snipe@snipe.net>
Date:   Mon Jun 22 22:35:59 2020 -0700

    Consolidated ReferrerPolicy into new SecurityHeaders file

commit a716382ac4
Author: snipe <snipe@snipe.net>
Date:   Mon Jun 22 22:33:37 2020 -0700

    Removed CSP middleware (it’s added in the general header)

commit 36c8f7f4f1
Author: snipe <snipe@snipe.net>
Date:   Mon Jun 22 22:31:01 2020 -0700

    Additional security headers

commit b42801f6ae
Merge: de4934f21 946129f20
Author: snipe <snipe@snipe.net>
Date:   Mon Jun 22 20:47:35 2020 -0700

    Merge pull request #8163 from snipe/fixes/fix-for-css-on-column-selector

    Fixed weird padlock display in asset listing with encrypted custom fields

commit 946129f206
Author: snipe <snipe@snipe.net>
Date:   Mon Jun 22 20:45:20 2020 -0700

    Made quote style consistent

commit b941ef1e08
Author: snipe <snipe@snipe.net>
Date:   Mon Jun 22 20:41:40 2020 -0700

    Pulled CSS font awesome styles out of the blade and into overrides.css

commit d1aa11ec89
Author: snipe <snipe@snipe.net>
Date:   Mon Jun 22 20:29:19 2020 -0700

    Fix for weird padlock display in asset listing with encrypted custom fields

commit de4934f21d
Merge: af06e4205 b10076b01
Author: snipe <snipe@snipe.net>
Date:   Mon Jun 22 17:28:38 2020 -0700

    Merge pull request #8162 from Godmartinz/godfreymartinez-ghi-font-size-of-qr_text

    Fixed #8161 and #8114 - font-size for labels used static values in blade instead of using values from settings

commit b10076b015
Author: Godfrey M <godmartinz@gmail.com>
Date:   Mon Jun 22 17:04:39 2020 -0700

    corrected an error where font-size for labels were static in settings.

commit af06e42056
Author: snipe <snipe@snipe.net>
Date:   Wed Jun 17 11:17:25 2020 -0700

    Bumped version

commit 9a2440dc4b
Merge: beae8efb2 2ac1c1636
Author: snipe <snipe@snipe.net>
Date:   Tue Jun 16 20:20:07 2020 -0700

    Merge pull request #8141 from snipe/fixes/better_handling_when_license_is_invalid

    Better handle the logic to determine if we should display the license checkout blade [ch13792]

commit 2ac1c1636c
Author: snipe <snipe@snipe.net>
Date:   Tue Jun 16 16:12:57 2020 -0700

    Better handle the logic to determine if we should display the license checkout blade

commit 004ecad059
Author: Peter Upfold <pgithub@upfold.org.uk>
Date:   Wed Jun 3 08:59:50 2020 +0100

    Force suppress deprecation warning on ldap_control_paged_result()

commit beae8efb21
Merge: d14ab7e3e 9839e5e56
Author: snipe <snipe@snipe.net>
Date:   Wed May 27 23:01:33 2020 -0700

    Merge pull request #8088 from Godmartinz/Label_Woes

    Barcode resizing and text adjustment

commit 9839e5e566
Author: Godfrey M <godmartinz@gmail.com>
Date:   Wed May 27 12:27:40 2020 -0700

    adjusted for all label text, removed local variable

commit d14ab7e3e1
Author: snipe <snipe@snipe.net>
Date:   Wed May 27 00:22:44 2020 -0700

    Porting change from #8053 to master

    Signed-off-by: snipe <snipe@snipe.net>

commit e7f74d94c1
Author: Godfrey M <godmartinz@gmail.com>
Date:   Tue May 26 17:22:45 2020 -0700

    Label_Woes

commit e97cf011b6
Author: Godfrey M <godmartinz@gmail.com>
Date:   Tue May 26 17:15:39 2020 -0700

    Label_Woes

commit ed23505054
Author: Godfrey M <godmartinz@gmail.com>
Date:   Tue May 26 17:10:45 2020 -0700

    Label_Woes

commit 001e721530
Merge: f88683766 8210da6e8
Author: snipe <snipe@snipe.net>
Date:   Wed May 20 10:21:52 2020 -0700

    Merge pull request #8063 from dmeltzer/backport-8092

    BACKPORT: Fix Missing Category selection in Asset Model Modal dialog - [ch14635]

commit 8210da6e82
Author: Daniel Meltzer <dmeltzer.devel@gmail.com>
Date:   Wed May 20 10:29:27 2020 -0400

    Fix Missing Category selection in Asset Model Modal dialog.

    A select html tag needs a full closing tag. is not valid. This was causing the select2 js to barf and eat additional information.

commit f88683766b
Author: snipe <snipe@snipe.net>
Date:   Thu May 14 00:55:47 2020 -0700

    Roll back previous change

    Signed-off-by: snipe <snipe@snipe.net>

commit e4385c0f8c
Author: snipe <snipe@snipe.net>
Date:   Thu May 14 00:48:30 2020 -0700

    Fixes #8051 regression

    Signed-off-by: snipe <snipe@snipe.net>

commit 0550fe0ffa
Author: snipe <snipe@snipe.net>
Date:   Tue May 12 10:31:54 2020 -0700

    Fix for session fixation vulnerability

    Signed-off-by: snipe <snipe@snipe.net>

commit 7fb3a9b82c
Merge: 9a2ed804c ecb1e87fe
Author: snipe <snipe@snipe.net>
Date:   Mon May 11 22:41:36 2020 -0700

    Merge pull request #8043 from snipe/features/backup-optional-in-import-and-ldap

    Added option to disable backup in import

commit ecb1e87fe6
Author: snipe <snipe@snipe.net>
Date:   Mon May 11 20:45:15 2020 -0700

    Updated assets

    Signed-off-by: snipe <snipe@snipe.net>

commit f43df5f041
Author: snipe <snipe@snipe.net>
Date:   Mon May 11 20:44:46 2020 -0700

    Fixed form label

    Signed-off-by: snipe <snipe@snipe.net>

commit 95cc48e422
Author: snipe <snipe@snipe.net>
Date:   Mon May 11 20:41:10 2020 -0700

    Added option to disable backup in import

    Signed-off-by: snipe <snipe@snipe.net>

commit 9a2ed804ca
Author: snipe <snipe@snipe.net>
Date:   Mon May 11 20:28:42 2020 -0700

    Fixed mismatched HTML header tags

    Signed-off-by: snipe <snipe@snipe.net>

commit d20fad28e5
Author: snipe <snipe@snipe.net>
Date:   Mon May 11 20:28:24 2020 -0700

    Use more modern request helper

    Signed-off-by: snipe <snipe@snipe.net>

commit ae813ddf75
Author: snipe <snipe@snipe.net>
Date:   Mon May 11 18:11:16 2020 -0700

    Add @alek13 as a contributor

commit bb42109c0c
Author: snipe <snipe@snipe.net>
Date:   Mon May 11 18:10:45 2020 -0700

    Added a clarifying comment

    Signed-off-by: snipe <snipe@snipe.net>

commit f46ecf8ec0
Author: snipe <snipe@snipe.net>
Date:   Mon May 11 18:07:20 2020 -0700

    Updated composer lock

    Signed-off-by: snipe <snipe@snipe.net>

commit b9e821c0e6
Author: snipe <snipe@snipe.net>
Date:   Mon May 11 18:07:14 2020 -0700

    Small fix for Group Functional Tests

    Signed-off-by: snipe <snipe@snipe.net>

commit 9ee28c7513
Author: snipe <snipe@snipe.net>
Date:   Mon May 11 18:07:02 2020 -0700

    Switched to use info instead of danger on undeployable statuses

    Signed-off-by: snipe <snipe@snipe.net>

commit 1a8ba06702
Merge: 0fd232e70 ee4d69b1c
Author: snipe <snipe@snipe.net>
Date:   Mon May 11 17:53:32 2020 -0700

    Merge branch 'master' of https://github.com/snipe/snipe-it

commit 0fd232e70d
Author: snipe <snipe@snipe.net>
Date:   Mon May 11 17:53:24 2020 -0700

    Fixed group functional test

    (We had changed the minimum to 2 instead of 3)

    Signed-off-by: snipe <snipe@snipe.net>

commit ee4d69b1c5
Merge: 31c535094 d1ad11194
Author: snipe <snipe@snipe.net>
Date:   Mon May 11 17:52:45 2020 -0700

    Merge pull request #8041 from alek13/patch-1

    use supported package for slack

commit d1ad111949
Author: Alexander Chibrikin <alek13.me@gmail.com>
Date:   Mon May 11 20:31:13 2020 +0300

    use supported package for slack

    see https://github.com/maknz/slack/issues/94

commit 31c5350941
Author: snipe <snipe@snipe.net>
Date:   Fri May 1 01:05:48 2020 -0700

    Fixed incorrect route for groups edit

    Signed-off-by: snipe <snipe@snipe.net>

commit 7eb70e17e0
Merge: 5bb4f271a 3dfcb4699
Author: snipe <snipe@snipe.net>
Date:   Fri Apr 24 04:50:37 2020 -0700

    Merge pull request #7993 from snipe/fixes/7989_column_selector

    Fixed #7989 - Converted table heading icons in People to CSS glyphs

commit 3dfcb46991
Author: snipe <snipe@snipe.net>
Date:   Fri Apr 24 04:41:08 2020 -0700

    Minor formatting changes

    Signed-off-by: snipe <snipe@snipe.net>

commit 96eb96f964
Author: snipe <snipe@snipe.net>
Date:   Fri Apr 24 04:27:00 2020 -0700

    Removed stray val (typo)

    Signed-off-by: snipe <snipe@snipe.net>

commit a2f08bd3ba
Author: snipe <snipe@snipe.net>
Date:   Fri Apr 24 04:08:54 2020 -0700

    Added comments

    Signed-off-by: snipe <snipe@snipe.net>

commit e009fbe59f
Author: snipe <snipe@snipe.net>
Date:   Fri Apr 24 04:04:53 2020 -0700

    Converted table heading icons in People to CSS glyphs

    Signed-off-by: snipe <snipe@snipe.net>

commit 5bb4f271aa
Author: snipe <snipe@snipe.net>
Date:   Fri Apr 24 00:47:19 2020 -0700

    Fixed #7987 - allow toggle of required/optional in custom fields/fieldsets

    Signed-off-by: snipe <snipe@snipe.net>
2020-08-31 12:17:19 -07:00
snipe e321aeabae Merge branch 'master' into integrations/2020-08-31-v5-rc
# Conflicts:
#	.all-contributorsrc
#	.nvmrc
#	README.md
#	app/Console/Commands/LdapSync.php
#	app/Http/Controllers/Api/ConsumablesController.php
#	app/Http/Controllers/Api/ImportController.php
#	app/Http/Controllers/Assets/AssetsController.php
#	app/Http/Controllers/Auth/LoginController.php
#	app/Http/Controllers/CustomFieldsetsController.php
#	app/Http/Controllers/LicensesController.php
#	app/Http/Controllers/UsersController.php
#	app/Importer/import_mappings.md
#	app/Models/Ldap.php
#	app/Models/Loggable.php
#	composer.json
#	composer.lock
#	config/version.php
#	public/css/build/all.css
#	public/css/dist/all.css
#	public/css/skins/skin-contrast.css
#	public/css/skins/skin-contrast.css.map
#	public/js/build/all.js
#	public/js/build/vue.js
#	public/js/build/vue.js.map
#	public/js/dist/all.js
#	public/mix-manifest.json
#	resources/assets/js/components/importer/importer-file.vue
#	resources/assets/less/overrides.less
#	resources/macros/macros.php
#	resources/views/custom_fields/fieldsets/view.blade.php
#	resources/views/hardware/edit.blade.php
#	resources/views/hardware/labels.blade.php
#	resources/views/hardware/view.blade.php
#	resources/views/layouts/default.blade.php
#	resources/views/modals/model.blade.php
#	resources/views/modals/user.blade.php
#	resources/views/users/index.blade.php
#	routes/api.php
#	routes/web/fields.php
#	tests/unit/UserTest.php
2020-08-31 12:14:44 -07:00
snipe 8ec99ff433 Merge pull request #8374 from snipe/fixes/moar_flysystem
WIP - More Flysystem fixes
2020-08-31 09:45:27 -07:00
snipe f2c60d055b Updated docblock 2020-08-28 18:22:57 -07:00
snipe e1cc003cec Fixed backup urls for download 2020-08-28 18:22:37 -07:00
snipe 5aaa2430b4 Fixes for backups 2020-08-28 14:10:43 -07:00
snipe bc5a82e734 Small fixed for file mover artisan command 2020-08-28 14:10:28 -07:00
snipe f83acf8378 Merge pull request #8383 from Godmartinz/develop
removed a duplicate date format in the settings.
2020-08-27 14:35:00 -07:00
Godfrey M 242af2c90b removed a duplicate date format in the settings. 2020-08-27 12:58:44 -07:00
snipe fdafaf2802 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2020-08-26 13:40:10 -07:00
snipe 9ba290e507 Add @jbiel as a contributor 2020-08-26 13:39:53 -07:00
snipe 9f5669e70a Merge pull request #8373 from snipe/tweak_v5_ldap_migration
Tweak v5 ldap migration for backwards-compatibility with working pre-v5 Active Directory setups
2020-08-26 13:34:25 -07:00
snipe c23e28d0df Merge pull request #8372 from snipe/fix_adldap_sync
Fix adldap sync
2020-08-26 13:34:07 -07:00
snipe 5abd85003c Merge pull request #8371 from snipe/bushelpowered-develop
Fixed #7919 - LDAP Logins + query filters
2020-08-26 13:33:41 -07:00
Brady Wetherington 14da328dea Remove extraneous log line 2020-08-26 13:10:47 -07:00
Brady Wetherington 6e9f36be58 Update ad_append_domain setting for backwards-compatibility with v4 and earlier 2020-08-26 13:09:32 -07:00
Brady Wetherington 67a1d2fa5f Remove hardcoding of LDAP Auth query to 'uid=', use setting instead 2020-08-26 12:25:10 -07:00
snipe 24be73f76b Use image handling request for logo uploads 2020-08-26 12:17:50 -07:00
snipe a86dc52695 Added fieldname to file name for better clarity on setting logos 2020-08-26 12:17:36 -07:00
snipe 1ff7e6b834 Use Storage facade for user presenter 2020-08-26 12:17:18 -07:00
snipe fa2dfc3e87 Use updated request signature for models 2020-08-26 11:59:30 -07:00
snipe d25a05d748 Misc Flysystem/image upload request fixes 2020-08-26 11:53:36 -07:00
snipe 139c874308 Fixed delete old image on upload 2020-08-26 02:48:07 -07:00
snipe db385b5f6b Fixed assetmodels selectlist 2020-08-26 02:32:39 -07:00
snipe f385f3e928 Fixed user image upload
TODO: We should probably rename the avatar field on the user’s table, to make it more consistent with the other model images
2020-08-26 02:30:23 -07:00
snipe de21f00771 Fixed assetmodels upload 2020-08-26 02:29:37 -07:00
snipe 37568ae9ec Merge pull request #8365 from snipe/fixes/8338_google_maps_CSP
Fixed #8338 - Added google maps to CSP
2020-08-25 20:49:37 -07:00
snipe 32ad9050cf Added google maps to CSP 2020-08-25 20:48:53 -07:00
snipe 01a832169c Merge pull request #8364 from snipe/fixes/8335_assigned_to_null_on_status_assetlist
Fixed #8335 - added assignedTo scope on status labels API call for assetlist
2020-08-25 20:38:31 -07:00
snipe 3c6883489c Added assignedTo scope 2020-08-25 20:37:30 -07:00
Brady Wetherington 6c23e881c7 Merge branch 'develop' of https://github.com/bushelpowered/snipe-it into bushelpowered-develop 2020-08-24 21:42:04 -07:00
Brady Wetherington b721a977c0 Fix PHP 7.4 deprecation warnings in ldap-sync script. 2020-08-24 21:35:00 -07:00
snipe 53c46ac8de Fixed stupid import layouts 2020-08-24 21:15:46 -07:00
snipe 3cba174dfb Merge pull request #8359 from snipe/fixes/misc_flysystem_fixes
Misc flysystem fixes
2020-08-24 19:28:40 -07:00
snipe a90d2ba077 Fixed suppliers upload 2020-08-24 18:53:33 -07:00
snipe e5dd6035b9 Fixed the other upload handleUploads signatures 2020-08-24 18:32:40 -07:00
snipe 66686f8080 Added some debugging - will remove at RC 2020-08-24 18:32:15 -07:00
snipe 041fc20955 Fixed Companies and Categories uploads 2020-08-24 15:43:11 -07:00
snipe b97ff4e907 Fixed Depts uploads 2020-08-24 15:10:26 -07:00
snipe 232e3f30aa Fixed accessories “current image” path in edit form 2020-08-24 14:30:55 -07:00
snipe 5aeac3c9e0 Fixed parse error 2020-08-24 14:30:43 -07:00
snipe 0658f17359 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2020-08-24 12:37:40 -07:00
snipe bcad49ce79 Try to better handle slack “too many requests” issue 2020-08-14 16:10:22 -07:00
snipe b5acca89d7 Check for admin for slack notifications 2020-08-14 16:02:15 -07:00
snipe e52919cf1b Merge pull request #8327 from snipe/features/checkin_license_from_all_users
Checkin license from all users cli tool
2020-08-14 15:35:15 -07:00
snipe 29f3a5c48f Use more verbose annotation for Auth::user if/else 2020-08-14 15:27:40 -07:00
snipe 134e8e6fb9 Moved user email nulling until after the save 2020-08-14 15:25:07 -07:00
Brady Wetherington 714576be45 Merge pull request #8328 from snipe/fix_deprecation_report
Fix deprecation report for customers with many active assets
2020-08-14 15:24:03 -07:00
Brady Wetherington fa291beaeb Merge pull request #8329 from snipe/fix_depreciation_report_v5
Fix deprecation report for customers with many active assets
2020-08-14 15:23:49 -07:00
Brady Wetherington 4b7f6a95e3 Fix deprecation report for customers with many active assets 2020-08-14 15:07:59 -07:00
Brady Wetherington 5128992940 Fix deprecation report for customers with many active assets 2020-08-14 15:03:03 -07:00
snipe 0291323502 Use the user as the target 2020-08-14 14:57:58 -07:00
Brady Wetherington 262a964760 [WIP] fix ldap-sync for v5 with AdLdap2 2020-08-14 14:45:05 -07:00
snipe e0f6f9b839 Artisan command to check in licenses from all users 2020-08-14 14:43:37 -07:00
snipe f1a6308002 Check for Auth::user before trying to log id (for cli) 2020-08-14 14:43:07 -07:00
Michael Pietsch 4f5374b2e8 enable use custom file based saml certificate/private key 2020-08-14 12:25:00 +02:00
snipe 19d8d7b146 Updated components and consumables to use storage facade 2020-08-12 13:02:54 -07:00
snipe b999c50a2e Merge pull request #8316 from Godmartinz/bug/ch15028/missing-or-incorrect-error-message-translation
Looks great, thank you!
2020-08-12 12:37:47 -07:00
Godfrey M e3906b245c added translation for admin/licenses/message.not_found 2020-08-12 12:27:18 -07:00
Brady Wetherington 9ca20e4964 Merge pull request #8313 from snipe/improve_ldap_search_error_reporting
Improve ldap search error reporting
2020-08-11 17:33:19 -07:00
Brady Wetherington 456a74d88c De-merge out incorrectly merged files. Whoops! 2020-08-11 16:41:20 -07:00
Brady Wetherington 799c059070 Add internationalized version of LDAP error message 2020-08-11 16:39:02 -07:00
Brady Wetherington c62d43a778 Improve Exception management in Artisan LDAP Sync method. Still need to localize this better 2020-08-11 16:39:02 -07:00
Brady Wetherington b725bd0fae Add @PeterUpfold as a contributor 2020-08-11 16:39:02 -07:00
snipe 09190e05ae Add @PeterUpfold as a contributor 2020-08-10 17:24:20 -07:00
Brady Wetherington e0644dbbf6 Merge pull request #8105 from PeterUpfold/PeterUpfold-7661workaround
Propose workaround for #7661 — suppress E_DEPRECATED on ldap_control_paged_result()
2020-08-10 17:22:31 -07:00
snipe 5b6925b00c Removed debugging :( 2020-08-04 21:00:37 -07:00
snipe df17a859bf Changed modal IDs so manager creation modal works on user creation main page 2020-08-04 20:59:54 -07:00
snipe 24c43056ba Moved pGenerator script to default layout footer
This fixes an issue where the password generator wouldn’t load in a modal in Chrome
2020-08-04 20:58:28 -07:00
snipe 4e0a9c7a94 Fart fix
I just…. don’t ask.
2020-08-03 12:35:34 -07:00
snipe 6a089f86f8 Fixed pathing for accessories 2020-08-03 11:17:56 -07:00
snipe 606b7e905d Small edits to PR template
Slight text changes to ask specifics about versions
2020-07-31 17:02:33 -07:00
snipe d73ddad477 Created a PR template
First draft of the PR guidelines template
2020-07-31 16:59:26 -07:00
snipe 502b3c50a9 Fixed upload preview (fixed regression from #6736)
This change appears to have been stomped on in one of the merges. :(
2020-07-31 14:36:50 -07:00
snipe 9a39cf721e Merge pull request #8258 from ballertv/features/consumable-api
This looks great, thank you!
2020-07-31 12:18:49 -07:00
snipe 2bb5ac61a9 Add @sanjay900 as a contributor 2020-07-31 11:02:06 -07:00
snipe 3e62a6ea2d Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2020-07-31 11:01:35 -07:00
Brady Wetherington 7410b16835 Merge pull request #8270 from snipe/improve_ad_useraccountcontrol_v4
Add new useraccountcontrol value for valid AD users
2020-07-24 16:22:44 -07:00
andres 8994f3e15e cleanup 2020-07-22 19:57:06 -04:00
andres d23f1a77ca implement checkout API 2020-07-22 19:56:31 -04:00
snipe e955c983a3 Merge pull request #8250 from snipe/features/adds_addr_city_state_to_importer
Added address, city, state and country to importer and city to bulk editor
2020-07-22 13:43:29 -07:00
Brady Wetherington b09e7d19b3 Add new useraccountcontrol value for valid AD users; document algorithm and values 2020-07-22 13:32:16 -07:00
snipe 2fa17ac185 Merge pull request #8254 from Godmartinz/gmartinez_adds_email_formats
Added firstinitial.lastname, lastname_firstinitial, firstnamelastname…
2020-07-22 12:06:31 -07:00
Godfrey Martinez 3b1e46f72b Update general.php 2020-07-22 11:25:57 -07:00
Godfrey Martinez 0c1a1de2a2 Update general.php
fixed typo
2020-07-22 11:24:36 -07:00
Godfrey M 20c9ae5818 Added firstinitial.lastname, lastname_firstinitial, firstnamelastname and firstnamelastinitial to username formats 2020-07-22 10:21:19 -07:00
snipe eed41e4549 Moved address down further, fixed broken HTML 2020-07-21 16:57:32 -07:00
snipe b750f4754f Added city to bulk user importer 2020-07-21 16:49:54 -07:00
snipe c17a06792a Added address, city, state, country to user importer 2020-07-21 16:49:38 -07:00
snipe 4f76cc6cfb I don’t actually know what this file is for 2020-07-21 16:46:13 -07:00
snipe b905154373 Fixed #8247 - added notes field to user details display 2020-07-20 14:29:32 -07:00
snipe daf748e531 Bumped hash 2020-07-17 12:32:01 -07:00
snipe 799a93c46a Allow for email/username search on users 2020-07-17 12:11:32 -07:00
snipe 34aa12e229 Merge pull request #8239 from snipe/fixes/api_rtd_to_location_on_create
Set location_id to rtd_location_id on asset creation
2020-07-16 17:44:13 -07:00
snipe 897757bd04 Removed added line for location 2020-07-16 17:43:44 -07:00
snipe c7125c3937 Set location_id to rtd_location_id on asset creation 2020-07-16 16:34:39 -07:00
snipe 0238c88a3e Merge pull request #8228 from snipe/fix_select2_ajax_pulldowns_v5
Fix Select2 'infinite scroll' drop-downs for Snipe-IT v5
2020-07-16 15:37:42 -07:00
Brady Wetherington 145dfe5847 Rebuild assets 2020-07-16 15:36:10 -07:00
Brady Wetherington 68263ff806 Changed selectlist results to be 'items' for internal consistency 2020-07-16 15:33:38 -07:00
snipe 81a6332889 Removed license ID from seats table cookie info
This typically wouldn’t be necessary, since most people would want to view the same *types* of data across licenses
2020-07-14 13:55:38 -07:00
snipe 6e563f6e4b Merge branch 'master' of https://github.com/snipe/snipe-it 2020-07-13 21:16:54 -07:00
snipe 5320f5c67c Disallow non-super users from editing their own permissions 2020-07-13 21:16:45 -07:00
snipe 7f69ae953b Merge pull request #8227 from snipe/fix_select2_ajax_pulldowns
Changes how we do AJAX calls via Select2 for dynamic drop-down menus
2020-07-13 21:16:00 -07:00
Brady Wetherington 17f6fbabfa Switch to 'items' to maintain compatbility with other internal API's 2020-07-13 21:12:03 -07:00
Brady Wetherington 318da67230 Fix Select2 'infinite scroll' drop-downs for Snipe-IT v5 2020-07-13 17:43:15 -07:00
snipe c79f8c1baf Merge pull request #8207 from EDVLeer/patch-1
Update snipeit.sh
2020-07-13 17:42:16 -07:00
Brady Wetherington e7a820f7c9 Changes how we do AJAX calls via Select2 for dynamic drop-down menus 2020-07-13 17:14:31 -07:00
snipe 9c9fc2754c Merge pull request #8226 from inietov/fixes/edit_asset_error_php74
Change the form input name for serials in the view
2020-07-13 12:59:28 -07:00
Ivan Nieto 8fd4529fad Change the form input name for serials in the view 2020-07-13 13:49:21 -05:00
snipe 12c92e30b7 Show whether or not the user was imported via LDAP in the view page 2020-07-10 16:21:27 -07:00
snipe 5b02cfade4 Merge pull request #8220 from sean-borg/sean/expected-checkin-dates
This looks great, thanks!
2020-07-10 13:07:15 -07:00
snipe fd10b755b0 Removed the sr-only tag in table headers
It was breaking Bootstrap Tables column selector :(
2020-07-10 11:30:01 -07:00
Sean Borg 567a9639f4 Enhanced #5762 Able to bulk edit expected checkin date
In light of the need to edit 500+ devices #5762 (comment)
I added the expected checkin date to the bulk edit page for assets
2020-07-10 19:21:34 +01:00
Sean Borg 7a433f8598 Updated purchase date format in hardware/bulkedit
The Purchase date box in hardware/bulkedit was a different style
to the normal hardware/{id}/edit

It also prevents a strange bug I see in firefox when clicking the old datepicker
it presented 2 datepicker boxes
2020-07-10 19:21:22 +01:00
Sean Borg 3d8823ede5 Added #5762 Modify expected checkin dates
It is now possible to edit expected checkin dates for assets in Actions > Edit Asset
2020-07-10 19:21:04 +01:00
snipe dbbb7680d9 A few more fixes for the cli
Do not check out a piece of software if it’s already been checked out to the user
2020-07-09 21:12:50 -07:00
snipe cf0dd5bbad Small fixes for cli tool 2020-07-09 20:43:13 -07:00
snipe 25e53d8c7f Merge pull request #8216 from snipe/features/checkout_license_to_all_users
Added CLI tool to checkout license to all users
2020-07-09 20:27:01 -07:00
snipe 89d433b41a Removed duplicate seat call 2020-07-09 20:26:02 -07:00
snipe e2570ada6f CLI tool to checkout a license to ALL users 2020-07-09 20:04:05 -07:00
snipe 45afe725a1 Only try to get the company if there is an auth’d user
(Needed for command line tools, where no Auth::user() is present)
2020-07-09 20:03:47 -07:00
EDVLeer 536401fe0f Update snipeit.sh
Ubuntu 20.04
2020-07-07 08:21:36 +02:00
snipe ec6ed256fb Bumped minor version 2020-07-06 18:45:43 -07:00
snipe 2aaa7bed2d Merge pull request #8183 from snipe/features/merge_users
Added merge utility
2020-06-25 18:37:41 -07:00
snipe cc9f1577a4 Removed unused use directives 2020-06-25 17:43:53 -07:00
snipe ab1fe8be0c Added merge utility 2020-06-25 17:42:39 -07:00
snipe 339bdddc38 Fix for Vue js not loading due to CSP :( 2020-06-25 11:00:33 -07:00
snipe 35b9cf4b70 Fixed missing db prefix on scopeDueOrOverdueForAudit 2020-06-23 02:41:59 -07:00
snipe 7ccb41371e Removed unoptimized images directive
securityheaders.com is claiming it’s onrecognized, even though I got that directive from their site, so… whatever. ¯\_(ツ)_/¯
2020-06-23 01:09:39 -07:00
snipe 2e60a457bf Dumb fix for feature-policy being dumb. 2020-06-23 01:07:00 -07:00
snipe 2390d2160b Merge pull request #8164 from snipe/features/additional_security_headers
Additional security headers
2020-06-23 00:27:47 -07:00
snipe 00b051b8c7 Added a few more comments 2020-06-23 00:26:09 -07:00
snipe 05b3a9ad7e Config variable for HSTS 2020-06-22 23:17:27 -07:00
snipe 4fb880384f Changed comment 2020-06-22 22:37:14 -07:00
snipe 43042ad841 Consolidated ReferrerPolicy into new SecurityHeaders file 2020-06-22 22:35:59 -07:00
snipe a716382ac4 Removed CSP middleware (it’s added in the general header) 2020-06-22 22:33:37 -07:00
snipe 36c8f7f4f1 Additional security headers 2020-06-22 22:31:01 -07:00
snipe b42801f6ae Merge pull request #8163 from snipe/fixes/fix-for-css-on-column-selector
Fixed weird padlock display in asset listing with encrypted custom fields
2020-06-22 20:47:35 -07:00
snipe 946129f206 Made quote style consistent 2020-06-22 20:45:20 -07:00
snipe b941ef1e08 Pulled CSS font awesome styles out of the blade and into overrides.css 2020-06-22 20:41:40 -07:00
snipe d1aa11ec89 Fix for weird padlock display in asset listing with encrypted custom fields 2020-06-22 20:29:19 -07:00
snipe de4934f21d Merge pull request #8162 from Godmartinz/godfreymartinez-ghi-font-size-of-qr_text
Fixed #8161 and #8114 - font-size for labels used static values in blade instead of using values from settings
2020-06-22 17:28:38 -07:00
Godfrey M b10076b015 corrected an error where font-size for labels were static in settings. 2020-06-22 17:04:39 -07:00
snipe af06e42056 Bumped version 2020-06-17 11:17:25 -07:00
snipe 9a2440dc4b Merge pull request #8141 from snipe/fixes/better_handling_when_license_is_invalid
Better handle the logic to determine if we should display the license checkout blade [ch13792]
2020-06-16 20:20:07 -07:00
snipe 2ac1c1636c Better handle the logic to determine if we should display the license checkout blade 2020-06-16 16:12:57 -07:00
snipe a7eb89f6b6 Misc fixes for flysystem paths 2020-06-16 16:06:25 -07:00
Peter Upfold 004ecad059 Force suppress deprecation warning on ldap_control_paged_result() 2020-06-03 08:59:50 +01:00
snipe 1267c68f28 Removed barcodes from S3 uploader
Signed-off-by: snipe <snipe@snipe.net>
2020-05-28 19:56:18 -07:00
snipe 262eb79471 WIP - this needs refactoring
We have to use Storage::get() if the filesystem is local, since the method does a file_get_contents() and the file isn’t accessible via a URL since it’s private and doesn’t live on the web root. (We do this slightly differently than Laravel out of the box)

Signed-off-by: snipe <snipe@snipe.net>
2020-05-28 01:59:01 -07:00
snipe 7a785b4952 Updated a few flysystem settings
Signed-off-by: snipe <snipe@snipe.net>
2020-05-28 01:54:29 -07:00
snipe beae8efb21 Merge pull request #8088 from Godmartinz/Label_Woes
Barcode resizing and text adjustment
2020-05-27 23:01:33 -07:00
snipe 3c0a6292c4 Clarified env example with flysystem examples
Signed-off-by: snipe <snipe@snipe.net>
2020-05-27 22:47:53 -07:00
snipe 8ccc1c6515 Fixed weird merge in Bulk Users Controller
Signed-off-by: snipe <snipe@snipe.net>
2020-05-27 22:46:42 -07:00
Godfrey M 9839e5e566 adjusted for all label text, removed local variable 2020-05-27 12:27:40 -07:00
snipe d54acd908c Made logo file have a better name for multiple tries in the same day
Signed-off-by: snipe <snipe@snipe.net>
2020-05-27 02:31:04 -07:00
snipe 42fe1ea398 Set public files specifically to public
Signed-off-by: snipe <snipe@snipe.net>
2020-05-27 02:30:43 -07:00
snipe bb062b20a1 Switched env to public
Signed-off-by: snipe <snipe@snipe.net>
2020-05-27 02:30:30 -07:00
snipe a93810e301 Updated example config
Signed-off-by: snipe <snipe@snipe.net>
2020-05-27 00:39:28 -07:00
snipe d14ab7e3e1 Porting change from #8053 to master
Signed-off-by: snipe <snipe@snipe.net>
2020-05-27 00:22:44 -07:00
snipe f137c1ca09 Merge pull request #8044 from snipe/flysystem_tweaks
Tweak to Flysystem's filesystems.php to make it work with Snipe-IT
2020-05-27 00:22:28 -07:00
snipe f196b5bd94 Merge pull request #8077 from dmeltzer/more-paving
Sync paveit command with new database tables.
2020-05-26 21:18:22 -07:00
snipe e0d9cc4e73 Merge pull request #8053 from CharlotteDunoisLabs/fix-gravatar
Take gravatar email into account in presenter
2020-05-26 19:58:45 -07:00
snipe 5b4e4c8dcd Merge pull request #8061 from Godmartinz/develop
fixed a table header error
2020-05-26 19:52:14 -07:00
snipe dee1f5ec35 Merge pull request #8078 from dmeltzer/wrong-id
Fix incorrectly named parameter.
2020-05-26 19:51:38 -07:00
snipe 850bfc40d4 Merge pull request #8079 from dmeltzer/misc-fixes
Misc fixes
2020-05-26 19:50:39 -07:00
Godfrey M e7f74d94c1 Label_Woes 2020-05-26 17:22:45 -07:00
Godfrey M e97cf011b6 Label_Woes 2020-05-26 17:15:39 -07:00
Godfrey M ed23505054 Label_Woes 2020-05-26 17:10:45 -07:00
Daniel Meltzer b3fe47bfa7 Remove/Reorganize logic to make codacy happier. 2020-05-23 15:24:10 -04:00
Daniel Meltzer 1e5d40f32e Clean up extra code in notifications files. 2020-05-23 15:24:10 -04:00
Daniel Meltzer f0546bf689 Clean up Transformers and extract an isDeletable() method to models where it makes sense. 2020-05-23 15:24:10 -04:00
Daniel Meltzer 136df9418f Deadcode-- 2020-05-23 15:24:10 -04:00
Daniel Meltzer 7ea862787c Refactor controller to use one method that shows all modals based on name. 2020-05-23 15:24:00 -04:00
Daniel Meltzer 25d6ceee6e Remove old code. 2020-05-23 12:18:27 -04:00
Daniel Meltzer 4fef065010 Refactor big switch to lookup in array. A bit cleaner/codacy happier. 2020-05-23 12:17:56 -04:00
Daniel Meltzer fe74394ae6 Short circuit checkout logic to prevent iterating if we're not checking out to an asset 2020-05-23 11:48:02 -04:00
Daniel Meltzer 7a76cb08a0 We accept xlsx in uploads 2020-05-23 11:36:47 -04:00
Daniel Meltzer c70bd62a0f Missing includes. Fix by using the request object instead of facade. 2020-05-23 11:36:16 -04:00
Daniel Meltzer ad1db2c640 Fix incorrectly named parameter. 2020-05-23 10:26:56 -04:00
Daniel Meltzer 2e936a9883 Sync paveit command with new database tables. 2020-05-23 09:08:32 -04:00
snipe 3db4480bba Merge pull request #8062 from dmeltzer/fix-modal-select-html
Fix Missing Category selection in Asset Model Modal dialog.
2020-05-20 10:24:20 -07:00
snipe 001e721530 Merge pull request #8063 from dmeltzer/backport-8092
BACKPORT: Fix Missing Category selection in Asset Model Modal dialog - [ch14635]
2020-05-20 10:21:52 -07:00
Daniel Meltzer 8210da6e82 Fix Missing Category selection in Asset Model Modal dialog.
A select html tag needs a full closing tag. is not valid. This was causing the select2 js to barf and eat additional information.
2020-05-20 10:29:27 -04:00
Daniel Meltzer 6a80f95769 Fix Missing Category selection in Asset Model Modal dialog.
A select html tag needs a full closing tag.  <select /> is not valid.
This was causing the select2 js to barf and eat additional information.
2020-05-20 10:23:04 -04:00
Godfrey M edd4797178 fixed a table header error 2020-05-19 16:59:09 -07:00
snipe f88683766b Roll back previous change
Signed-off-by: snipe <snipe@snipe.net>
2020-05-14 00:55:47 -07:00
snipe e4385c0f8c Fixes #8051 regression
Signed-off-by: snipe <snipe@snipe.net>
2020-05-14 00:48:30 -07:00
Charlotte Dunois 7f8c6fe282 Take gravatar email into account in presenter 2020-05-13 20:30:47 +02:00
snipe 8cc9e61983 Ugh
Sorry, my local testing environment is fscked right now :(

Signed-off-by: snipe <snipe@snipe.net>
2020-05-12 20:38:32 -07:00
snipe c5560e466e Removed fieldset from test
Signed-off-by: snipe <snipe@snipe.net>
2020-05-12 20:17:35 -07:00
snipe 157a2ee869 Merge pull request #8048 from dmeltzer/license-importer-checkout-fix
License importer checkout fixes
2020-05-12 13:51:36 -07:00
snipe de7ee40863 Fixed failing test
Signed-off-by: snipe <snipe@snipe.net>
2020-05-12 11:52:08 -07:00
Daniel Meltzer a6f90cb3fc Assorted licenses UI fixes while testing.
* Rename licenses route checkin parameter to clarify it's purpose and
fix incorrect route in users view page.
* Checkin note can be nullable for checking in a license.
* License Seat view was only showing 20 license seats due to faulty
transformer logic.
2020-05-12 14:38:21 -04:00
Daniel Meltzer 1321304720 Importer UI: Removed misleading checked out to field. Add full name and asset tag fields to licenses. 2020-05-12 14:38:21 -04:00
Daniel Meltzer e4888b23e2 Save User ID when checking out a license. Also buff up importing tests to confirm license can be checked out. 2020-05-12 14:38:20 -04:00
snipe 274f82893f Regenerate session ID on logout
Signed-off-by: snipe <snipe@snipe.net>
2020-05-12 10:38:00 -07:00
snipe 0550fe0ffa Fix for session fixation vulnerability
Signed-off-by: snipe <snipe@snipe.net>
2020-05-12 10:31:54 -07:00
snipe 730632e2eb Apply PR #8043 to develop
Signed-off-by: snipe <snipe@snipe.net>
2020-05-11 22:57:55 -07:00
snipe 7fb3a9b82c Merge pull request #8043 from snipe/features/backup-optional-in-import-and-ldap
Added option to disable backup in import
2020-05-11 22:41:36 -07:00
Brady Wetherington b03f8a2425 Tweak to Flysystem's filesystems.php to make it work with Snipe-IT 2020-05-11 21:41:56 -07:00
snipe ecb1e87fe6 Updated assets
Signed-off-by: snipe <snipe@snipe.net>
2020-05-11 20:45:15 -07:00
snipe f43df5f041 Fixed form label
Signed-off-by: snipe <snipe@snipe.net>
2020-05-11 20:44:46 -07:00
snipe 95cc48e422 Added option to disable backup in import
Signed-off-by: snipe <snipe@snipe.net>
2020-05-11 20:41:10 -07:00
snipe 9a2ed804ca Fixed mismatched HTML header tags
Signed-off-by: snipe <snipe@snipe.net>
2020-05-11 20:28:42 -07:00
snipe d20fad28e5 Use more modern request helper
Signed-off-by: snipe <snipe@snipe.net>
2020-05-11 20:28:24 -07:00
snipe ae813ddf75 Add @alek13 as a contributor 2020-05-11 18:11:16 -07:00
snipe bb42109c0c Added a clarifying comment
Signed-off-by: snipe <snipe@snipe.net>
2020-05-11 18:10:45 -07:00
snipe f46ecf8ec0 Updated composer lock
Signed-off-by: snipe <snipe@snipe.net>
2020-05-11 18:07:20 -07:00
snipe b9e821c0e6 Small fix for Group Functional Tests
Signed-off-by: snipe <snipe@snipe.net>
2020-05-11 18:07:14 -07:00
snipe 9ee28c7513 Switched to use info instead of danger on undeployable statuses
Signed-off-by: snipe <snipe@snipe.net>
2020-05-11 18:07:02 -07:00
snipe 1a8ba06702 Merge branch 'master' of https://github.com/snipe/snipe-it 2020-05-11 17:53:32 -07:00
snipe 0fd232e70d Fixed group functional test
(We had changed the minimum to 2 instead of 3)

Signed-off-by: snipe <snipe@snipe.net>
2020-05-11 17:53:24 -07:00
snipe ee4d69b1c5 Merge pull request #8041 from alek13/patch-1
use supported package for slack
2020-05-11 17:52:45 -07:00
snipe d22be8ee0e Merge pull request #8036 from johnson-yi/features/saml_auth
Additional updates/fixes for saml
2020-05-11 17:04:37 -07:00
Alexander Chibrikin d1ad111949 use supported package for slack
see https://github.com/maknz/slack/issues/94
2020-05-11 20:31:13 +03:00
Johnson Yi 572185ac96 Revised how saml sp info is displayed 2020-05-09 09:44:51 +10:00
Johnson Yi 3d8fce50d0 Removed unnecessary default saml settings 2020-05-09 01:51:48 +10:00
snipe 6018a9c6ee Add @johnson-yi as a contributor 2020-05-06 19:21:56 -07:00
snipe c3d8024e1f Merge pull request #8023 from johnson-yi/features/saml_auth
Added #542: add saml authentication
2020-05-06 17:28:30 -07:00
Johnson Yi c1c37d521c Allow downloading sp metadata without idp 2020-05-06 19:50:50 +10:00
Johnson Yi b2930d6069 Added #542: add saml authentication 2020-05-06 00:06:19 +10:00
snipe 8ecb7969df Fixed incorrect route for saving groups
Signed-off-by: snipe <snipe@snipe.net>
2020-05-01 01:26:15 -07:00
snipe 31c5350941 Fixed incorrect route for groups edit
Signed-off-by: snipe <snipe@snipe.net>
2020-05-01 01:05:48 -07:00
snipe 85712a1960 Only override fieldset_id with custom_fieldset_id if it’s present
This is mostly to support prior versions. I have NFC why we did this in the first place. I’m sure I had a stellar reason, but couldn’t tell you what it is today.

Signed-off-by: snipe <snipe@snipe.net>
2020-04-30 20:59:42 -07:00
snipe e9cb17394c Small validation fix on reset password
Signed-off-by: snipe <snipe@snipe.net>
2020-04-30 19:10:07 -07:00
snipe 8507bcd16b Merge pull request #8008 from dmeltzer/component-checkinout-fixes
Component checkout/checkin fixes.
2020-04-30 17:49:22 -07:00
snipe e47c44d055 Merge pull request #8007 from dmeltzer/permissions-form-cleanup
Permissions edit cleanups.
2020-04-30 17:48:24 -07:00
snipe b488cffc7e Merge pull request #8006 from dmeltzer/api-test-fixes
Test fixes pt 2.
2020-04-30 17:46:25 -07:00
snipe 8bb3c01f78 Addressed merge issue for reset password for #7997
Signed-off-by: snipe <snipe@snipe.net>
2020-04-30 17:45:05 -07:00
snipe 82e02490fd Removed duplicate update method (per #7997)
Signed-off-by: snipe <snipe@snipe.net>
2020-04-30 17:23:56 -07:00
Daniel Meltzer bfba30058c Fix incorrect routing. 2020-04-30 10:35:26 -04:00
Daniel Meltzer debdccf5f1 Remove old help text translation that doesn't exist any more 2020-04-30 10:35:11 -04:00
Daniel Meltzer 441049d8ac Sort license seats by their number only, making the sort order more logical 2020-04-30 10:34:30 -04:00
Daniel Meltzer b28a4f3108 Add component unit test and unify some validation. 2020-04-30 09:50:12 -04:00
Daniel Meltzer 68224757f4 Validate when editing the quantity of a component that the new quantity is > the amount checked out 2020-04-29 13:25:04 -04:00
Daniel Meltzer 358609720a Component checkout/checkin fixes.
- Provide proper translated messages for checkin vs checkout
- Pass appropriate methods to the Checkout event, fixes an error on
checkin.
- Default to a value of 1 on checkin in UI to save a click sometimes.
2020-04-29 12:50:09 -04:00
Daniel Meltzer 42e1e9a0bd Permissions edit cleanups.
- Make each section of permissions it's own tbody for better styling
- Remove extra separators when theres nothing to separate
- Vertically center radio buttons in header rows.

Still on the ideal list:
 - Unify code between users and groups into one partial with
conditionals.
 - Sticky header row or put the header row in each section.
2020-04-29 12:33:50 -04:00
Daniel Meltzer 1f8c3cc670 Test fixes. 2020-04-29 11:03:07 -04:00
Daniel Meltzer f8d18a8eb0 Revert asset-checkout-different validation.
This was causing issues when trying to check an item out to a user or a
location because of the way laravel handles validation.

Instead, rely on the exception check we had in the controller.  I moved
this exception up to the model checkout method so that it would work
for anywhere that that method was called, even if it avoided the
controller.
2020-04-29 10:59:00 -04:00
snipe c34650458f Merge pull request #8003 from dmeltzer/test-fixes
Test fixes
2020-04-28 16:33:51 -07:00
Daniel Meltzer c65b8f97bb Laravel 6 drops support for php7.1, add php7.4 instead. 2020-04-28 12:16:37 -04:00
Daniel Meltzer 61a216a531 Rearrange seeder order so that users validate properly on first seed run. This hopefully fixes the actionlog seeder error. 2020-04-28 12:14:23 -04:00
Daniel Meltzer 3e7fbb02b7 Notes and style cleanups 2020-04-28 11:44:17 -04:00
Daniel Meltzer 9520ccae47 Unit test fix. Cleaner this way. 2020-04-28 11:39:53 -04:00
Daniel Meltzer 05187eb27f Fix Functional Tests. 2020-04-28 11:39:53 -04:00
Daniel Meltzer bb50828ca0 Remove General serial field now that the serial is part of the multi asset creation. 2020-04-28 11:39:53 -04:00
Daniel Meltzer c74b904f14 Fix Location parent different validation on new location creation. 2020-04-28 11:39:52 -04:00
Daniel Meltzer 82de51f23e Some unittest fixes for local running adapting to various factory changes. 2020-04-28 11:39:52 -04:00
snipe c2f1fd4942 Make user form a little nicer looking
Signed-off-by: snipe <snipe@snipe.net>
2020-04-28 00:01:47 -07:00
snipe 412caebf69 Fixed logo uploads
Signed-off-by: snipe <snipe@snipe.net>
2020-04-27 23:22:52 -07:00
snipe 3613da3685 Fixed dashboard boxes
Signed-off-by: snipe <snipe@snipe.net>
2020-04-27 23:05:04 -07:00
snipe b433b49469 Ficing webpack, CSS and JS (*whew* that sucked)
Signed-off-by: snipe <snipe@snipe.net>
2020-04-27 22:41:33 -07:00
snipe 72a1616b3c Removed wonky assets
Signed-off-by: snipe <snipe@snipe.net>
2020-04-27 21:02:42 -07:00
snipe f172747495 Handle parse error in custom fields edit per #7997
Signed-off-by: snipe <snipe@snipe.net>
2020-04-27 19:36:07 -07:00
snipe 6427f46a6b Removed mix (switched to url()) for now until assets are fixed
Signed-off-by: snipe <snipe@snipe.net>
2020-04-27 19:35:21 -07:00
snipe b76b97d89b Fix path in seeder
Signed-off-by: snipe <snipe@snipe.net>
2020-04-27 18:17:44 -07:00
snipe 6847a331a7 Backport the column icon fix from master
Signed-off-by: snipe <snipe@snipe.net>
2020-04-24 05:55:38 -07:00
snipe 7eb70e17e0 Merge pull request #7993 from snipe/fixes/7989_column_selector
Fixed #7989 - Converted table heading icons in People to CSS glyphs
2020-04-24 04:50:37 -07:00
snipe 3dfcb46991 Minor formatting changes
Signed-off-by: snipe <snipe@snipe.net>
2020-04-24 04:41:08 -07:00
snipe 96eb96f964 Removed stray val (typo)
Signed-off-by: snipe <snipe@snipe.net>
2020-04-24 04:27:00 -07:00
snipe a2f08bd3ba Added comments
Signed-off-by: snipe <snipe@snipe.net>
2020-04-24 04:08:54 -07:00
snipe e009fbe59f Converted table heading icons in People to CSS glyphs
Signed-off-by: snipe <snipe@snipe.net>
2020-04-24 04:04:53 -07:00
snipe 5bb4f271aa Fixed #7987 - allow toggle of required/optional in custom fields/fieldsets
Signed-off-by: snipe <snipe@snipe.net>
2020-04-24 00:47:19 -07:00
snipe bea3a7b982 Fixed #7987 - allow toggle of required/optional in custom fields/fieldsets
Signed-off-by: snipe <snipe@snipe.net>
2020-04-24 00:39:32 -07:00
snipe 88d39b4287 Updated generated assets
Signed-off-by: snipe <snipe@snipe.net>
2020-04-23 22:46:41 -07:00
snipe f66ce02756 Added debugging logs
Signed-off-by: snipe <snipe@snipe.net>
2020-04-23 22:46:02 -07:00
snipe c7b300a50d Updated LDAP sync controller to use new Adldap2 connections
Signed-off-by: snipe <snipe@snipe.net>
2020-04-23 22:45:44 -07:00
snipe 44962d1eb9 Switched to use Primary button
Signed-off-by: snipe <snipe@snipe.net>
2020-04-23 22:44:48 -07:00
snipe e69461d797 Cleaned up LDAP sync blade
Signed-off-by: snipe <snipe@snipe.net>
2020-04-23 22:44:28 -07:00
snipe 796e693dda Removed duplicate signature padd css files
Signed-off-by: snipe <snipe@snipe.net>
2020-04-23 22:44:17 -07:00
snipe c9ed205bb0 Added @throws to documentation
Signed-off-by: snipe <snipe@snipe.net>
2020-04-23 14:41:37 -07:00
snipe b01e8720dc Fixed ldap settings JS error
Signed-off-by: snipe <snipe@snipe.net>
2020-04-23 14:41:20 -07:00
snipe e9135eceb3 Better json formatting
Signed-off-by: snipe <snipe@snipe.net>
2020-04-22 11:16:31 -07:00
snipe c50b81ff19 Added resources
Signed-off-by: snipe <snipe@snipe.net>
2020-04-22 07:15:24 -07:00
snipe b5cc845216 Removed vendor.js from setup blade
Signed-off-by: snipe <snipe@snipe.net>
2020-04-22 07:15:12 -07:00
snipe 599cf23d63 Added icheck icons to resources
Signed-off-by: snipe <snipe@snipe.net>
2020-04-22 07:14:23 -07:00
snipe b0d848caec Updated wedbpack to only pull from resources or node_modules
Signed-off-by: snipe <snipe@snipe.net>
2020-04-22 07:13:32 -07:00
snipe 94e8343f63 Generated skins in css/dist/skins
Signed-off-by: snipe <snipe@snipe.net>
2020-04-22 07:13:09 -07:00
snipe cdd0e405be Fixed weird merge
Signed-off-by: snipe <snipe@snipe.net>
2020-04-22 07:12:29 -07:00
snipe eb8c20880a Updated package.json
Signed-off-by: snipe <snipe@snipe.net>
2020-04-22 07:12:12 -07:00
snipe af6dc0068b Updated node, set min requirement
Signed-off-by: snipe <snipe@snipe.net>
2020-04-22 07:12:00 -07:00
snipe a160da6619 Removed unused styles
Signed-off-by: snipe <snipe@snipe.net>
2020-04-22 07:11:38 -07:00
snipe 3435485a46 Updated path to skin css
Signed-off-by: snipe <snipe@snipe.net>
2020-04-22 06:41:19 -07:00
snipe 3a446e6396 Updated variables.less with additional values
Signed-off-by: snipe <snipe@snipe.net>
2020-04-22 06:40:27 -07:00
snipe b725e788ec Applied new selectlist search to locations
Signed-off-by: snipe <snipe@snipe.net>
2020-04-22 06:39:41 -07:00
snipe fa5134603f Added type casting and a few more validation rules
Signed-off-by: snipe <snipe@snipe.net>
2020-04-22 06:37:40 -07:00
snipe a44d1cc0cf Fixed iCheck
Signed-off-by: snipe <snipe@snipe.net>
2020-04-22 06:02:55 -07:00
snipe 69a1732245 Removed duplicate form request in asset models controller
Signed-off-by: snipe <snipe@snipe.net>
2020-04-22 03:51:10 -07:00
snipe 7e9e5214ef Fixed status label create error
Signed-off-by: snipe <snipe@snipe.net>
2020-04-22 03:50:43 -07:00
snipe e1784394b3 Moved js, skins and primary CSS into dist directory
Signed-off-by: snipe <snipe@snipe.net>
2020-04-22 03:39:42 -07:00
snipe edc29bf6d5 Moved font-awesome fonts to make life easier
Signed-off-by: snipe <snipe@snipe.net>
2020-04-22 03:33:14 -07:00
snipe 6103524ebc Moved skins into css/dist directory
Signed-off-by: snipe <snipe@snipe.net>
2020-04-22 03:32:52 -07:00
snipe 2db527f4d2 Removed CSS skins (these are generated in the css dir)
Signed-off-by: snipe <snipe@snipe.net>
2020-04-22 03:27:51 -07:00
snipe 60851c2eb2 Fixed AssetsController namespace in route
Signed-off-by: snipe <snipe@snipe.net>
2020-04-22 03:15:54 -07:00
snipe 905fb09c5b Removed unused light skins 2020-04-22 01:56:22 -07:00
snipe 82b6d2b31b Fixed a few more tests 2020-04-21 21:13:00 -07:00
snipe c5e587f33b Added codeception testing modules for —dev 2020-04-21 20:15:45 -07:00
snipe 7a33e335d4 Fixes PSR autoloading issue 2020-04-21 20:15:24 -07:00
snipe bbc2ac2f9d Updated tests with new location.id!=location.parent_id rule 2020-04-21 19:51:42 -07:00
snipe c02adace61 Ensure at the model level that location.id/user.id and location.parent_id/user.manager_id cannot be the same 2020-04-21 19:51:20 -07:00
snipe 5dc64ea91b Re-added EasySlugger to fix tests 2020-04-21 19:28:24 -07:00
snipe 1c5486e588 Updated test method for newer codeception from assertContains to assertStringContainsString 2020-04-21 19:28:06 -07:00
snipe 05e9861b71 Checkin/checkout fixes 2020-04-21 11:28:31 -07:00
snipe cff2a65f62 Fixed broken if/else in view from bad merge 2020-04-21 11:13:29 -07:00
snipe 7a6ca5cb40 Tempt fix for css weirdness
TODO: figure out why overrides isn’t being compiled into css/dist/all.css
2020-04-21 11:03:32 -07:00
snipe 63259418b2 Package updates 2020-04-21 10:43:25 -07:00
snipe 1d8c3a73ea Use non-min version of skin until we can get the other webpack stuff sorted 2020-04-21 10:43:04 -07:00
snipe e786ef8290 Pull branding back to develop normal 2020-04-21 10:42:37 -07:00
snipe 64b0dbdafe Fixed mismatched html tag 2020-04-21 10:42:09 -07:00
snipe 381d2369b6 Updated CSS assets 2020-04-21 06:33:44 -07:00
snipe 29b05d2020 Fixed syntax error in image upload request from mangled merge 2020-04-21 06:29:57 -07:00
snipe c38bbfc8bd Removed title from more info link 2020-04-21 06:29:34 -07:00
snipe be446eedb0 Updated html styles on settings index 2020-04-21 06:29:08 -07:00
snipe dc6e329d96 Fixed name in comments 2020-04-21 06:18:24 -07:00
snipe 72b3228d82 Fixed HTML tags 2020-04-21 06:15:31 -07:00
snipe f6446bae79 Bumped vendor libraries 2020-04-21 04:34:11 -07:00
snipe aaaf5f8b42 Missed a mismatched h2 2020-04-21 04:23:53 -07:00
snipe 4fe32e1c9c Fixed broken h2 tag 2020-04-21 04:22:09 -07:00
snipe 066e5588b5 Fixed slugging in custom fields to no longer use old library 2020-04-21 04:14:23 -07:00
snipe c17106d1b3 Fixes for settings controller 2020-04-21 04:08:25 -07:00
snipe cb71bcc4af Switch to old() helper 2020-04-21 03:58:31 -07:00
snipe 58f6b2da5a Fixing assets 2020-04-21 03:42:35 -07:00
snipe b670371e0b Ugggh… fixing a donked merge 2020-04-21 03:30:21 -07:00
snipe f532e9b462 Fixing assets :(
Not sure what happened in tbis merge exactly
2020-04-21 03:07:11 -07:00
snipe 3cb4672ffe Updated composer 2020-04-21 02:47:12 -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
snipe 154db9a416 This literally never fucking worked. Ever. Shoot me. 2020-04-09 22:20:05 -07:00
snipe cf9d0201e0 Catch weird edge case where target wouldn’t have an ID (?!) 2020-04-09 20:23:02 -07:00
snipe 7ebd21bc04 Added sr-only to the unstyles image upload button 2020-04-09 19:29:16 -07:00
snipe 5707df0239 Check that location isset in checkout 2020-04-09 18:32:34 -07:00
snipe 197a84be94 Commented out rtd_location_id override - why did we do that? 2020-04-09 14:17:39 -07:00
snipe b4fa4c77d7 Check for rtd_location_id before trying to assign 2020-04-09 14:14:30 -07:00
snipe cfec142c3b Better handle models without a fieldset in the asset request [RB 9935] 2020-04-09 11:18:54 -07:00
snipe 48dfc699d7 Bumped version 2020-04-09 10:49:50 -07:00
snipe ec723a3da1 Changed LDAP messaging 2020-04-09 10:37:51 -07:00
snipe f8a72db696 Changed LDAP 600 to 500, clearer error messages on LDAP test 2020-04-09 09:55:44 -07:00
snipe 83ee64f155 Added missing CSS class to text-only logo 2020-04-08 17:25:14 -07:00
snipe b7d12ff944 Changed placeholder text back to lighter grey - it was confusing when darker 2020-04-08 17:24:59 -07:00
snipe 0858fec7f1 Fixed CSS issue where text-only logos at the top would be the wrong color 2020-04-08 17:24:38 -07:00
snipe 206bd675f2 Pulled slack validation out of setting model validation so it doesn’t fail mysteriously on other pages 2020-04-08 15:07:02 -07:00
snipe 92695782ff Add @anthonypburns as a contributor 2020-04-08 11:48:18 -07:00
snipe c447e4d29b Add @joshi-redbridge as a contributor 2020-04-08 11:48:03 -07:00
snipe 811f89b1de Add @JoKneeMo as a contributor 2020-04-08 11:47:37 -07:00
snipe be3e572440 Bumped version 2020-04-08 11:24:30 -07:00
snipe 824ebc19c0 Updated assets 2020-04-08 11:24:17 -07:00
snipe a0f7fdc57a Merge branch 'fixes/accessibility_fixes'
# Conflicts:
#	public/css/build/all.css
#	public/css/dist/all.css
#	public/js/build/all.js
#	public/js/build/vue.js
#	public/js/build/vue.js.map
#	public/js/dist/all.js
#	public/mix-manifest.json
#	resources/assets/js/components/importer/importer-file.vue
2020-04-08 11:19:42 -07:00
snipe 450c1b9d56 Updated faker library to be compatible with PHP 7.4 2020-04-08 11:13:15 -07:00
snipe 79232fc434 Fixed #7947 - Added rtd_location_id to API search 2020-04-08 11:00:04 -07:00
snipe 0b3f511534 Fixed compact() errors 2020-04-07 17:26:56 -07:00
snipe 7f18983a49 Update local instance of composer.phar on upgrade. (#7940)
Co-authored-by: Johnny Moore <jmoore@eventide.com>
2020-04-07 13:21:55 -07:00
snipe b7d9790acb Fixed color style for btn-sm.btn-warning and btn-sm.btn-danger 2020-04-06 21:59:30 -07:00
snipe 1a5785a8d3 Fixed dashboard header size 2020-04-06 21:30:28 -07:00
snipe 320d660e83 Updated chartjs 2020-04-06 21:17:26 -07:00
snipe fb903b2fda Added comments, better indenting 2020-04-06 21:05:42 -07:00
snipe c18646d096 Yellow highlight on selected rows 2020-04-06 21:00:11 -07:00
snipe 7bf398aca4 More settings filter fixes 2020-04-06 20:47:05 -07:00
snipe f6bb655383 Prevent form submission 2020-04-06 20:17:44 -07:00
snipe 19f71face9 Added filtering to settings page 2020-04-06 20:11:13 -07:00
snipe d82b94e281 Pull blue stylesheet if no skin was selected 2020-04-06 19:04:49 -07:00
snipe 893944403e Check for location_id being set before trying to set it on checkout via API 2020-04-06 15:54:40 -07:00
snipe 0d3c18d1df Fixed importer vue code for niceer layout 2020-04-06 15:09:37 -07:00
snipe d7873f257d Fixed CSP for importer 2020-04-06 14:18:45 -07:00
Johnny Moore 7e3f718797 Update local instance of composer.phar on upgrade. 2020-04-03 13:13:30 -04:00
snipe be79a1f3d6 Bumped hash 2020-04-02 19:27:41 -07:00
snipe a8032ac388 Switched to btn-primary for submit 2020-04-02 18:38:54 -07:00
snipe 21d8225696 Use button primary for higher contrast 2020-04-02 18:33:26 -07:00
snipe 766c2b22cb Removed stray tag 2020-04-02 18:33:10 -07:00
snipe db79f92423 Updatedb select2 to latest for aria fixes 2020-04-02 18:22:25 -07:00
snipe bdddab5b8b Added role=“option” to option items, additional icon font fixes 2020-04-02 18:17:21 -07:00
snipe 031adc3be4 Small display fixes to importer table 2020-04-01 19:51:36 -07:00
snipe e7c1418314 Fixed possible typo in CSP 2020-04-01 19:47:42 -07:00
snipe c906026acd Merge branch 'master' into fixes/accessibility_fixes 2020-04-01 14:04:02 -07:00
snipe 56c2740b68 Radio button tweaks 2020-04-01 06:56:27 -07:00
snipe 4688d62b9f Small UI fixes 2020-04-01 06:50:37 -07:00
snipe 99686bd73a Added labels for bulk actions 2020-04-01 06:48:02 -07:00
snipe 120e224961 Add the ability to remove all group memberships in bulk 2020-04-01 06:35:13 -07:00
snipe e27d69a31d Remove viewport restrictions 2020-04-01 06:18:37 -07:00
Ivan Nieto c492ba7245 Adding changes to 'upload-table' for being painted in CSS (#7934) 2020-04-01 05:24:05 -07:00
snipe 53658e365f Removed duplicate HTML tag 2020-04-01 04:36:28 -07:00
snipe 4cfa0e36b1 Added labels to password reset 2020-04-01 04:30:54 -07:00
snipe 9d9b5d3885 Added form labels to auth screens 2020-04-01 04:29:54 -07:00
snipe 36f9905be0 Removed test code 2020-04-01 04:29:35 -07:00
snipe a815e0ab8c Fixed stupid curly quotes 2020-04-01 03:55:44 -07:00
snipe 6bfec08a8c Updated vue files with aria tags and labels 2020-04-01 03:53:05 -07:00
snipe 2d2cd68061 Switched to h2 from h4 2020-04-01 03:51:08 -07:00
snipe fd642e95eb Hide success icons from screen readers 2020-04-01 03:25:07 -07:00
snipe 9ab3370be5 Hide icons in error messages 2020-04-01 03:21:15 -07:00
snipe 4dcc1ffdbc More form labels 2020-04-01 02:22:24 -07:00
snipe 7d466f3584 Update user uploads for more data to work with recport 2020-04-01 02:22:16 -07:00
snipe 7718abaa72 Added aria-hidden 2020-04-01 01:26:44 -07:00
snipe 59c5a1ea87 Added aria label to form helper 2020-04-01 01:26:32 -07:00
snipe 0cf70c9e16 Fixed select2 placeholder 2020-04-01 01:26:19 -07:00
snipe 6174f9b93f Check that there is actually a filed ID submitted 2020-04-01 01:25:31 -07:00
snipe c3d2e8ff26 Added aria-hidden to inline form error text 2020-04-01 00:18:20 -07:00
snipe 192f703885 Trying placeholder CSS styling for the high contrast skin
Doesn’t seem to work :(
2020-04-01 00:15:58 -07:00
snipe be93b23488 Added aria-label to form fields 2020-04-01 00:15:33 -07:00
snipe b079d0d6d5 Use btn-primary for submit button 2020-03-31 23:38:10 -07:00
snipe c6c75cc11f Fixed missing </h3 tags 2020-03-31 23:36:56 -07:00
snipe b188285bc9 Fixed empty table headings 2020-03-31 23:02:24 -07:00
snipe 6d659a84b8 Removed extra div tag 2020-03-31 22:53:58 -07:00
snipe 3e3828229d Removed _tab from tab names 2020-03-31 22:52:21 -07:00
snipe bf6a0f8d2f Added aria-hidden 2020-03-31 22:50:38 -07:00
snipe 3873c4b253 Added aria form labels to upload modal 2020-03-31 22:50:29 -07:00
snipe 6cc23f69f9 Added aria form labels 2020-03-31 22:50:14 -07:00
snipe a467a6999e Use upload modal 2020-03-31 22:50:07 -07:00
snipe e0eb10ca1e Added aria-hidden tags 2020-03-31 22:49:49 -07:00
snipe 99c4c73c09 Fixed aria labels on dropdowns 2020-03-31 21:53:26 -07:00
snipe bde45cbb34 Fixed h3 to h2 for semantic header levels 2020-03-31 21:30:24 -07:00
snipe c408c27bf4 Updated dark skins 2020-03-31 21:10:55 -07:00
Joshi b14f37d966 Purposal for fix on issue 6251 - max upload filesize (#7930)
* Added a check and sed to startup.sh for managing max upload size inside the docker container. Issue encountered in 6251

* Changed startup.sh to bash instead of sh to have better variable control. Changed single ticks to double ticks for the sed so that the variable PHP_UPLOAD_LIMIT is expanded
2020-03-31 21:02:10 -07:00
snipe bfa9c0c528 Updated dark skins with updated styles 2020-03-31 20:58:54 -07:00
snipe 9cc9cddd68 Fixed visited button text color 2020-03-31 20:39:41 -07:00
snipe fe2261c88d A few more aria-hidden fixes 2020-03-31 19:34:01 -07:00
snipe 6aeb3c0a47 Use divs instead of layout table on view 2020-03-31 19:27:21 -07:00
snipe dfaa1c9578 Use the same “no results” treatment for each tab 2020-03-31 18:45:43 -07:00
snipe 0ef1dfe061 Switched from layout tables to decorated divs for asset detail page 2020-03-31 18:39:58 -07:00
snipe ba8bcd6413 Slight tweaks to div table styles 2020-03-31 18:39:41 -07:00
snipe 7854003ec2 Added sr-only text to “made with love” footer 2020-03-31 17:29:20 -07:00
snipe c71dd9b68a Added sr-only text 2020-03-31 17:29:06 -07:00
snipe dfeabbc85d Added table-styles div CSS
(Still needs to be applied for dark mode skins)
2020-03-31 17:28:40 -07:00
snipe b8b9ac8a1b Fixed mismatched <b>/<strong> tags 2020-03-28 18:00:46 -07:00
snipe 80ac2607cd Added alt tags to assigned assets view 2020-03-28 18:00:19 -07:00
snipe 3552fb1fd8 Added alt tags to profile image 2020-03-28 18:00:05 -07:00
snipe 54a96b8453 Fixed <b> to <strong> 2020-03-28 17:30:17 -07:00
snipe 03be4e74df Higher contrast pagination 2020-03-28 04:00:46 -07:00
snipe e9ddd1af81 Added th content on activity report 2020-03-28 04:00:26 -07:00
snipe f305885e8e Regenerated assets 2020-03-28 03:43:35 -07:00
snipe f0b9cd7820 Changed header for h2 2020-03-28 03:43:24 -07:00
snipe 59accca89d Added form labelss 2020-03-28 03:43:08 -07:00
snipe e72ebfb94b Added placeholder text for modal header 2020-03-28 03:42:45 -07:00
snipe 0b7316d548 Changed side heading to h2 2020-03-28 03:42:27 -07:00
snipe d0cf76989a Fixed table headers for custom fields 2020-03-28 02:52:14 -07:00
snipe 90a2bf7c9c Regenerated high contrast menu 2020-03-28 02:42:34 -07:00
snipe 95945412b1 Fixed label 2020-03-28 02:42:04 -07:00
snipe c299efca0c Darkened the home screen boxes for high contrast 2020-03-28 02:41:43 -07:00
snipe 5e4918579a Added table headers 2020-03-28 02:41:27 -07:00
snipe db75f0e894 Regenerated assets 2020-03-28 01:38:01 -07:00
snipe 5a6c13e364 Added aria-hidden and sr-only tags to minus/collapse symbol 2020-03-28 01:37:49 -07:00
snipe 4b22f07dd7 Fixed less attribute names 2020-03-28 01:37:27 -07:00
snipe 57cb5146fc Just use navy for links 2020-03-28 01:37:13 -07:00
snipe 07708f530e Use label for field in column dropdown 2020-03-28 01:36:55 -07:00
snipe 5c68353e62 Use non-min bs tables for now 2020-03-28 01:36:35 -07:00
snipe 53728e5c71 Removed whitespace 2020-03-28 01:36:22 -07:00
snipe b965d170ab Added accessibility features to bootstrap tables 2020-03-28 00:51:26 -07:00
snipe 34a1bb7152 Fixed contrast skin 2020-03-28 00:24:37 -07:00
snipe 8787f228d9 Fixed asset build 2020-03-28 00:16:28 -07:00
snipe 03cde9a72c Added less processing for skin files 2020-03-28 00:08:21 -07:00
snipe 623655b6f6 New dark background skins 2020-03-28 00:07:34 -07:00
snipe da6830225a Remove light colored less files - it looks crappy 2020-03-28 00:06:51 -07:00
snipe a729410fe8 Regenerated JS 2020-03-27 22:03:30 -07:00
snipe bba4036e53 Updated skin theme 2020-03-27 22:03:09 -07:00
snipe 39c71c6027 Regenerate new skin css files 2020-03-27 22:02:57 -07:00
snipe 03a9219a7c Fixed duplicate color: attribute 2020-03-27 22:01:43 -07:00
snipe a8f6bbd86a Added alt text to image formatter in bootstrap tables 2020-03-27 22:01:24 -07:00
snipe 9a2ee2638b Updated color-specific skins 2020-03-27 21:46:00 -07:00
snipe 2a813244a2 Wrapped text in h5s, added aria hidden to icons 2020-03-27 21:45:27 -07:00
snipe b50894fca1 Use a variable in the settings to determine what css classes to use 2020-03-27 21:44:50 -07:00
snipe 41fa2d1aa1 Added aria handlers and sr-only text 2020-03-27 21:44:32 -07:00
snipe 54d39c04ad Added additional themes to dropdown 2020-03-27 21:44:18 -07:00
snipe 3c1365b2c8 Added color variables 2020-03-27 21:44:00 -07:00
snipe 5858c90e71 Minor formatting change (spacing) 2020-03-27 15:50:01 -07:00
snipe f0ef06ebe1 Added more alt tags 2020-03-27 15:35:29 -07:00
snipe 700f7de748 Added alt text to logo 2020-03-27 14:10:56 -07:00
snipe af2ea7ac03 Added aria-hidden="true" to create dropdown in topnav
Since it’s technically duplicated content
2020-03-27 14:08:01 -07:00
snipe 690d8255c9 Removed the title attribute from the select2 output
It contains duplicate info since its auto-generated by select2
2020-03-27 14:07:30 -07:00
snipe aded2193a2 Added aria-hidden="true" to top navigation elements 2020-03-27 13:29:00 -07:00
snipe 6d99b2a68c Added “skip to content” link 2020-03-27 13:28:48 -07:00
snipe 55a619778f Added language header 2020-03-25 16:32:33 -07:00
Jared Biel bbeb51461f Fix LDAP logins 2020-03-24 16:27:14 -05:00
snipe 6066c249d5 Moved gate to the top of the method 2020-03-06 16:01:13 -08:00
Ivan Nieto 025ea93f05 Fix for when a user with the correct permissions couldn't update Manufacturers. (#7882)
* Changed the ability name from 'edit' to 'update'. Changed the order of execution: first checks if the manufacturer exists, then checks permissions

* Handles the update method, that also has the ability parameter as edit instead of update"
q

* Revert "Handles the update method, that also has the ability parameter as edit instead of update""

This reverts commit d7dc0e451e.

* Handles the update method, that also has the ability parameter as 'edit' instead of 'update'
2020-03-06 15:59:51 -08:00
snipe 54fd8f81ff Added permissions on user api (#7883)
* Add permissions to user edit API

* Add user permissions on user create/update API endpoint
2020-03-06 15:28:46 -08:00
snipe ca43554327 Fixes search by serial or tag even if they have slashes in them (#7879)
* Fixes search by serial or tag even if they have slashes in them

* Added support for url param byTag and bySerial

* Fixed typo comments

* Sojme additional comments to clarify use-cases

* Updated comments for clarity
2020-03-06 14:55:20 -08:00
snipe 039f5da0e1 Add image upload to user edit [ch10508] (#7877)
* Use correct Request include

* Updated to use additional form request

* Added SVG sanitizer

* Added response method to form request

* Allow ImageUploadRequest to accept fieldname params, added SVG sanitization, fixed delete

* Fixed upload path for avatars

* Added fieldname variable to blade partial for image upload

* Added enctype="multipart/form-data"  to form to allow uploads

* Added image field

* Updated Request::old() to use $request->old()

* Fixed derp in edit blade referring to $item when it should be $user

* Added svg+xml to image rule
2020-03-05 18:00:24 -08:00
snipe 9aed12c5aa Update composer package with newer SVG package 2020-03-05 13:28:07 -08:00
snipe 61bdb88ba5 Add @ColinMcNeil as a contributor 2020-03-04 22:38:09 -08:00
snipe 36696ab56e Add @bigtreeEdo as a contributor 2020-03-04 22:37:57 -08:00
snipe f0f9b93652 Add @Godmartinz as a contributor 2020-03-04 22:37:45 -08:00
snipe a2fae76eaf Bumped version 2020-03-04 22:37:17 -08:00
snipe 8b2f8ef3cb Spelling is hard :( 2020-03-04 22:19:59 -08:00
snipe 5307e57bd9 Fix for CVE-2019-10772
Vuln in SVG sanitizer library
2020-03-04 22:15:31 -08:00
snipe 15518852aa Added validation to reject email addresses over 250 characters 2020-03-04 22:08:07 -08:00
snipe 60fc1d3f6d Added/matched forgotten password strings in lang files 2020-03-04 22:07:35 -08:00
snipe d1a8d76d85 Set maxlength in password reset form to 250 2020-03-04 22:06:43 -08:00
snipe 803f5ad0ab Fixed #7870: fixed SSL connectivity for PaaS DBs (#7874) 2020-03-04 19:39:23 -08:00
snipe 663c0f3713 Fixed typo 2020-02-11 22:09:46 -08:00
snipe dfb9e430fa Removed debug line 2020-02-11 22:09:37 -08:00
snipe 03c5a42f5a Fixes for flysystem paths :( 2020-02-11 20:22:55 -08:00
snipe c33970e3e3 Added timestamp to uploaded files so they are unique and don’t overwrite
Laravel 6 now does this automaically, so we should switch to their way
2020-02-11 20:19:59 -08:00
snipe 0ea8125f31 Default favicon 2020-02-11 20:19:24 -08:00
snipe 841d0cdbbe Added default logo/favicon 2020-02-11 20:15:35 -08:00
Godfrey Martinez 0e0fe967e4 BadMethodCallException Method update does [ch10544] (#7804) 2020-02-10 19:27:23 -08:00
snipe 192917cc84 Slightly better fix for requestable import bug 2020-02-10 17:34:32 -08:00
snipe 46a138c64b Fixed id to statuslabel in sidenav 2020-02-10 12:36:48 -08:00
snipe 60b271c6a8 Use import instead of direct model call 2020-02-10 12:36:40 -08:00
snipe 81880645ed Possible requestable fix 2020-02-10 11:40:39 -08:00
snipe 9eb4b0dda7 Disallow 0 as a number for labels per page 2020-02-04 19:14:58 -08:00
snipe 2f0ed129f0 Use “invalid barcode” image and suppress errors when barcode format is wrong 2020-02-04 18:15:01 -08:00
Fabian Grutschus 5becb93e6c Added: allow appending of domain name to username when user tries to login (#7790) 2020-02-04 12:47:49 -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
bigtreeEdo e27a9b137b added 'requestable' to fillable attributes. (#7787) 2020-02-03 19:37:03 -08:00
snipe 89e2a3ae3c Fixed #7752 - reformat /api/v1/users/me to use transformer 2020-01-30 13:12:43 -08:00
snipe 5f85d8132b Fix for weird JSON parsing in actionlogs (#7753)
* Fix for weird JSON parsing in actionlogs

* Removed debugging code

* Check for the meta array

(If no fields, no array)
2020-01-24 17:31:43 -08:00
snipe ca1285ec08 Updated favicon 2020-01-23 19:49:46 -08:00
snipe 56582614b6 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2020-01-22 16:07:46 -08:00
Ivan Nieto 313cacdb71 Select Import File fails in Develop [ch10598] (#7718)
* Delete an unused import, then replace a deprecated facade with the needed one for uploading files

* Added the needed use for the Request Facade
2020-01-17 16:12:51 -08:00
Ivan Nieto 75bf8f3d58 Remove not existent variable 'id' in the redirect causing [ch10602] (#7732) 2020-01-17 16:12:24 -08:00
Ivan Nieto ab36784edd Added a parameter that http://snipe-it.app/fields expected, without it that functionality was broken (#7687)
Nice!
2019-12-30 20:18:47 -08:00
snipe 324da7c0c8 Include correct license, asset, etc count on user show API call 2019-12-19 18:09:53 -08:00
snipe 779fc6d195 Added license endpoint for users 2019-12-19 18:00:36 -08:00
snipe 159acf6788 Removed extra space 2019-12-19 17:47:50 -08:00
Colin McNeil db59106c3e Move ldap import ini settings to config (#7679) 2019-12-19 11:51:55 -08:00
Ivan Nieto 7b7e097922 Added correct route for AssetsController from http://snipe-it.app/hardware/audit/due endpoint (#7673) 2019-12-18 11:52:01 -08:00
snipe 5ef40340fb Bumped version 2019-12-11 19:38:04 -08:00
snipe aa4d0c4a6b Ugh. NPM is the fucking worst. 2019-12-11 19:36:55 -08:00
snipe 7f53462d0f Bumped composer lock 2019-12-11 15:21:37 -08:00
snipe 94ce8cad64 Make sure $user->item exists before trying to count on it 2019-12-11 14:43:46 -08:00
snipe 4d38c44a93 Fixed groups request 2019-12-11 11:26:58 -08:00
snipe c31e150935 Use $request->input over Request::get() 2019-12-11 11:09:54 -08:00
snipe a5b180a9c6 Fixed Call to a member function count() on null for location delete 2019-12-11 10:46:07 -08:00
snipe a8bbb951bc Use Request instead of Input 2019-12-10 22:05:49 -08:00
snipe df778cdb80 Include storage in use statements 2019-12-10 22:03:15 -08:00
snipe b55d9113d4 Moved bootstrap directive to avoid warning on codeception 2019-12-10 21:47:01 -08:00
snipe d7c51f1a2c Added Request to use statements 2019-12-10 20:39:29 -08:00
snipe b5db0b22f8 Switched to Request facade
I don’t know why my greps keep missing this shit.
2019-12-10 19:47:54 -08:00
snipe 296de34e8a WIP: Upgrade develop to Laravel 6.6.1 (#7637)
I'm going ahead and merging this, since the upgrade doesn't break Flysystem any worse than the current develop is broken, so far as I can tell. 


* Upgraded framework to Laravel 6

### TO DO:

- Fix password restriction rules- the old library isn’t compatible with Laravel 6 :(
- Figure out why in-app API calls are returning “Unauthorized”

* More updates from Input:: to Request:: helper

* Switch to Request:: from Input

* Added passport config

* Fixed goofy password minimum in seeder

* Added laravel/helpers

* Changed ($item)  to ($item->id) in forms

I have no idea why this is necessary

* Changed ($item) to ($item->id) in forms

* Updated API middleware to auth:api

* Updated with added laravel auth.php values

* FIxed *&!^$%^&$^%!!!! ajax issue

* Switch to Request::get from Input::get

* Switched to Request facade

* Added password security minimums back in

The package we were using has not been updated to Laravel v6, so I created custom validators instead

* Added language strings for error messages for password rules

* Fixed `($item)` issue in formActions for partials
2019-12-10 19:32:50 -08:00
snipe 88fb1370f0 Added slightly friendlier error handling for assets without models
This scenario should never happen, barring someone manually editing their data, but better to handle that scenario in a more user-friendly way.
2019-12-06 18:17:03 -08:00
snipe 943cf40247 Merge branch 'master' of https://github.com/snipe/snipe-it 2019-12-06 13:14:31 -08:00
snipe ff57f10e9f Fix for searching on child location names (#7646)
* Fix for child locations

* Reverts temp changes to indenter
2019-12-06 13:14:10 -08:00
snipe 91bb76fd8a Bumped version 2019-12-06 13:05:20 -08:00
snipe 893454dca7 Updated translations 2019-12-06 12:03:04 -08:00
Ivan Nieto 9291e3ada3 Added a validation to Transformers/LocationsTransformer.php:transformLocations() in case location doesn't have children location (#7640) 2019-12-06 11:42:36 -08:00
Yorick Terweijden 2a6a381bc7 Return real Asset error (#7054) 2019-12-06 11:07:12 -08:00
snipe de0b5a6149 Fixes #6440 - quote marks in the right place 2019-12-06 11:04:16 -08:00
Dustin B 8fd4e35244 Closes #6440 Print All Assigned - New Tab (#7135)
Should add the functionality to, by default open in a new tab and not reference back to the source page. Reduces overhead and should resolve #6440. 

Untested, need confirmation.
2019-12-06 11:00:01 -08:00
Valentyn Tulub 6ad1f51673 Added #6489: show asset assignments under user assignments (#7293)
* Add a setting to show assets assigned to other assets #6489

* Update user's views to show assets assigned to other assets #6489

* Add ukrainian and russian translation for the feature #6489 in settings
2019-12-06 10:57:48 -08:00
herroworrd 3fbfb0c658 Add requestable to asset model api results (#7577)
Nice, thanks!
2019-12-06 10:33:06 -08:00
Lorenzo P 7225b53986 fix syntax error in CustomFieldsetsController::show() (#7595)
That someone was probably me :D Thanks for this, good catch!
2019-12-06 10:31:00 -08:00
snipe e71e57f16a Fixed XSS vulnerability in SVG image uploads [ch10476] (#7639)
* Added enshrined/svg-sanitize

* Added modular image resizing/SVG cleaning method

(This already exists in v5, so I mostly ported it forward and added the SVG sanitizer.)

* Use improved handleImages method to upload/resize/clean images

* Removed $old_image

This is handled in the ImageUpload request now
2019-12-05 22:23:05 -08:00
snipe 3f5840d390 Bumped vendor files 2019-12-05 19:53:01 -08:00
dependabot[bot] d3f4205f09 Bump symfony/http-foundation from 3.4.30 to 3.4.36 (#7638)
Bumps [symfony/http-foundation](https://github.com/symfony/http-foundation) from 3.4.30 to 3.4.36.
- [Release notes](https://github.com/symfony/http-foundation/releases)
- [Changelog](https://github.com/symfony/http-foundation/blob/master/CHANGELOG.md)
- [Commits](https://github.com/symfony/http-foundation/compare/v3.4.30...v3.4.36)

Signed-off-by: dependabot[bot] <support@github.com>
2019-12-05 19:37:00 -08:00
Godfrey Martinez 5b946087c4 added a proper response for password errors (#7636) 2019-12-05 17:49:56 -08:00
snipe 9a2378586c Added new data directory for Laravel 5.7 upgrade 2019-12-04 17:06:15 -08:00
snipe e820d4bc4d Moved js/css/less out of resources/assets
Per https://laravel.com/docs/5.7/upgrade
2019-12-04 17:03:16 -08:00
snipe 8e3e48da14 New composer lock with slack library edits 2019-12-04 16:48:19 -08:00
snipe ff8d98c97c Update child assets to reflect asset parent location (#7458) 2019-12-04 16:19:25 -08:00
snipe 04cf8d7fbf Removed Helper reference since it’s autoloaded 2019-12-04 15:56:55 -08:00
snipe 7f8f1ff35a Specifically require slack notification channel for laravel 5.8 upgrade 2019-12-04 15:56:45 -08:00
snipe c635db0a76 Fixed upload parh for asset models 2019-12-04 15:23:49 -08:00
snipe 704c696711 Fixed parse error in settings controller 2019-12-04 14:54:36 -08:00
snipe 2fbbe430b5 Removed escaping on custom fields in presenter (#7631) 2019-12-03 17:42:13 -08:00
Godfrey Martinez f0af750b0a Fixed comment (#7617)
* Set theme jekyll-theme-hacker

* fixed commenty about scopebyDeprecationID being identified as a method to location ID

* fixed commenty about scopebyDeprecationID being identified as a method to location ID
2019-11-22 16:13:42 -08:00
snipe 88cf456386 Adding Dept to license seats (#7609)
* Adding Dept to license seats

* Added query scope to order by department

* Make license seat department sortable

* Disable license seat internal search - this never actually worked
2019-11-21 22:03:56 -08:00
snipe d8049209ca Fixed bug where deleted consumable would throw an error on print page 2019-11-21 21:43:54 -08:00
snipe dd40ddf5a5 Fixed an error on audit due list when no audit_warning_days had been set [ch9764] 2019-11-21 21:34:41 -08:00
snipe 5065164c40 Bumped Carbon version 2019-11-21 13:14:18 -08:00
snipe 8127fdc5bc Min password requirement set to 8 characters 2019-11-18 21:17:51 -08:00
snipe 38ed73a2b4 Bumped to Laravel 5.8 2019-11-18 21:17:36 -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 957c7f4e79 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2019-11-18 19:01:35 -08:00
snipe a73fd24695 Fix maintenances permissions check to allow users who can edit assets to edit maintenances 2019-11-08 17:02:17 -08:00
snipe 70c8ad9797 Bumped minor version 2019-10-28 13:55:21 -07:00
snipe 0290257734 Limit license seats to 999 to prevent latency 2019-10-28 13:48:18 -07:00
Marián Skrip 53eae6fbfd Fix issues with update permission naming (#7493)
This solves an issue when admin would be able to create and delete
categories but not edit them.
2019-10-28 11:44:48 -07:00
Alexandr Hacicheant a90149940a Update UsersController.php (#7528)
Returned missed bracket after merge master to develop
2019-10-28 11:43:29 -07:00
snipe 4fe689dc5d Merge branch 'master' of https://github.com/snipe/snipe-it 2019-10-21 15:45:17 -07:00
snipe 0769f585ea Disallow locations from being their own parents 2019-10-21 15:45:05 -07:00
snipe 04562e6d4a Added 4260352 to ldapsync enabled account constraint 2019-10-18 17:48:50 -07:00
snipe 22d2ad9248 Fixes nested location selectlist (#7483)
* Rename child locations method

* Use Ajax dropdown for locations selectlist for edit/create

* Removed locations database call on edit/create blades for faster loading

* Updated locations controller to use the new iterator

* Increase pagination on locations controller to 500

We’re already loading all of that data up beforehand anyway, so no point in keeping the query smaller.

* Fixed the else to make codacy happy

* Improve the design and performance of the nested location selectlist (#7484)

* Improve the design and performance of the nested location selectlist

* Fixed parse errors

* Removed debugging code/comments
2019-10-02 03:56:56 -07:00
snipe 6deb26fafe Remove unused variable 2019-09-30 19:37:52 -07:00
snipe 6c1de7ff05 Apply fix for #6642 to master 2019-09-30 19:21:57 -07:00
snipe ab05a44e0b Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2019-09-30 19:18:54 -07:00
snipe 7f5f4a1297 Added softwarew support and hardware support to maintenance types 2019-09-24 01:34:23 -07: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 4159a0effa Bumped version 2019-09-03 14:12:13 -07:00
snipe b8f7cd81eb Limit API request results per page (#7405) 2019-09-03 14:02:08 -07:00
Martin Berg 3dcef9aac9 Add support for custom remote user header (#7370) 2019-09-03 11:07:26 -07:00
snipe b381528668 Added console rekey tool (#7330)
* Removed console command specifications, since they’re pulled dynamically now

* Added rekey console command

* Removed unused code

* Comment clarifiction

* Handle LDAP password
2019-09-03 11:03:32 -07:00
Logan Swartzendruber 4c8b26f732 Implement #3088: Add "Generate Label" option to "Actions" dropdown menu in individual Asset Details view. (#7388)
* Implement #3088: Add "Generate Label" option to "Actions" dropdown menu in individual Asset Details view.

* Add conditional for including the asset number in the URL of the barcode image.

* Change case of variables to pass Codacy PR review standards.
2019-09-03 11:02:55 -07:00
Rick Heil 7b0b28aed0 Add #7393 - next_audit_date set on asset creation if an audit interval is configured in settings (#7394) 2019-09-03 10:58:51 -07:00
snipe 6d66d7e215 Removed withErrors on JSON response 2019-08-22 21:36:47 -07:00
snipe 0544164015 Fixed Eloquent Builder path in docblock 2019-08-20 18:10:36 -07:00
snipe b6a188a87b Removed erroneous linebreak 2019-08-20 18:10:21 -07:00
snipe b5bf8e9a37 Smaller chunking for custom report, add max_execution_time 2019-08-15 06:14:25 -07:00
snipe ba197c8857 Fixed #7259 - upgraded phpdocumentor/reflection-docblock to v4 2019-08-15 03:02:24 -07:00
snipe 124b249df4 Fixed #7289 - git fetch before checkout in upgrade.php 2019-08-15 01:32:20 -07:00
snipe 2a6919c438 Fixed #7321 - added link to Helm Chart repo 2019-08-15 01:07:30 -07:00
snipe 60bb385cf7 Make status label required 2019-08-14 23:46:09 -07:00
snipe 47724d7268 Make error text color match 2019-08-14 23:46:00 -07:00
snipe c9f9a60354 Fixed asset tag error message alignment 2019-08-14 23:28:01 -07:00
snipe da52511bf9 Use asset tags 2019-08-14 23:13:23 -07:00
snipe 7899d2284c Fixed parse error in API routes 2019-08-14 22:33:56 -07:00
snipe c5e6f06e9b Revert import history to master version to fix errors 2019-08-14 22:27:17 -07:00
snipe 6db915b7f0 Removed serialize duplicate 2019-08-14 22:22:50 -07:00
snipe 756361584a Updated assets 2019-08-14 22:22:33 -07:00
snipe a6d486ea8a Fix invalidJSON exception 2019-08-14 22:18:48 -07:00
snipe f1143d701a Updated composer.lock 2019-08-14 21:55:38 -07:00
snipe b65fd4adba Fixed syntax in composer.json
(Our merge tool is teh sux0r)
2019-08-14 21:51:37 -07:00
snipe 441ae69f5c Integrations/develop into master (#7352)
* Fixes #6204 - added email alerts and web/API access to assets due for audits (#6992)

* Added upcoming audit report

TODO: Fid diff/threshold math

* Added route to list overdue / upcoming assets via API

* Controller/API methods for due/overdue audits

We could probably skip this and just handle it via view in the routes…

* Added query scopes for due and overdue audits

* Added audit due console command to kernel

* Added ability to pass audit specs to main API asset search method

* Added audit presenter

* Added bootstrap-tables presenter formatter to display an audit button

* Added gated sidenav items to left nav

* Added audit due/overdue blades

* Cleanup on audit due/overdue console command

* Added language strings for audit views

* Fixed :threshold placeholder

* Removed unused setting variable

* Fixed next audit date math

* Added scope for both overdue and upcoming

* Derp. Wrong version

* Bumped version

(I will release this version officially tomorrow)

* Leave the activated state for users alone in normal LDAP synchronisation. (#6988)

* Fixed #7003 - crash when warranty months or purchase date is null

* Fixed #6956 - viewKeys policy inconsistent  (#7009)

* Fixed #6956 - Added additional gates show showing/hiding license keys

* Modified gate to allow user to see licenses if they can create or edit the license as well

* Added API middleware to API routes to enable throttling

TODO: Figure out how to make this costumizable without touching the code

* Import locations from CSV via command line (#7021)

* Added import locations command

* Small fixes to location importer

* Added country, LDAP OU

* Cleaned up comments, added more clarification to what the script does

* Added ability to update groups via API

Fixes [ch9139]

* Bumped version

* Fixed #6883 - remove escaping of fields on LDAP import

* Fixed #6880 - correctly encrypt encrypted fields via the API

* Fixes #5054: LDAP users deactivated for none-ad (#7032)

When using none-AD ldap, users are automatically deactivated every LDAP
sync.  This commit changes the behaviour so that if the active flag isn't set,
the users are enabled.

Fixed #5054, at least for 4.X

* Updated packages

  - Updating erusev/parsedown (v1.7.2 => 1.7.3): Downloading (100%)
  - Updating squizlabs/php_codesniffer (3.4.1 => 3.4.2): Downloading (100%)
  - Updating symfony/polyfill-mbstring (v1.10.0 => v1.11.0): Downloading (100%)
  - Updating symfony/var-dumper (v3.4.23 => v3.4.27): Downloading (100%)
  - Updating league/flysystem (1.0.50 => 1.0.51): Downloading (100%)
  - Updating symfony/translation (v3.4.23 => v3.4.27): Downloading (100%)
  - Updating nesbot/carbon (1.36.2 => 1.37.1): Downloading (100%)
  - Updating symfony/debug (v3.4.23 => v3.4.27): Downloading (100%)
  - Updating symfony/console (v3.4.23 => v3.4.27): Downloading (100%)
  - Updating symfony/finder (v3.4.23 => v3.4.27): Downloading (100%)
  - Updating symfony/polyfill-ctype (v1.10.0 => v1.11.0): Downloading (100%)
  - Updating symfony/polyfill-php70 (v1.10.0 => v1.11.0): Downloading (100%)
  - Updating symfony/http-foundation (v3.4.23 => v3.4.27): Downloading (100%)
  - Updating symfony/event-dispatcher (v3.4.23 => v3.4.27): Downloading (100%)
  - Updating symfony/http-kernel (v3.4.23 => v3.4.27): Downloading (100%)
  - Updating symfony/process (v3.4.23 => v3.4.27): Downloading (100%)
  - Updating symfony/routing (v3.4.23 => v3.4.27): Downloading (100%)
  - Updating symfony/polyfill-util (v1.10.0 => v1.11.0): Downloading (100%)
  - Updating symfony/polyfill-php56 (v1.10.0 => v1.11.0): Downloading (100%)
  - Updating symfony/psr-http-message-bridge (v1.1.1 => v1.1.2): Downloading (failed)
Downloading (100%)
  - Updating rollbar/rollbar (v1.7.5 => v1.8.1): Downloading (100%)
  - Updating symfony/yaml (v3.4.23 => v3.4.27): Downloading (100%)
  - Updating symfony/browser-kit (v3.4.23 => v3.4.27): Downloading (100%)

* Fixed #7044 - API update deleted custom fields if they are not re-presented

* Fixed XSS vulnerability when creating a new categories, etc via modal on create

Same fix as before, because of the weird select2 post-parsing ajax behavior

* Updated email strings

* Fixed #7046 - added user website url back into UI

* Updated language strings

* Bumped version

* Updated packages

* New backups config for spatie

* Removed debugbar service provider (autodiscovery)

* Use laravel v5.5 withCount manual aliases

* Added spatie language files

* Removed old laravel backups config

This config file was renamed in a newer version of spatie laravel-backup

* Set the serialization

* Added the command loader to console kernel

* Renamed fire() to handle()

* Updated withCount to use manual naming

* Updated backup path in backup admin

* Updated travis with new php versions

* Bumped laravel version in readme

* Fixed custom field edit screen

* Fixed baseUrl is undefined error

I literally cannot figure out how this ever worked before.

* Fix for included files in backup

* Bumped version

* Switch has() to filled()

* Change ->has() to ->filled()

* Removed cosole log

* Bumped packages

* Use getReader instead of fetchAssoc for CSV parser

https://csv.thephpleague.com/9.0/upgrading/

* Handle JSON validation errors like 5.4

* Handle JSON validation errors like 5.4

* Handle JSON validation errors like 5.4

* Trying to fix ajax asset validation

This I think gets us closer, but still not handling the validation on the asset properly.

When I do a print_r of the validation in the other items, its looking for an error bag that looks something like this:

```
Illuminate\Support\MessageBag Object
(
    [messages:protected] => Array
        (
            [name] => Array
                (
                    [0] => The name field is required.
                )

            [seats] => Array
                (
                    [0] => The seats field is required.
                )

            [category_id] => Array
                (
                    [0] => The category id field is required.
                )

        )

    [format:protected] => :message
)
```

Currently the Assets ajax returns:

```
[2019-05-24 06:52:06] develop.ERROR: array (
  'messages' =>
  array (
    'model_id' =>
    array (
      0 => 'The model id field is required.',
    ),
    'status_id' =>
    array (
      0 => 'The status id field is required.',
    ),
    'asset_tag' =>
    array (
      0 => 'The asset tag field is required.',
    ),
  ),
)
```

So not sure why it’s not working.

* Fixed missing asset validation

* Check that a model exists before trying to fiddle with fieldsets

* Tidied up license check

* Removed extra escaping on checkin

* Updated importer to work with newer CSV Reader::getRecords() method

* Fixed field mapping

* Small fix for reordering fields

Fixes Illuminate\Database\QueryException: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'order' cannot be null (SQL: insert into `custom_field_custom_fieldset` (`custom_field_id`, `custom_fieldset_id`, `order`, `required`) values (12, 7, , 0)) [ch1151]

This needs revisiting for a more solid fix, especially for data that was already entered bad.

* Fixed bug where sorting by company name in Users API did not work

Fixes [ch9200]

* Removed custom fields from AssignedSearch to prevent confusing data in selectlist

Fixes [ch9193]

* Removed alert-danger from tests

* Fixed missed consumables_count withCount() statement

* Fixed Undefined variable user in $backto if checked out to a non-user

Fixes [ch9194]

* Check for valid model before attempting to access fieldsets

Fixes [ch1249]

* Only build the log upload destination path if there is a matching record

Fixes [ch1232]

* Fixed free_seats_count variable name

(I forgot that Laravel switched camel case to snake case for their old 5.4 withCount variables)

* Only gtry to delete the file if a record is found in the log

* Only try to get fieldset if model is valid

* Fixed more camel-casing -> snake-casing

* Only display the file if the log record can be found

* Fixed casing in sync command

* Updated README

* Derp - typo

* Added link to Atlassian plugin

* More Atlassian clarifications

* Show accessory image on view page

* Increased image size to 800px, added lightboxes

* Fixed #7083 - Removed user_exists constraint on department save

If the user has been deleted, this prevented the department from being successfully saved on edit

* Updated branch in version file

* Dockerfile update to bring us up to php v7.1 for Laravel 5.5 (#7084)

* bump up to php7.1

& change deprecated MAINTAINER to a LABEL so it is visible with `docker inspect`

* AND modapache ><

* 2 updates required to get software-properties+ppa

* Bumped version

* Bumped release again :(

* Missed one

* Fixed #7098 - updated backup config for deleteFile() method

* Fixed #7092 -  handle weird port forwarding/port numbers for baseUrl

* Bumped version

* Fixed #7099 - set email to null by default for backup notifications

* Removed old comments

* Fixed #7100 - Check if $user isset on checkin

* Increased throttle to 120 requests per minute

* Added Filipino, corrected order for Spanish variations

* Update language strings

* Bumped hash

* Changed has to filled to fix bulk asset editing

* Bumped point version

* Small fixes for phpleague CSB reader v9

* Improved error checking in locations importer

* Fixed #7145 - rename groups table to permissions_group for mysql 8 reserved word compatibility

* Reduce minimum group name length to 2 (from 3)

eg: IT

* Back in time fix FOR #7145 for new installs on MySQL 8+

* Fixed permission insert

//TODO

Handle this via model

* Possible fix for reporting/admin migration back in time

* Fixed #7164 - change table name to permission_groups

* Fixed LDAP password blanking on save

* fixing previous commit's actual wiping of password (#7183)

replaced Input::fille('ldap_pword') with _filled_.   Should be good to go.  

https://github.com/snipe/snipe-it/issues/7179

https://github.com/snipe/snipe-it/issues/7169

* Bumped version

* Downgrading rollbar for Laravel 5.5

* Spelling Correction (#7206)

Fixed Spelling for the word reqrite, to be rewrite.

* Fix #6910: Add logic to manipulate the eloquent query. (#7006)

* Added company_id to consumables_users table

* Added logic to manage when a pivot table doesn't have the column company_id trough a join with users

* Remove a migration that tries to fix this problem, but is not longer necessary

* Addresses #7238 - add PWA code to layout

Needs additional UX testing

* Better log message for bad LDAP connection

* Fixed #7186 - has vs filled in User’s API blanking out groups if no group_ids are passed

* Comment clarification on #7186

* Check for valid seat on hardware view

* Added space between footer and custom message

* Cap warranty months to three characters

Filles rollbar 209

* Cap warranty months to 3 on the frontend blade

* Fixed countable() strings on user destroy

* Check that the user has assets and that the aset model is valid

* Bumped hash

* Caps asset warranty to 20 years

* Command to fix custom field unicode conversion differences between PHP versions (#7263)

* Fixes #7252 form request changes (#7272)

* Fixes for #7252 - custom fields not validating / no validaton messages in API w/form requests

* Removed debug info

* More fixes for #7252

This is mostly working as intended, if not yet the way Laravel wants us to do it.

Right now, the API returns correctly, and the form UI will return highlighted errors, with the input filled in ~sometimes~. I’m not sure why it’s only sometimes yet, but this is potentially progress.

* Removed experimental method

* Check for digits_between:0,240 for warranty

* Removed debug code

* Apply fix from PR #7273 to master

* Bumped hash

* Fixed #7250 - permission issue for API fieldsets and fields endpoints

This applies the change from #7294 to master

* Add @mskrip as a contributor

* Fixed #7270 - Checking-in Assets via API Removes the Item's Asset Name

* CORS for api (#7292)

* Added CORS support to API

* Changed order so CORS will still work if throttle hit

* Added APP_CORS_ALLOWED_ORIGINS env option

* Fixed typo

* Clarified header comments

* More clarification

* DIsable CORS allowed origins by default to replicate existing behavior

* Change variable name to be clearer

* Bumped version

* Added condition to deal with fieldname 'rtd_location' which can be tried to be queried in some places and doesn't exist in database (#7317)

* Added comments to the ByFilter query scope for clarity

* Added accessories checkout/checkin API endpoint

* Fixed CVE-2019-10742

https://nvd.nist.gov/vuln/detail/CVE-2019-10742

* Update README.md (#7334)

Add reference to CSV importer.

* Group related variables in .env

* History importer fixes

* Fixes to history importer
2019-08-14 21:48:14 -07:00
snipe 8b4a9aa382 Fixes to history importer 2019-08-13 18:15:42 -07:00
snipe 99cd552d5c History importer fixes 2019-08-13 18:00:21 -07:00
snipe 6c7e5cb9cf Merge branch 'master' of https://github.com/snipe/snipe-it 2019-08-10 17:49:23 -07:00
snipe 6ebb01a081 Group related variables in .env 2019-08-10 17:48:03 -07:00
Greg Stamper 5591c861b9 Update README.md (#7334)
Add reference to CSV importer.
2019-08-07 23:12:46 -07:00
snipe d37280567d Fixed CVE-2019-10742
https://nvd.nist.gov/vuln/detail/CVE-2019-10742
2019-08-06 21:11:38 -07:00
snipe e7b0ee2539 Added accessories checkout/checkin API endpoint 2019-08-02 15:08:26 -07:00
snipe 1608dba7dd Commenting again? 2019-07-31 14:29:19 -07:00
snipe f721dac2ca Merge branch 'develop' of https://github.com/snipe/snipe-it into develop
# Conflicts:
#	app/Models/Asset.php
2019-07-31 14:26:46 -07:00
snipe a4629977e7 Added comments to the ByFilter query scope for clarity 2019-07-31 14:24:38 -07:00
snipe c593b3645c Added comments to the ByFilter query scope for clarity 2019-07-31 14:24:01 -07:00
Ivan Nieto 28ae90fa8a Added condition to deal with fieldname 'rtd_location' which can be tried to be queried in some places and doesn't exist in database (#7317) 2019-07-31 13:55:21 -07:00
Ivan Nieto f407b86aa8 Added condition to deal with fieldname 'rtd_location' which can be tried to be queried in some places and doesn't exist in database (#7318)
💥 Nice work, Ivan!
2019-07-31 13:54:55 -07:00
snipe c7be25078e Bumped version 2019-07-26 13:02:47 -07:00
snipe 3dc2cc9f22 CORS for api (#7292)
* Added CORS support to API

* Changed order so CORS will still work if throttle hit

* Added APP_CORS_ALLOWED_ORIGINS env option

* Fixed typo

* Clarified header comments

* More clarification

* DIsable CORS allowed origins by default to replicate existing behavior

* Change variable name to be clearer
2019-07-26 12:38:31 -07:00
snipe ab86e42b2e Fixed #7270 - Checking-in Assets via API Removes the Item's Asset Name 2019-07-26 12:37:38 -07:00
snipe 9af9ed9eb9 Add @mskrip as a contributor 2019-07-24 11:01:28 -07:00
snipe 250a797339 Fixed #7250 - permission issue for API fieldsets and fields endpoints
This applies the change from #7294 to master
2019-07-24 11:00:42 -07:00
Marián Skrip 8a1f6b74e8 Fix permission issue for API fieldsets and fields endpoints (#7294)
Close snipe/snipe-it#7250
2019-07-24 10:57:09 -07:00
snipe a0f3fc6d76 Bumped hash 2019-07-18 14:37:54 -07:00
snipe 74e647fea7 Apply fix from PR #7273 to master 2019-07-18 14:37:48 -07:00
snipe 55ee90b25d Fixes #7252 form request changes (#7272)
* Fixes for #7252 - custom fields not validating / no validaton messages in API w/form requests

* Removed debug info

* More fixes for #7252

This is mostly working as intended, if not yet the way Laravel wants us to do it.

Right now, the API returns correctly, and the form UI will return highlighted errors, with the input filled in ~sometimes~. I’m not sure why it’s only sometimes yet, but this is potentially progress.

* Removed experimental method

* Check for digits_between:0,240 for warranty

* Removed debug code
2019-07-18 14:32:23 -07:00
snipe eec445fcf5 Command to fix custom field unicode conversion differences between PHP versions (#7263) 2019-07-18 14:30:18 -07:00
Ivan Nieto af1857b6ee Fix for the issue when the user tries to query assets due for audit without appropiate configuration [ch9625] (#7273)
* Added propper routes to the controller

* Logic to handle the not setted ->audit_warning_days variable

* Change the variable name for more clarity

* Got rid of the unnecesary if sentence in sake of brevity

* Adding the null coalesce operator so it can properly handle when the setting is null
2019-07-18 14:08:55 -07:00
snipe cef22c3158 Caps asset warranty to 20 years 2019-07-18 09:49:58 -07:00
snipe 61fb38087e Bumped hash 2019-07-17 17:55:53 -07:00
snipe 0e93495ca2 Check that the user has assets and that the aset model is valid 2019-07-17 17:51:35 -07:00
snipe 444e250609 Fixed countable() strings on user destroy 2019-07-17 17:51:13 -07:00
snipe 77a6f6f400 Cap warranty months to 3 on the frontend blade 2019-07-17 12:15:15 -07:00
snipe 15bfd07f30 Cap warranty months to three characters
Filles rollbar 209
2019-07-17 12:13:15 -07:00
snipe fecf8015a1 Added space between footer and custom message 2019-07-17 12:09:32 -07:00
snipe 79ab0d8dc2 Check for valid seat on hardware view 2019-07-17 12:09:18 -07:00
snipe b4b6d6b571 Comment clarification on #7186 2019-07-15 15:31:09 -07:00
snipe 8c73a47afb Fixed #7186 - has vs filled in User’s API blanking out groups if no group_ids are passed 2019-07-15 15:27:02 -07:00
snipe f82ffe378c Merge branch 'master' of https://github.com/snipe/snipe-it 2019-07-15 14:11:18 -07:00
snipe 984c2a8fd4 Better log message for bad LDAP connection 2019-07-15 14:10:57 -07:00
snipe 6736b1c4e7 Addresses #7238 - add PWA code to layout
Needs additional UX testing
2019-07-15 13:49:56 -07:00
Ivan Nieto d409be6d43 Fix #6910: Add logic to manipulate the eloquent query. (#7006)
* Added company_id to consumables_users table

* Added logic to manage when a pivot table doesn't have the column company_id trough a join with users

* Remove a migration that tries to fix this problem, but is not longer necessary
2019-07-15 13:02:44 -07:00
Thomas Misilo e1b33f3087 Spelling Correction (#7206)
Fixed Spelling for the word reqrite, to be rewrite.
2019-06-27 18:33:13 -07:00
snipe 740d5a6846 Downgrading rollbar for Laravel 5.5 2019-06-25 18:07:21 -07:00
snipe d19df4ded8 Bumped version 2019-06-24 14:43:44 -07:00
Kasey 03a4512406 fixing previous commit's actual wiping of password (#7183)
replaced Input::fille('ldap_pword') with _filled_.   Should be good to go.  

https://github.com/snipe/snipe-it/issues/7179

https://github.com/snipe/snipe-it/issues/7169
2019-06-19 14:21:53 -07:00
snipe de992e4df3 Fixed LDAP password blanking on save 2019-06-14 17:20:37 -07:00
snipe a85251aa83 Fixed #7164 - change table name to permission_groups 2019-06-14 10:37:20 -07:00
Diogenes S. Jesus 4c61d330e6 fix Paginator (#7157) 2019-06-14 09:54:09 -07:00
snipe 26a1181765 Possible fix for reporting/admin migration back in time 2019-06-12 18:53:53 -07:00
snipe cef030cf55 Fixed permission insert
//TODO

Handle this via model
2019-06-12 18:39:55 -07:00
snipe 2bfa05fd2d Back in time fix FOR #7145 for new installs on MySQL 8+ 2019-06-12 16:24:55 -07:00
snipe 30904dd019 Reduce minimum group name length to 2 (from 3)
eg: IT
2019-06-12 15:56:19 -07:00
snipe 1d0d25db37 Fixed #7145 - rename groups table to permissions_group for mysql 8 reserved word compatibility 2019-06-12 15:51:47 -07:00
snipe cbff66c9db Improved error checking in locations importer 2019-06-10 18:50:41 -07:00
snipe 27231d49ea Small fixes for phpleague CSB reader v9 2019-06-03 22:05:16 -07:00
snipe 765417c0be Bumped point version 2019-05-31 14:17:26 -07:00
snipe 49a255c8fb Changed has to filled to fix bulk asset editing 2019-05-31 14:11:43 -07:00
snipe 925d3a23c6 Bumped hash 2019-05-31 13:11:07 -07:00
snipe 6966c132d0 Update language strings 2019-05-31 12:17:09 -07:00
snipe c29ab90029 Added Filipino, corrected order for Spanish variations 2019-05-31 11:58:14 -07:00
snipe d2bbc09892 Increased throttle to 120 requests per minute 2019-05-31 11:57:57 -07:00
vicleos c6039cbc1d Vicleos fix storage namespace (#6901)
* Update CompaniesController.php

fixed companies destroy error

* fix Storage namespace loss
2019-05-30 19:10:04 -07:00
snipe 74a2c29bc2 Fixed #7100 - Check if $user isset on checkin 2019-05-30 19:06:30 -07:00
snipe 2c64739e8f Removed old comments 2019-05-30 19:02:20 -07:00
snipe 37f950ab42 Fixed #7099 - set email to null by default for backup notifications 2019-05-29 19:09:37 -07:00
snipe b07a254e60 Bumped version 2019-05-29 15:51:54 -07:00
snipe 087cdd859e Fixed #7092 - handle weird port forwarding/port numbers for baseUrl 2019-05-29 14:57:58 -07:00
snipe 829d44bd27 Fixed #7098 - updated backup config for deleteFile() method 2019-05-29 14:47:55 -07:00
snipe db76090e10 Missed one 2019-05-28 19:12:53 -07:00
snipe 03cf3b5431 Bumped release again :( 2019-05-28 19:12:42 -07:00
snipe 40f101d471 Merge branch 'master' of https://github.com/snipe/snipe-it 2019-05-28 19:08:39 -07:00
snipe 7aa6ef5f6c Bumped version 2019-05-28 19:08:35 -07:00
Kasey 186b94751d Dockerfile update to bring us up to php v7.1 for Laravel 5.5 (#7084)
* bump up to php7.1

& change deprecated MAINTAINER to a LABEL so it is visible with `docker inspect`

* AND modapache ><

* 2 updates required to get software-properties+ppa
2019-05-28 16:58:32 -07:00
snipe 6f2717a876 Updated branch in version file 2019-05-28 13:22:59 -07:00
snipe a014af4c47 Fixed #7083 - Removed user_exists constraint on department save
If the user has been deleted, this prevented the department from being successfully saved on edit
2019-05-28 13:18:31 -07:00
snipe 2dd31544fe Increased image size to 800px, added lightboxes 2019-05-24 19:11:08 -07:00
snipe 237acdcff0 Show accessory image on view page 2019-05-24 18:22:57 -07:00
snipe 5db7a7c196 More Atlassian clarifications 2019-05-24 18:10:19 -07:00
snipe 68acdff11b Added link to Atlassian plugin 2019-05-24 18:08:40 -07:00
snipe 58e72e5ee6 Derp - typo 2019-05-24 18:06:15 -07:00
snipe 6b43cd10ba Updated README 2019-05-24 18:05:28 -07:00
snipe b2c9a38db8 Fixed casing in sync command 2019-05-24 16:12:43 -07:00
snipe 6dcdb5abae Only display the file if the log record can be found 2019-05-24 16:06:52 -07:00
snipe 56576d9e45 Fixed more camel-casing -> snake-casing 2019-05-24 16:01:12 -07:00
snipe d5c3ee5ed0 Only try to get fieldset if model is valid 2019-05-24 15:44:54 -07:00
snipe 18db0a50f1 Only gtry to delete the file if a record is found in the log 2019-05-24 15:44:40 -07:00
snipe d596ced0a0 Fixed free_seats_count variable name
(I forgot that Laravel switched camel case to snake case for their old 5.4 withCount variables)
2019-05-24 15:44:18 -07:00
snipe 78fb2b2239 Only build the log upload destination path if there is a matching record
Fixes [ch1232]
2019-05-24 15:28:53 -07:00
snipe 1472e9d5b5 Check for valid model before attempting to access fieldsets
Fixes [ch1249]
2019-05-24 15:03:15 -07:00
snipe fcbc7e4540 Fixed Undefined variable user in $backto if checked out to a non-user
Fixes [ch9194]
2019-05-24 14:51:27 -07:00
snipe 93bf541ce7 Fixed missed consumables_count withCount() statement 2019-05-24 14:21:53 -07:00
snipe 0e48d7b080 Removed alert-danger from tests 2019-05-24 14:21:37 -07:00
snipe 1e6c85da41 Removed custom fields from AssignedSearch to prevent confusing data in selectlist
Fixes [ch9193]
2019-05-24 13:50:11 -07:00
snipe c5a23e8f5e Fixed bug where sorting by company name in Users API did not work
Fixes [ch9200]
2019-05-24 13:37:20 -07:00
snipe b6d2392303 Small fix for reordering fields
Fixes Illuminate\Database\QueryException: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'order' cannot be null (SQL: insert into `custom_field_custom_fieldset` (`custom_field_id`, `custom_fieldset_id`, `order`, `required`) values (12, 7, , 0)) [ch1151]

This needs revisiting for a more solid fix, especially for data that was already entered bad.
2019-05-24 12:05:52 -07:00
snipe 9995f1a743 Fixed field mapping 2019-05-24 11:45:07 -07:00
snipe d6f251e992 Updated importer to work with newer CSV Reader::getRecords() method 2019-05-24 11:44:57 -07:00
snipe 4be95eac4b Removed extra escaping on checkin 2019-05-24 11:44:39 -07:00
snipe 8914d14681 Tidied up license check 2019-05-24 05:26:52 -07:00
snipe d4725b61be Check that a model exists before trying to fiddle with fieldsets 2019-05-24 04:48:04 -07:00
snipe aa0b627fe7 Fixed missing asset validation 2019-05-24 04:47:35 -07:00
snipe 5be5e3271d Trying to fix ajax asset validation
This I think gets us closer, but still not handling the validation on the asset properly.

When I do a print_r of the validation in the other items, its looking for an error bag that looks something like this:

```
Illuminate\Support\MessageBag Object
(
    [messages:protected] => Array
        (
            [name] => Array
                (
                    [0] => The name field is required.
                )

            [seats] => Array
                (
                    [0] => The seats field is required.
                )

            [category_id] => Array
                (
                    [0] => The category id field is required.
                )

        )

    [format:protected] => :message
)
```

Currently the Assets ajax returns:

```
[2019-05-24 06:52:06] develop.ERROR: array (
  'messages' =>
  array (
    'model_id' =>
    array (
      0 => 'The model id field is required.',
    ),
    'status_id' =>
    array (
      0 => 'The status id field is required.',
    ),
    'asset_tag' =>
    array (
      0 => 'The asset tag field is required.',
    ),
  ),
)
```

So not sure why it’s not working.
2019-05-24 03:55:31 -07:00
snipe dd5d5cc07c Handle JSON validation errors like 5.4 2019-05-24 01:12:38 -07:00
snipe 84c3709161 Handle JSON validation errors like 5.4 2019-05-24 01:12:21 -07:00
snipe 96e2d74ae3 Handle JSON validation errors like 5.4 2019-05-24 00:46:30 -07:00
Steffen 27dcb4d27b Allow empty filter (=== '' doesn't work) (#6999) 2019-05-23 19:59:27 -07:00
sreyemnayr f85ac97d8c Feedback for Kits; Fix checkins for accessories (#7060)
* Kits feedback

* Fix accessory checkin
2019-05-23 19:39:30 -07:00
snipe bf93e8cc32 Use getReader instead of fetchAssoc for CSV parser
https://csv.thephpleague.com/9.0/upgrading/
2019-05-23 19:09:58 -07:00
snipe d1a8955ef9 Bumped packages 2019-05-23 19:09:14 -07:00
snipe 149ac4bdf8 Removed cosole log 2019-05-23 17:52:53 -07:00
snipe 2d036c64e9 Change ->has() to ->filled() 2019-05-23 17:39:50 -07:00
snipe 8db2470ac4 Switch has() to filled() 2019-05-23 17:17:46 -07:00
snipe 79156ff8f4 Bumped version 2019-05-23 17:10:47 -07:00
snipe 8e86d780bf Fix for included files in backup 2019-05-23 17:08:51 -07:00
snipe f6ef139111 Fixed baseUrl is undefined error
I literally cannot figure out how this ever worked before.
2019-05-23 16:56:22 -07:00
snipe 12ec2d1f7a Fixed custom field edit screen 2019-05-22 01:07:14 -07:00
snipe 0dfc28b0e8 Bumped laravel version in readme 2019-05-22 01:04:42 -07:00
snipe b3132a4a8f Updated travis with new php versions 2019-05-22 01:03:11 -07:00
snipe 6cd25fbdeb Updated backup path in backup admin 2019-05-22 00:56:14 -07:00
snipe 4be8ba9f17 Updated withCount to use manual naming 2019-05-22 00:52:51 -07:00
snipe df8008f1ed Renamed fire() to handle() 2019-05-22 00:52:32 -07:00
snipe 77547c528b Added the command loader to console kernel 2019-05-22 00:52:14 -07:00
snipe bfb910f375 Set the serialization 2019-05-22 00:51:43 -07:00
snipe 57e80ee317 Removed old laravel backups config
This config file was renamed in a newer version of spatie laravel-backup
2019-05-22 00:51:33 -07:00
snipe de1189295a Added spatie language files 2019-05-22 00:51:00 -07:00
snipe 20d0dce73e Use laravel v5.5 withCount manual aliases 2019-05-22 00:50:48 -07:00
snipe 144a32b1ca Removed debugbar service provider (autodiscovery) 2019-05-22 00:50:00 -07:00
snipe 8244a2ad23 New backups config for spatie 2019-05-22 00:49:38 -07:00
snipe 77c3b8f8c1 Updated packages 2019-05-22 00:07:49 -07:00
snipe 7b34cf1a31 Bumped version 2019-05-21 19:17:56 -07:00
snipe 21ec670531 Updated language strings 2019-05-21 19:17:00 -07:00
snipe b2eacb147b Fixed #7046 - added user website url back into UI 2019-05-21 18:55:12 -07:00
snipe 729e3eb70d Updated email strings 2019-05-21 18:43:00 -07:00
snipe 978533b2f4 Fixed XSS vulnerability when creating a new categories, etc via modal on create
Same fix as before, because of the weird select2 post-parsing ajax behavior
2019-05-21 18:29:50 -07:00
snipe 0358d13ddb Fixed #7044 - API update deleted custom fields if they are not re-presented 2019-05-20 11:49:18 -07:00
snipe c944304444 Updated packages
- Updating erusev/parsedown (v1.7.2 => 1.7.3): Downloading (100%)
  - Updating squizlabs/php_codesniffer (3.4.1 => 3.4.2): Downloading (100%)
  - Updating symfony/polyfill-mbstring (v1.10.0 => v1.11.0): Downloading (100%)
  - Updating symfony/var-dumper (v3.4.23 => v3.4.27): Downloading (100%)
  - Updating league/flysystem (1.0.50 => 1.0.51): Downloading (100%)
  - Updating symfony/translation (v3.4.23 => v3.4.27): Downloading (100%)
  - Updating nesbot/carbon (1.36.2 => 1.37.1): Downloading (100%)
  - Updating symfony/debug (v3.4.23 => v3.4.27): Downloading (100%)
  - Updating symfony/console (v3.4.23 => v3.4.27): Downloading (100%)
  - Updating symfony/finder (v3.4.23 => v3.4.27): Downloading (100%)
  - Updating symfony/polyfill-ctype (v1.10.0 => v1.11.0): Downloading (100%)
  - Updating symfony/polyfill-php70 (v1.10.0 => v1.11.0): Downloading (100%)
  - Updating symfony/http-foundation (v3.4.23 => v3.4.27): Downloading (100%)
  - Updating symfony/event-dispatcher (v3.4.23 => v3.4.27): Downloading (100%)
  - Updating symfony/http-kernel (v3.4.23 => v3.4.27): Downloading (100%)
  - Updating symfony/process (v3.4.23 => v3.4.27): Downloading (100%)
  - Updating symfony/routing (v3.4.23 => v3.4.27): Downloading (100%)
  - Updating symfony/polyfill-util (v1.10.0 => v1.11.0): Downloading (100%)
  - Updating symfony/polyfill-php56 (v1.10.0 => v1.11.0): Downloading (100%)
  - Updating symfony/psr-http-message-bridge (v1.1.1 => v1.1.2): Downloading (failed)
Downloading (100%)
  - Updating rollbar/rollbar (v1.7.5 => v1.8.1): Downloading (100%)
  - Updating symfony/yaml (v3.4.23 => v3.4.27): Downloading (100%)
  - Updating symfony/browser-kit (v3.4.23 => v3.4.27): Downloading (100%)
2019-05-20 10:10:46 -07:00
Bob Clough 096393389c Fixes #5054: LDAP users deactivated for none-ad (#7032)
When using none-AD ldap, users are automatically deactivated every LDAP
sync.  This commit changes the behaviour so that if the active flag isn't set,
the users are enabled.

Fixed #5054, at least for 4.X
2019-05-16 09:31:55 -07:00
snipe 9eb7b668d1 Fixed #6880 - correctly encrypt encrypted fields via the API 2019-05-15 19:33:30 -07:00
snipe 6728089106 Fixed #6883 - remove escaping of fields on LDAP import 2019-05-15 19:15:41 -07:00
snipe 33b59d7bed Bumped version 2019-05-15 16:45:07 -07:00
snipe 888bdbdb68 Added ability to update groups via API
Fixes [ch9139]
2019-05-15 16:39:34 -07:00
Ivan Nieto e40a5a70a5 RTF support added (#7024)
* Added the Gatte Facade to AssetsController

* Added the filetype RTF in the modal to upload files

* Added validation of RTF files
2019-05-15 15:47:40 -07:00
snipe d67c931f6a Import locations from CSV via command line (#7021)
* Added import locations command

* Small fixes to location importer

* Added country, LDAP OU

* Cleaned up comments, added more clarification to what the script does
2019-05-13 02:27:19 -07:00
snipe dbdc511eff Merge branch 'master' of https://github.com/snipe/snipe-it 2019-05-08 09:23:58 -04:00
snipe f47b960566 Added API middleware to API routes to enable throttling
TODO: Figure out how to make this costumizable without touching the code
2019-05-08 09:23:54 -04:00
snipe d016076806 Fixed #6956 - viewKeys policy inconsistent (#7009)
* Fixed #6956 - Added additional gates show showing/hiding license keys

* Modified gate to allow user to see licenses if they can create or edit the license as well
2019-05-08 08:14:49 -04:00
snipe 23fa5d0bf4 Fixed #7003 - crash when warranty months or purchase date is null 2019-05-07 15:33:57 -04:00
Joris van Eijden 486c708911 Leave the activated state for users alone in normal LDAP synchronisation. (#6988) 2019-05-06 09:40:53 -04:00
snipe 407445456a Merge branch 'features/6204_email_audit-alerts' into develop
# Conflicts:
#	app/Console/Commands/LdapSync.php
#	app/Console/Kernel.php
#	app/Http/Controllers/Auth/LoginController.php
#	app/Http/Controllers/LicensesController.php
#	composer.json
#	composer.lock
#	config/version.php
#	resources/views/auth/two_factor_enroll.blade.php
2019-05-06 08:45:13 -04:00
snipe c6d3c031c7 Bumped version
(I will release this version officially tomorrow)
2019-05-05 22:32:01 -04:00
snipe a86409868e Derp. Wrong version 2019-05-05 22:31:43 -04:00
snipe e4a298ca2a Added scope for both overdue and upcoming 2019-05-05 22:13:30 -04:00
vicleos ab8792a13d Update CompaniesController.php (#6900)
fixed companies destroy error
2019-05-05 20:57:28 -04:00
snipe 00a8a2aff3 Fixed next audit date math 2019-05-05 20:00:05 -04:00
snipe 7497eaf302 Removed unused setting variable 2019-05-05 19:58:08 -04:00
snipe 7d416d1175 Fixed :threshold placeholder 2019-05-05 19:57:23 -04:00
snipe e9b9301efb Added language strings for audit views 2019-05-05 19:35:20 -04:00
snipe 7b194c678c Cleanup on audit due/overdue console command 2019-05-05 19:22:08 -04:00
snipe 4369d6adc6 Added audit due/overdue blades 2019-05-05 19:21:48 -04:00
snipe 69614a7db4 Added gated sidenav items to left nav 2019-05-05 19:21:26 -04:00
snipe 8154d1116c Added bootstrap-tables presenter formatter to display an audit button 2019-05-05 19:21:06 -04:00
snipe 05a85c628f Added audit presenter 2019-05-05 19:20:17 -04:00
snipe 0f0ffd39a8 Added ability to pass audit specs to main API asset search method 2019-05-05 19:19:56 -04:00
snipe 996a4cc29b Added audit due console command to kernel 2019-05-05 19:15:24 -04:00
snipe 0e234bac70 Added query scopes for due and overdue audits 2019-05-05 19:14:02 -04:00
snipe ab060288fa Controller/API methods for due/overdue audits
We could probably skip this and just handle it via view in the routes…
2019-05-05 19:13:37 -04:00
snipe 52c9e8ad96 Added route to list overdue / upcoming assets via API 2019-05-05 19:11:28 -04:00
snipe e46cccdf90 Added upcoming audit report
TODO: Fid diff/threshold math
2019-05-04 17:52:17 -04:00
ajsy a714cd357f Update web.php 2019-05-03 15:22:05 +03:00
ajsy 0cdc7af611 Update print.blade.php 2019-05-03 15:22:01 +03:00
ajsy 9b3a8c046c Update LocationsController.php 2019-05-03 15:21:57 +03:00
ajsy 878cfee5a2 Revert "Delete print.blade.php"
This reverts commit a0721412fa.
2019-04-20 09:28:48 +03:00
ajsy a0721412fa Delete print.blade.php 2019-04-19 15:50:05 +03:00
ajsy 52add03e56 Update print.blade.php
replace string in serial number with x except last five character
2019-04-19 15:43:40 +03:00
ajsy c974968821 Update view.blade.php 2019-04-19 14:03:09 +03:00
ajsy 5dcf9fbb50 Update web.php 2019-04-19 13:20:44 +03:00
ajsy f2242fa32e Update view.blade.php 2019-04-19 13:20:41 +03:00
ajsy 38e8028300 Update LocationsController.php 2019-04-19 13:20:37 +03:00
ajsy 7a68187466 Update table.php 2019-04-19 13:20:31 +03:00
snipe ded1a59914 Removed help text for email images (since we embed them by default now)
Added help text for username format
2019-04-02 18:22:31 -07:00
snipe fe553aec02 Added first-initial dot lastname format for usernames/email
Fixed [ch1379]
2019-04-02 18:21:54 -07:00
snipe 37b8029d04 Fixed parse error on label settings
Also fixed [ch1362] - moving left/right
2019-04-02 18:04:31 -07:00
Ivan Nieto b1f96448af Remove old redundant code in LicensesController, added an offset to AccessoriesController for pagination to work correctly (#6847) 2019-04-02 10:13:58 -07:00
Martin Meredith b779e274cc Fix usage of Google2FA Facade (#6864) 2019-03-27 22:01:38 -07:00
Martin Meredith 83257af267 Fix imports for 2FA Login (#6855) 2019-03-26 14:10:56 -07:00
snipe 109a29b5fc Fix error in tests 2019-03-20 04:39:50 -07:00
snipe d01f9a701c Fix double-encoding issue?
I assume there’s something new in Laravel 5.7/5.8 that’s causing the double escaping. I’m not seeing it everywhere, which is more confusing, TBH. :-/
2019-03-20 04:12:03 -07:00
snipe 53419b33a5 Compiled assets 2019-03-20 02:35:32 -07:00
snipe d429a1c423 Bumped version 2019-03-20 02:32:32 -07:00
snipe fe0bda0d04 Updated composer 2019-03-20 02:31:13 -07:00
snipe acb90c7aee Horrible master -> dev merge that makes baby jesus cry :(
# Conflicts:
#	app/Http/Controllers/Auth/LoginController.php
#	composer.json
#	composer.lock
#	resources/views/auth/two_factor_enroll.blade.php
2019-03-20 02:24:23 -07:00
snipe bca82684a1 Merge branch 'hotfixes/2fa_qr' into develop
# Conflicts:
#	.all-contributorsrc
#	Dockerfile
#	README.md
#	app/Console/Commands/LdapSync.php
#	app/Http/Controllers/Api/ImportController.php
#	app/Http/Controllers/AssetModelsController.php
#	app/Http/Controllers/Assets/AssetsController.php
#	app/Http/Controllers/Auth/LoginController.php
#	app/Http/Controllers/CategoriesController.php
#	app/Http/Controllers/CompaniesController.php
#	app/Http/Controllers/DepartmentsController.php
#	app/Http/Controllers/ImportsController.php
#	app/Http/Controllers/LocationsController.php
#	app/Http/Controllers/ManufacturersController.php
#	app/Http/Controllers/SuppliersController.php
#	app/Http/Requests/ItemImportRequest.php
#	app/Http/Transformers/ActionlogsTransformer.php
#	composer.json
#	composer.lock
#	config/app.php
#	config/version.php
#	docker/startup.sh
#	public/css/build/all.css
#	public/css/dist/all.css
#	public/js/build/all.js
#	public/js/build/vue.js
#	public/js/build/vue.js.map
#	public/js/dist/all.js
#	public/mix-manifest.json
2019-03-20 02:17:02 -07:00
snipe 335e8ffaaa Typo 2019-03-20 01:22:20 -07:00
snipe 8d0ee9e531 Moar comments 2019-03-20 01:21:34 -07:00
snipe cc5c7d33e7 Added comments 2019-03-20 01:14:58 -07:00
snipe 69c61420f6 Updated composer lock 2019-03-20 00:50:15 -07:00
snipe 5699e021de Update auth controllers to use translations 2019-03-20 00:50:09 -07:00
snipe cf92618c70 Fixed #6834 and #6402 - use inline QR code generation for 2019-03-20 00:49:44 -07:00
snipe a874dbb0d0 Working attempt, but will try with old library for mininal footprint 2019-03-19 23:18:16 -07:00
snipe 0614ab4362 Upgraded pragmarx/google2fa 2019-03-19 23:10:49 -07:00
snipe 8ed268819e Fixed XSS 2019-03-18 21:09:57 -07:00
Martin Meredith 1d26195821 Add models IDE helper to .gitignore (#6829) 2019-03-18 11:58:33 -07:00
Ivan Nieto bebdbdfb87 Fix #6763. Import Stuck Processing - Error - Can only flip STRING and INTEGER values! (#6804)
* Added validation for errors when the Import Field to map isn't setted

* A slightly correction to the error message

* Added the translation strings for the Error Message
2019-03-14 12:32:40 -07:00
snipe 26c0cf5d33 Allow null for logCheckin $action_date 2019-03-14 01:22:29 -07:00
snipe 239f21b0d7 Set null option for $action_date 2019-03-14 01:09:16 -07:00
snipe 0b927623e8 Added “record created” string for clarification in asset/license history 2019-03-13 22:06:57 -07:00
snipe 96f069c417 Change action_datwe to datetime in transformer 2019-03-13 21:57:06 -07:00
snipe 60e52cc927 Make action_date a datetime 2019-03-13 21:53:56 -07:00
snipe 9f79028391 Fixed copypasta in email_logo down() method 2019-03-13 21:53:45 -07:00
Ivan Nieto c7f48951a9 Valo/checkin date in history of asset (#6733)
* To see checkin/checkout Date in History of Asset

* Added some logic to get today's date if the checkin_at input is blank

* Updating the action_date taking the value from the action_log table

* Hide created_at field and rename 'Action Date' as only 'Date'
2019-03-13 21:36:32 -07:00
Marián Skrip 8d63533205 Add write-only image_source field for asset create/edit API endpoint (#6146)
`image_source` should contain base64 encoded image data with mime-type.
2019-03-13 21:00:40 -07:00
Ivan Nieto 8c65214b1f Ignore the soft deleted assets in the eloquent query (#6824) 2019-03-13 20:14:30 -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 55f727ef28 Fixed HTML labels on alerts setting page
Originally https://github.com/snipe/snipe-it/pull/6808/ by @timothyfarmer - I also updated the error class logic in the same block
2019-03-13 19:53:23 -07:00
snipe 6c71e72dcd Fixed labels labels (wha?)
Wrong HTML labels for some fields in the Settings > Labels page.

Originally https://github.com/snipe/snipe-it/pull/6809 by @timothyfarmer but it was made against the wrong branch
2019-03-13 19:50:35 -07:00
snipe 79f4f46e3a Add @timothyfarmer as a contributor 2019-03-13 19:45:40 -07:00
snipe fddf0cdd15 Added hungary time format 2019-03-13 19:45:30 -07:00
snipe 8efbde61c9 Merge branch 'fixes/kit_fixes' into develop 2019-03-13 12:16:20 -07:00
snipe 2c79ed5fc1 Added kit permissions 2019-03-13 12:15:54 -07:00
snipe 1b0d855c00 Added translation, removed commented out code 2019-03-13 12:15:48 -07:00
Martin Meredith f403db274a (develop) Fix asset auto-incrementation (#6806)
* Fix auto-increment not updating

This is due to the addition of caching for settings.  If we're not
explicitly saving the Settings model, then the cache isn't getting
updated, causing the asset tag auto-increment to get an old cached
version with the wrong number

* Move Setting cache clear to an observer
2019-03-13 10:58:35 -07:00
Martin Meredith a462e91983 (develop): Fix failing Unit Tests (#6807)
* Reference correct class for Licence Model

* Make sure we activate users in test to send Welcome Notification
2019-03-13 10:57:43 -07:00
ajsy 57c0f69286 Update LocationsController.php 2019-03-09 13:45:19 +03:00
ajsy 03c5b8e4ab Create print.blade.php 2019-03-09 11:36:42 +03:00
ajsy 311dd18443 Update LocationsController.php 2019-03-09 11:34:47 +03:00
ajsy a958d56590 Update view.blade.php 2019-03-09 11:29:06 +03:00
ajsy c11e93b72f Update web.php 2019-03-09 11:14:24 +03:00
snipe 7e8d337ed5 Moved kit icon 2019-03-08 16:49:05 -08:00
snipe 400907cc40 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2019-03-08 16:24:12 -08:00
snipe 74f33441d3 Merge branch 'VELIKII-DIVAN-develop' into develop 2019-03-08 16:23:53 -08:00
snipe 61afdeac2e Merge branch 'develop' of https://github.com/VELIKII-DIVAN/snipe-it into VELIKII-DIVAN-develop 2019-03-08 16:18:48 -08:00
Martin Meredith 55cbbf2b00 Fixes #6794: Fix URLs to access some 'missing' images (#6795)
* Fix image path for Model view

* Fix URLs for images in account view

* Fix Supplier view Image URL
2019-03-08 12:47:37 -08:00
Martin Meredith daf6d98a3b Remove test data for Pie (#6793) 2019-03-08 12:46:47 -08:00
snipe ab1f34604e Add @Mezzle as a contributor 2019-03-06 18:46:36 -08:00
Martin Meredith 0840ab41d5 Hotfix: Fix ability to create assets (#6790) 2019-03-06 16:37:58 -08:00
snipe 5293cb30bd Merge branch 'fixes/only_present_image_url_if_image_present_in_profile_api' into develop 2019-03-05 23:54:08 -08:00
snipe 0b0813b260 Fixed error if item requested or request was deleted
ch628
2019-03-05 23:46:40 -08:00
snipe 6f1a70ee09 Fixed ch1086 - Merge branch 'fixes/search_consumables_by_item_number' into develop
# Conflicts:
#	app/Http/Controllers/Api/UsersController.php
2019-03-05 23:23:46 -08:00
snipe 3b41aa52c8 Added ability to search consumables by item number
Fixes ch1086
2019-03-05 23:20:16 -08:00
snipe c211cc733c Bumped hash 2019-03-05 21:26:24 -08:00
snipe 6696685d0b Merge branch 'fixes/full_name_search_user_selectlist' into develop
# Conflicts:
#	app/Http/Controllers/Api/UsersController.php
#	routes/api.php
2019-03-05 20:57:10 -08:00
snipe f065bd7784 Added ability to do full name search in user dropdown selectlist 2019-03-05 20:40:05 -08:00
Steffen de39906cae Put file contents instead of file object (creates subdirectory with a single file) (#6760) 2019-03-05 12:08:18 -08:00
snipe 27280b8866 Added link to marksman 2019-03-01 17:41:02 -08:00
snipe 288cc01c41 Merge branch 'features/accessories_users' into develop
# Conflicts:
#	app/Http/Controllers/Api/UsersController.php
#	config/version.php
#	routes/api.php
2019-03-01 17:30:03 -08:00
snipe 348c13f318 Add accessories endpoint to user API 2019-03-01 16:31:22 -08:00
Steffen e1907e30b1 Allow multiple upload fields and add logo option to labels (#6736)
* Change upload js to work with multiple upload elements on a single page

* Change uploadFile in upload modal and form partial

* Change uploadFile to js-uploadFile to avoid potential issues in the future

* Remove duplicate style attribute causing webpack to fail

* Missed a css class in rename to js- prefix

* - Move logo uploads to partial for eaiser usage
- Add label logo
- Add css classes to label elements
- Change label prefix text (M: S: ...) to css::before content for easy removal in config

* Add more css classes to labels

* Allow unescaped " (quot) in css ouput

* Add max size param to partial, set defaults for allowedType and size
2019-03-01 15:25:42 -08:00
Dmitrii Minaev 16bb784e78 Codestyle & bug fixes 2019-02-28 01:37:58 +03:00
snipe c47fa5ad1c Fixed missing @endcan 2019-02-26 19:14:28 -08:00
Dmitrii Minaev d3c320e56f Code comments and format 2019-02-23 22:44:03 +03:00
snipe 983a9a4e0e Fixes/integrity constraint (#6755)
* Migration to fix nullables

This should fix an issue introduced in 90cddb7aee where we’re passing null instead of an empty string (necessary to nullify values via the API)

* Removed asset migration - serial was already fixed
2019-02-22 13:21:31 -08:00
snipe d0659bed35 Removed duplicate migration 2019-02-20 21:39:52 -08:00
snipe f7e976cce9 Merge branch 'fixes/make_serial_nullable' into develop 2019-02-20 21:05:18 -08:00
snipe 1573e2a91f Bumped hash 2019-02-20 20:52:08 -08:00
snipe 86a6322562 Merge branch 'fixes/make_serial_nullable' into develop
# Conflicts:
#	app/Http/Controllers/Api/ConsumablesController.php
#	config/version.php
2019-02-20 20:48:51 -08:00
Dmitrii Minaev 5f3a0bdea5 app\Services\PredefinedKitService.php rename to app\Services\PredefinedKitCheckoutService.php
add accessories and consumables tables
add selectlist api to:
 app\Http\Controllers\Api\AccessoriesController.php
 app\Http\Controllers\Api\ConsumablesController.php
 app\Http\Controllers\Api\LicensesController.php
templates for selectlist
apply kit to user works
2019-02-19 22:19:00 +03:00
snipe b91ba47b0e Fixed migration 2019-02-16 11:42:35 -08: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 2b6675138e Added autolabeler for PRs
https://github.com/probot/autolabeler
2019-02-14 13:57:07 -08:00
snipe 2624b8c827 Added weekly digest app for repo
https://github.com/apps/weekly-digest
2019-02-14 13:52:56 -08:00
snipe bfc1ebc4ba Merge branch 'fixes/auto_increment_prefix' into develop 2019-02-14 13:09:40 -08:00
snipe 6b106e48e9 Added migration to make auto_increment_prefix explicitly nullable 2019-02-14 12:45:21 -08:00
snipe 18c591f993 Possible fix for #6710 - explicitly make auto_increment_prefix nullable 2019-02-14 12:30:18 -08:00
snipe 0000f487ac Merge remote-tracking branch 'origin/fixes/password_confirmation_6703' into develop
# Conflicts:
#	config/version.php
2019-02-13 23:02:21 -08:00
snipe c3c4ad1ae6 One more try to fix tests - confirmation won’t validate until password validates 2019-02-13 22:45:05 -08:00
snipe a4420efb7d I guess we use 10 as the settings for password min in tests 2019-02-13 22:13:32 -08:00
snipe d24851c5d8 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2019-02-13 22:04:58 -08:00
snipe 794bc45cc0 Fixed tests 2019-02-13 21:59:24 -08:00
snipe d893837c86 Removed debugging 2019-02-13 21:32:26 -08:00
snipe 230c9da1df Fixed #6703 - fixes password confirmation 2019-02-13 21:30:15 -08:00
snipe b5aadd4b74 Add @lubo as a contributor 2019-02-13 20:50:25 -08:00
Ľubomír Kučera 9183de578d docker: Fix upgrades (#6680)
Until now, the Docker image was not performing actions that are
necessary for an upgrade completion. That is considered an
anti-pattern.

See https://snipe-it.readme.io/docs/upgrading for more information.
2019-02-13 20:49:36 -08:00
snipe cd1ef1d316 Literally no idea where that folder came from 2019-02-13 07:58:11 -08:00
snipe 9247dc592b Removed debugging statements 2019-02-13 07:09:49 -08:00
snipe 35898e4ca0 Added asset tag to maintenances report 2019-02-13 07:09:16 -08:00
snipe cd333fa93b Fixed wonky merge :( 2019-02-13 06:52:36 -08:00
snipe 533649f24e Merge branch 'develop' into dev-master-integration
# Conflicts:
#	.gitignore
#	.travis.yml
#	app/Console/Commands/LdapSync.php
#	app/Console/Commands/SendExpectedCheckinAlerts.php
#	app/Console/Commands/SendExpirationAlerts.php
#	app/Console/Commands/SendInventoryAlerts.php
#	app/Console/Kernel.php
#	app/Http/Controllers/Api/AssetsController.php
#	app/Http/Controllers/Api/ManufacturersController.php
#	app/Http/Controllers/Api/StatuslabelsController.php
#	app/Http/Controllers/Api/UsersController.php
#	app/Http/Controllers/AssetMaintenancesController.php
#	app/Http/Controllers/Assets/AssetsController.php
#	app/Http/Controllers/Auth/ForgotPasswordController.php
#	app/Http/Controllers/Auth/LoginController.php
#	app/Http/Controllers/Auth/ResetPasswordController.php
#	app/Http/Controllers/ReportsController.php
#	app/Http/Controllers/SettingsController.php
#	app/Http/Controllers/UsersController.php
#	app/Http/Transformers/AssetMaintenancesTransformer.php
#	app/Importer/Importer.php
#	app/Importer/ItemImporter.php
#	app/Importer/UserImporter.php
#	app/Importer/import_mappings.md
#	app/Models/Ldap.php
#	app/Models/License.php
#	app/Models/Location.php
#	app/Models/Recipients/AlertRecipient.php
#	app/Models/User.php
#	app/Providers/AppServiceProvider.php
#	composer.json
#	composer.lock
#	config/trustedproxy.php
#	config/version.php
#	public/js/build/all.js
#	public/js/build/vue.js
#	public/js/build/vue.js.map
#	public/js/dist/all.js
#	public/mix-manifest.json
#	resources/assets/js/components/importer/importer-file.vue
#	resources/lang/ar/admin/settings/general.php
#	resources/lang/bg/admin/settings/general.php
#	resources/lang/en-ID/admin/settings/general.php
#	resources/lang/en-ID/passwords.php
#	resources/lang/en/passwords.php
#	resources/lang/es-CO/passwords.php
#	resources/lang/es-ES/passwords.php
#	resources/lang/es-MX/passwords.php
#	resources/lang/es-VE/passwords.php
#	resources/lang/fi/admin/settings/general.php
#	resources/lang/id/admin/settings/general.php
#	resources/lang/id/passwords.php
#	resources/lang/ja/passwords.php
#	resources/lang/nl/passwords.php
#	resources/lang/pl/admin/settings/general.php
#	resources/lang/pl/passwords.php
#	resources/lang/pt-BR/admin/settings/general.php
#	resources/lang/pt-BR/passwords.php
#	resources/lang/ru/admin/settings/general.php
#	resources/lang/ru/admin/statuslabels/table.php
#	resources/lang/ru/passwords.php
#	resources/lang/sr-CS/general.php
#	resources/lang/sr-CS/mail.php
#	resources/lang/sv-SE/admin/settings/general.php
#	resources/lang/tr/admin/settings/general.php
#	resources/lang/tr/passwords.php
#	resources/lang/vi/admin/models/message.php
#	resources/lang/vi/admin/users/general.php
#	resources/lang/zh-CN/admin/settings/general.php
#	resources/views/importer/import.blade.php
#	resources/views/partials/bootstrap-table.blade.php
#	resources/views/partials/forms/edit/image-upload.blade.php
#	resources/views/users/edit.blade.php
#	resources/views/users/view.blade.php
#	tests/unit/ImporterTest.php
2019-02-13 06:42:52 -08:00
snipe 3b525f0009 Fixed #6705 - undefined is not a function (near '...$.validate...')
Not sure what happened here, but re-running webpack seems to have resolved it.
2019-02-13 05:16:12 -08:00
snipe f1fa5bdaa9 Fixed (develop) #6704 - don’t apply gate to $arrays collection, just check that they can view assets 2019-02-13 04:56:13 -08:00
snipe 2768ea692e Removed extraneous js call 2019-02-13 04:24:37 -08:00
snipe 83c511e1c8 Removed gh-changelog - we don’t use it anymore 2019-02-13 04:24:23 -08:00
snipe 35e60fd151 Updated languages 2019-02-13 03:56:18 -08:00
snipe 471fcd1272 Set beta version tag 2019-02-13 02:27:56 -08:00
snipe 1e1d32dc85 Make user notes field editable via API 2019-02-13 01:32:00 -08:00
snipe b317fb8d83 Fixed #6367 - pass table name and column_id to scopeCompanyables 2019-02-13 01:29:53 -08:00
snipe 245b3ca09f Fixed #6061 - Assigned user group cannot be removed 2019-02-12 23:49:42 -08:00
snipe da34b82b3e Do not count deleted locations in managedLocation check on user delete 2019-02-12 23:33:01 -08:00
snipe 8e358faebc Fixed #6113 - use $asset->fill vs filled() to allow blanking values via API 2019-02-12 22:15:32 -08:00
herroworrd 3f7d2aebc7 Fixed #6634: Asset Import History fixes and optimizations (#6657)
* Starting work on asset history importer.

* Starting work on asset history importer.

* Added checkin target.

* Last change... importing history should also probably be an admin only task.

* Added caching for user and asset queries.

* Updated cache keepalive time to DateTimeInterface

* Updated cache keepalive time to DateTimeInterface
2019-02-08 16:05:56 -08:00
Steffen 5624ea14e7 Fix accessories edit error (#6698)
* Add accessories_upload_path singleton (used in accessories/edit)

* Fix indent
2019-02-08 15:43:11 -08:00
Steffen 3530603797 Simplify slack channel regexp and allow private (no # prefix) channels and direct messages (@ prefix) (#6699) 2019-02-08 15:41:54 -08:00
snipe 4fd469e07b Prevent editing special users demo mode 2019-02-04 19:13:55 -08:00
snipe 59cb1e561e Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2019-02-04 18:59:53 -08:00
snipe 4fe63d2966 Fixed #6633 - return 200 status code on asset API 2019-02-04 18:59:49 -08:00
Ivan Nieto 9ac40f705c Valo/ch37/cannot log in with generated password from (#6655)
* Cannot log in with generated password from [ch37]

* Cannot log in with generated password from [ch37]. Light cleanup

* Added the fetchHumanBoolean() method.

* Cleaning up the ternary
2019-01-31 19:58:54 -08:00
Colin Campbell ef8e20f66b Alpine linux docker image (#6645)
* docker-alpine: Alpine linux container + apache 2.4 support

* docker-alpine: Force passport migrations (production mode Exception)

* docker-alpine: Copy default env in Dockerfile
2019-01-30 14:45:36 -08:00
Dmitrii Minaev e01e0c5596 Add licenses, accessories and consumables table presenters app\Presenters\PredefinedKitPresenter.php resources\views\partials\bootstrap-table.blade.php
Add refresh licenses, accessories and consumables tables refresh when add a new element resources\assets\js\snipeit_modals.js
Some design fixes resources\views\kits\edit.blade.php
Add default value to form (template) resources\views\modals\kit-model.blade.php
New routes for kit accessories and kit consumables routes\api.php
New routes for kit models, kit accessories and kit consumables routes\web\kits.php
New templates
2019-01-27 23:19:24 +03:00
snipe 9d21fc85bc Fixed #6644 - asset name not linked in Reports > Asset Maintenance Report 2019-01-25 20:59:54 -08:00
Ivan Nieto 79b41ee662 Importing with CSV into Encrypted Custom [ch86] (#6642) 2019-01-25 14:26:59 -08:00
Colin Campbell f8d9301bd4 fix-docker-pecl: Fix Dockerfile after pear.php.net hack (#6641) 2019-01-25 13:41:39 -08:00
snipe c1a4fbee16 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2019-01-25 13:34:57 -08:00
Colin Campbell 8c632f63b0 Misc ldap fixes (#6631)
* misc_ldap_fixes: Map location from OU, not group

* misc_ldap_fixes: Ensure ldap is initialised for import

* misc_ldap_fixes: Import Job Title

* misc_ldap_fixes: Import telephone, fix field select from schema

* misc_ldap_fixes: Cleanup login error-handling, fix boolean tests
2019-01-24 16:15:44 -08:00
Ivan Nieto 7d982c9ea6 Import page is blank [ch90] (#6636) 2019-01-24 15:34:50 -08:00
snipe ec4161a959 Fixed typo 2019-01-24 15:21:38 -08:00
snipe b326d8593b Fixed bad groups route on error 2019-01-24 14:56:47 -08:00
snipe d1fe7abb18 Replaced custom deleted query scopes with onlyTrashed() 2019-01-24 14:47:44 -08:00
snipe ffc51d6db6 Specify table name in deleted user display 2019-01-24 14:33:54 -08:00
snipe 394e51029e Only try to upload the audit file if one is provided 2019-01-24 14:04:06 -08:00
snipe 4b8f9d810b Fixed #6625 - include fully depreciated date in custom asset report 2019-01-24 12:38:17 -08:00
snipe 89a2ce1c6c Add @jackka as a contributor 2019-01-23 14:12:15 -08:00
snipe c6ad7f80a8 Add @omyno as a contributor 2019-01-23 14:12:03 -08:00
snipe 7e6a59bdcc Add @KeenRivals as a contributor 2019-01-23 14:11:37 -08:00
snipe 8ebd9afd15 Add @reuser as a contributor 2019-01-23 14:11:23 -08:00
snipe d1b9eddb34 Add @shinayoshi as a contributor 2019-01-23 14:11:11 -08:00
snipe 0394dd7ee5 Add @andreybolonin as a contributor 2019-01-23 14:10:59 -08:00
snipe 53c6c74a43 Add @fanta8897 as a contributor 2019-01-23 14:10:46 -08:00
snipe 65c5378a10 Add @Sxderp as a contributor 2019-01-23 14:10:35 -08:00
snipe 1c6cbbf8ee Add @smb as a contributor 2019-01-23 14:10:21 -08:00
snipe 10cb4ec401 Add @NMathar as a contributor 2019-01-23 14:10:06 -08:00
bricelabelle 5281713fd9 Added #6617: View licenses checked out to an asset with the hardware API (#6621) 2019-01-22 14:47:40 -08:00
snipe 7982b3f237 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2019-01-22 14:13:39 -08:00
snipe 07eead2dbf Fixed bug where assets could be deleted without being checked back in [ch38] 2019-01-22 14:13:30 -08:00
Ivan Nieto 3fa5976315 Language of mail doesn't show as intended by the settings. [ch87] (#6619)
* Fixes #5554. Language of mail doesn't show as intended by the settings.
2019-01-22 14:02:08 -08:00
NMathar 66f557d436 add user license api endpoint fix #6241 (#6616) 2019-01-22 13:48:15 -08:00
snipe fdd6ddf61b Fixed favicon upload
[ch309]
2019-01-18 14:05:52 -08:00
snipe 4129463923 Added filesstem cache 2019-01-18 14:05:10 -08:00
Ivan Nieto 310ed0f1d3 Fix an issue when trying to checkin a license seat. [ch46] (#6599)
* Fix an issue when trying to checkin a license seat.

* Minor changes in the checkin view, so it can returns to the expected place where the checkin is launched.
2019-01-17 20:36:40 -08:00
snipe 1eace04ad9 Handle asset maintenances that do not have a valid asset associated 2019-01-16 02:26:42 -08:00
Steffen 74c099f0b3 fix LDAP/AD sync: function calls for password creation (#6581)
* - change generatePassword to be more secure (allow duplicate chars)
- move generatePassword from trait to helper
- fix summary output for sync command

* - Don't treat ldap_active_flag as boolean - fixes sync not working at all when ldap field is set
- Sync non activated users (But set activated=0)

* - Read user first before checking against user settings

* Fix failed logins to not throw exceptions
2019-01-15 14:05:47 -08:00
omyno f0500e9797 Show user's signature in print view (#6471) 2019-01-15 14:03:40 -08:00
Wes Hulette 3e19509a49 Fixed: #6395 - Adjusted graph size (#6518)
* Fixed missing oauth tables during setup.

* Merge remote-tracking branch 'snipe-it-upstream/develop' into develop

* Merge remote-tracking branch 'snipe-it-upstream/develop' into develop



Merge remote-tracking branch 'origin/develop' into develop

* Fixed Pie Graph sizing on dashboard

Updated chart.js to 2.7.3
Added height to canvas
2019-01-15 14:02:49 -08:00
snipe 125938762b Patched #6565 to develop 2019-01-15 14:02:10 -08:00
Steffen 61c619660d Initialize customFormat to prevent Blade error when creating new fields (#6596) 2019-01-15 13:56:56 -08:00
Steffen 1de9087427 LDAP fixes (#6533)
* Add iCheck png files to webpack config (inconsistency for css <> png) and blue.png to public folder

* php 7.3 collect() fix (undefined variable)

* Fix travis ci

* Add iCheck png files to webpack config (inconsistency for css <> png) and blue.png to public folder

* php 7.3 collect() fix (undefined variable)

* change LDAP implementation from model to (singleton) service

* Re-apply check for content in ldap_server variable before parsing

* Update LDAP implementation

* Switch iCheck to minimal as referenced in js

* Don't init on load but on first access via init (returns ldap enabled status)

* Re-Enable notifications

* Re-add missing test target php versions

* Only init() once (singleton class, so ldap variable is already set)
2019-01-10 13:20:43 -08:00
shinayoshi c23cdb0e31 Support Raspbian 9.x installs. (#6554)
* Updated code related to Raspbian.

Tested on Raspbian 9.6.
2019-01-10 13:18:30 -08:00
Kasey 5e06d53d8c buildable dockerfile (#6525)
Awesome, thanks!
2018-12-17 15:29:05 -08:00
Brady Wetherington 89a325c0ea Handle missing Flysystem env vars; let Debugbar autodiscover (#6514) 2018-12-17 14:04:56 -08:00
Brady Wetherington 1fdb057199 New LDAP system tries to load LDAP configuration before determining (#6512)
whether or not LDAP is actually enabled
2018-12-17 14:04:35 -08:00
Ivan Nieto 876ff2ef72 Fixes #6341. Some style changes in this fix. (#6492) 2018-12-14 18:08:33 -08:00
KeenRivals f5ba2106cd Fix snipeit:unescape not unescaping quotes (#6506) 2018-12-14 18:08:00 -08:00
snipe 67f6df2be3 Fixed (develop) #4568 - escaping values in custom report 2018-12-12 19:40:15 -08:00
snipe 71f2440ddf Moved contributors to the bottom of the README 2018-12-12 18:52:45 -08:00
snipe 426dae0310 Fixed methods for PHP 7.3 compact() 2018-12-12 18:16:39 -08:00
snipe f91fd3c91f Updated language string to include XML 2018-12-12 17:46:19 -08:00
snipe 86cc1a228d Fixed typo 2018-12-12 16:45:49 -08:00
snipe 394d265b96 Added XML to uploadable file type - re: #6099 2018-12-12 16:45:09 -08:00
snipe 6a6923b1d8 Fixed parse_url() expects parameter 1 to be string, null given 2018-12-12 16:37:27 -08:00
Steffen 28edf13457 WIP develop ldap fixes (errors, check if disabled, parsing in one place) (#6500)
* Fix errors and exception when ldap settings are empty (even with ldap disabled)

* Re-add newline at the end of file
2018-12-11 21:01:11 -08:00
snipe 93947b09c5 Small fix for #6484 - corrected LDAP sync command name 2018-12-11 15:18:30 -08:00
snipe 8b8ce256f5 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2018-12-11 13:07:48 -08:00
snipe 4cc82a808f Updated composer 2018-12-11 13:07:23 -08:00
snipe 8313a069bf Temp fix for blank LDAP values when LDAP is disabled 2018-12-11 13:07:14 -08:00
Wes Hulette b38d07064b Fixed: #5896 Custom fields of type "CUSTOM REGEX" are always saved as "ANY" (#6381)
* Fixed missing oauth tables during setup.

* Custom fields of type "CUSTOM REGEX" are always saved as "ANY" 

Fixes #5896

* Updated per PR

Fixed spelling

* Fixed logic error

Moved conditional code from view to controller
Added getFromatType function for dropdown
2018-12-06 20:05:04 -08:00
snipe 886b6dd265 Add @benrubson as a contributor 2018-12-06 15:19:16 -08:00
snipe 3d6bd73ed3 Port PR #6485 to develop 2018-12-06 14:40:28 -08:00
snipe a874cc32a8 Fixed bonked merge conflict 2018-12-06 14:20:01 -08:00
Wes Hulette 34246ee4ef [WIP] v5 Develop: New LDAP implementation (#6352)
* Fixed missing oauth tables during setup.

* WIP New LDAP implementation

* WIP New LDAP implementation

* WIP New LDAP implementation


Merge remote-tracking branch 'origin/WIP_LDAP' into WIP_LDAP

* WIP New LDAP implementation

Added Adldap2 to handle ldap intergration.

* Updated per PR quality review

* Added specific LDAP settings method

* Corrected version number

* Added return documentation

* Added imports

* Changed class to be injected into controller

* Updated with PR suggestions
2018-12-06 14:05:43 -08:00
snipe 3ed2f55696 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2018-12-05 19:56:18 -08:00
snipe 09c4dd4891 Added ability to upload favicon and email logo
todo: refactor the image upload/resize for less copypasta
2018-12-05 19:56:12 -08:00
snipe 81f9f717dc Updated favicon with new branding 2018-12-05 18:55:23 -08:00
snipe fb502df089 Fixed dumb code indenting 2018-12-05 18:36:39 -08:00
Ivan Nieto f91e340178 Fixes #6341. Adding condition that checks offset of licenses seats when the user looks other page than the first. (#6392) 2018-12-05 18:09:54 -08:00
snipe f6c0e7cc9c Fixed #6464 - added company name to searchable field in user search 2018-12-05 17:20:22 -08:00
snipe 9f73fcf308 Added #6463 - ability to override session path in .env 2018-12-05 17:17:11 -08:00
Minaev Dmitriy 0bbe499414 Kits checkout. But only with models. 2018-11-13 20:33:32 +03:00
Evgeny dd7db95135 A couple hardcoded strings replaced in according with #6406 (#6412)
Hardcoded strings was replaced with corresponding placeholders.
Log statuses mentioned in #6406 wasn't translated cause it needs more separate complicated development
2018-11-08 15:20:44 -08:00
Minaev Dmitriy 79d979f47f Full kits manipulation without users intagration 2018-11-06 19:27:28 +03:00
snipe b6daad7573 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2018-11-02 17:15:08 -07:00
snipe 67d2953080 Fixed #6386 - licenses not searching on category name 2018-11-02 17:15:04 -07:00
Wes Hulette 0d2eef5894 v5 Develop Fixed: Setup error because setting table does not exist (#6390)
* Fixed missing oauth tables during setup.

* Merge remote-tracking branch 'snipe-it-upstream/develop' into develop

* Merge remote-tracking branch 'snipe-it-upstream/develop' into develop



Merge remote-tracking branch 'origin/develop' into develop

* Fixed error during setup when settings table is not present
2018-11-02 12:23:41 -07:00
Wes Hulette 88b1da4260 Added: Caching of settings (#6378)
* Fixed missing oauth tables during setup.

* Cache settings

Cache the setting to reduce unnecessary database calls
2018-11-01 19:59:50 -07:00
Wes Hulette 0730685c29 v5 Develop Fixed: LDAP Settings Password being updated when field is empty (#6384)
* Fixed missing oauth tables during setup.

* Fixed password saving

Previous Input::has always returned true, even if password was an empty string.
2018-11-01 13:36:30 -07:00
snipe ea91d59ffc Use username instead of email address in password reset (#6382)
* Switch to use username instead of email

* Fixed indenting

* Updated password language

* Updated blades to reflect username instead of email

* Changed password/reset controllers to use username instead of email

* Redirect to login page instead of repeating the password reset form
2018-10-31 18:03:24 -07:00
snipe ce8d47b2b4 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2018-10-31 15:19:18 -07:00
snipe 65aef11ae3 Fixed #5879 - added user department filter for custom report 2018-10-31 15:19:13 -07:00
snipe 8f22cf7c3c Added dept update API endpoint 2018-10-31 14:31:57 -07:00
Tim Bishop 7835cc34c8 Insert audited items to the top of the list. (#6376)
When doing a large number of items they soon disappear off the bottom of
the screen. It's handy to be able to check the result as it's happening
so adding them to the top of the list keeps the most recent items visible.

Move the "Processing..." spinner to the header so it stays at the top.
2018-10-31 11:13:08 -07:00
snipe 2cecd5e056 One more fix for #6175 (non-accessories) 2018-10-31 10:23:47 -07:00
snipe 5da9120870 Fixed #6175 - crashing when accessory has been deleted
My guess would be this crash (reported in #6175) was happening because of deleted accessories/accessory rows.
2018-10-31 10:23:32 -07:00
Minaev Dmitriy 9d5cd27575 New save mechanic 2018-10-31 16:06:38 +03:00
snipe 5faf8bfcd0 Fixed error on unaccepted asset report 2018-10-29 14:39:42 -07:00
snipe f0e6a5c905 Fixed error on asset creation 2018-10-29 14:35:34 -07:00
snipe a483e9365b Add APP_LOG_LEVEL to new logging config 2018-10-25 21:01:14 -07:00
snipe e443a576f7 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2018-10-19 16:46:53 -07:00
snipe 20b26effdb Fixed #6349 - add view permission for print all assigned 2018-10-19 16:46:46 -07:00
Minaev Dmitriy f1f7694835 Merge remote-tracking branch 'remotes/upstream/develop' into develop 2018-10-19 19:00:53 +03:00
Minaev Dmitriy 0e66c3cb56 Predefined kits test 2018-10-19 17:30:25 +03:00
Wes Hulette b3672d6365 Fixed: Settings seeder error (#6334)
* Fixed missing oauth tables during setup.

* Fixed seeding error

Required setting pwd_secure_min was missing from seeder.
2018-10-17 13:38:27 -07:00
Wes Hulette a975117eaf Fixed: #6325 & #6317 (#6335)
* Fixed missing oauth tables during setup.

* Fixed missing manager_id and department_id
2018-10-17 13:38:13 -07:00
Wes Hulette 465b69516d Fixed: #6259 - Remove remote JS/CSS file loading (#6330)
* Fixed missing oauth tables during setup.

* Remove remote JS/CSS file loading


Updated gravatar to return to default image

* Updated default avatar path to user url

Removed local html5shim & response js files.
Removed copying html5shim & respond js file to public directory
2018-10-17 12:52:01 -07:00
snipe 2ded2ff53a Make dashboard snapshots clickable 2018-10-15 18:19:30 -07:00
snipe 74c20e62d5 Fixed - suppress the asset create button if the user is not allowed to create assets 2018-10-15 17:57:47 -07:00
snipe 0dbce93d1b Better logic for disallowing company selection when user is not a superadmin and FCS is enabled 2018-10-15 17:57:28 -07:00
snipe 9797412d23 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2018-10-15 17:02:39 -07:00
snipe 6b6cf06530 Display asset name if one exists and the user cannot edit 2018-10-15 17:02:31 -07:00
snipe 539c3023b9 Added - check whether the user can edit an asset before allowing them to change the name on checkout 2018-10-15 16:52:45 -07:00
snipe 78b6e84774 Allow min:0 for consumables 2018-10-15 16:52:20 -07:00
Joe Ferguson 704209de9c Fixed #6301: Do not allow duplicate asset tags (#6324)
* Fixed #6301: Do not allow duplicate asset tags

* Display error message for single asset_tag failure
2018-10-11 17:15:09 -07:00
snipe b8f8d49927 Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2018-10-11 15:29:48 -07:00
snipe 63a2727077 Fixed #6323 - typo in link for low inventory 2018-10-11 15:29:38 -07:00
Ivan Nieto 5516978f2e #5696 proposed fix (#6314)
* Another 'or' caught in a blade template

* Added the requireAcceptance() method in LicenseSeat.php. Changed the permission in checkout-license mail to view.

* Getting right the permission in the view checkout-license
2018-10-11 14:08:09 -07:00
Wes Hulette 19ee62f704 Fixed: Missing JS file import (#6320)
* Fixed missing oauth tables during setup.

* Fixed missing JS import
2018-10-11 13:51:37 -07:00
snipe dff674b4ab Production assets 2018-10-09 16:12:43 -07:00
snipe 73788817ff Fixed #6306 - seed settings if no record exists 2018-10-09 16:12:26 -07:00
Wes Hulette d715ecf41d Fixed: Tooltips (#6309)
* Fixed missing oauth tables during setup.

* Fixed missing tooltips

Updated spelling in bootstrap-table.blade.php to use bootstrap data element. 
Using custom jquery-ui without tooltips to fix conflict issue.

* Removed custom jQuery ui file added fix in bootstrap.js file
2018-10-09 15:20:27 -07:00
Wes Hulette 6818901f7d Fixed: Admin LTE left menu bar not working (#6308)
* Fixed missing oauth tables during setup.

* Updated per AdminLTE upgrade guide.
2018-10-09 15:20:12 -07:00
Wes Hulette 19bc158ff4 Fixed tooltips and iCheck (#6303)
* Fixed missing oauth tables during setup.

* Fixed duplicate style tag

This was causing webpack issues.

* Deleted erroneously created directory

* Removed duplicate imports

* Fixed tooltips, iCheck audit page

https://github.com/snipe/snipe-it/pull/6285#issuecomment-427235280

* Merge remote-tracking branch 'origin/#6285-Fixes' into #6285-Fixes
Fixed Manifest file
2018-10-05 07:41:04 -07:00
snipe a516e4278e Remove company select option if the user is not an admin and FCS is enabled 2018-10-05 07:30:42 -07:00
snipe c21524f240 Fixed NaN when no asset tag is provided 2018-10-05 05:42:28 -07:00
snipe ecb8204c3c Associate serials with multiple asset creation 2018-10-05 05:30:13 -07:00
snipe 476b58632b Handle array of asset tags
TODO: figure out how to display validation errors more sanely
2018-10-05 04:34:47 -07:00
snipe d4a97d0431 Increase max fields in multi-asset creation 2018-10-05 04:18:06 -07:00
snipe ade9a0c995 Removed server-side validation right now
Getting an unexpected keyword ‘export’ error. I’ll come back to this.
2018-10-05 03:47:58 -07:00
snipe 7e33051c7a Remove console logging 2018-10-05 03:44:30 -07:00
snipe 4a448ba5f9 Increment tag based on first 2018-10-05 03:43:40 -07:00
snipe 8e90ed00d8 Added alt tags to logo 2018-10-05 03:43:16 -07:00
snipe 81d8c1cc52 Fixed remove-asset-tag javascript on asset edit, added server side validation support 2018-10-05 02:51:14 -07:00
snipe 4920dced6e Enabled toggleDisabled on form validator 2018-10-05 01:12:14 -07:00
snipe 4a4fc38c43 Style updates 2018-10-05 00:57:18 -07:00
snipe 907d1d0f61 Validate if name is required 2018-10-05 00:46:27 -07:00
snipe 6f71abd0e0 Fixed improper html nesting 2018-10-05 00:45:58 -07:00
snipe c1b0b8dee2 Move validator to main layout 2018-10-05 00:45:45 -07:00
snipe a6449fa16e Added jquery-form-validator 2018-10-04 23:50:57 -07:00
snipe 4cc1351bdd More JS tweaks (WIP) 2018-10-04 23:37:52 -07:00
snipe 701beeac2a Merge branch 'develop' into features/create_multiple_asset_tags_on_asset_create 2018-10-04 22:08:18 -07:00
snipe 6489081cd6 Pass variable to edit-form to determine whether we should have a top submit button
This is just so very short forms don’t look too silly
2018-10-04 21:19:25 -07:00
snipe 408f9978e9 More help text updates 2018-10-04 21:14:45 -07:00
snipe 4a7f61b554 Tenporarily replacing the blue@2x.png for icheck 2018-10-04 21:00:13 -07:00
snipe db765e4a0b Reformatted help popover 2018-10-04 20:51:50 -07:00
snipe 54d916fd05 Pulled “more info” popover header into translated string 2018-10-04 20:41:09 -07:00
snipe 8d680d071b Create help translation file 2018-10-04 20:37:49 -07:00
snipe 252341fd5c Pulled help icon text into its own blade 2018-10-04 20:35:07 -07:00
snipe c8210131b4 Updated assets 2018-10-04 20:24:59 -07:00
snipe 3843764d15 Added save button at top of form as well 2018-10-04 20:24:53 -07:00
snipe accafbf1eb Added basic JS to edit blade 2018-10-04 19:28:56 -07:00
snipe ef9817e12d Updated to latest rollbar 2018-10-04 18:24:41 -07:00
snipe b5211b2dd5 Fixed #6291 - send-welcome argument in cli importer 2018-10-04 04:44:12 -07:00
snipe 0a72751b37 Fixed issue where admin users could disable activation when editing their own profile 2018-10-04 02:23:12 -07:00
Wes Hulette 3c59452e33 Fixed Tooltips and Rounded corners from previous cleanup (#6285)
* Fixed missing oauth tables during setup.

* Fixed tooltip and square boxes
2018-10-03 13:17:08 -07:00
snipe 84848fabd7 Fixed #6284 - missing checkout information on Status Labels API assets endpoint 2018-10-03 10:30:24 -07:00
Wes Hulette 4a88e155c4 Fixed: #6263 V5 (develop) - Missing oauth tables when using the setup wizard (#6268)
* Fixed missing oauth tables during setup.

* Merged develop changes

Removed PHP_CS file
2018-10-03 10:06:24 -07:00
snipe 66a9421fac Production assets 2018-10-03 01:07:47 -07:00
snipe be609f4a8f Merge branch 'jwhulette-V5_cleanup_js' into develop 2018-10-03 00:56:49 -07:00
snipe 90b8acdd3b Merge branch 'V5_cleanup_js' of https://github.com/jwhulette/snipe-it into jwhulette-V5_cleanup_js
# Conflicts:
#	public/mix-manifest.json
2018-10-03 00:56:09 -07:00
snipe c8ad45b11e Port import manager code to develop 2018-10-03 00:52:29 -07:00
snipe 8937edb97e Better validation for manager_id 2018-10-03 00:26:51 -07:00
Djamon Staal 80393d73ae Public function save() missing array. (#6276)
The class was missing as a result that the composer was unable to update and the site returned a 500 error
```
$ composer update
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Nothing to install or update
Package guzzle/guzzle is abandoned, you should avoid using it. Use guzzlehttp/guzzle instead.
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover

In Asset.php line 30:
                                                                               
  Declaration of App\Models\Asset::save($params = Array) should be compatible  
   with Illuminate\Database\Eloquent\Model::save(array $options = Array)       
                                                                               

Script @php artisan package:discover handling the post-autoload-dump event returned with error code 1
```
2018-10-02 04:40:20 -07:00
Wes Hulette 1742867df1 Removed inline signature.css
Added to webpack
2018-10-01 08:20:31 -04:00
Wes Hulette ce0a40a20c Merge branch 'develop' into JS_Cleanup 2018-10-01 08:07:07 -04:00
snipe e5e8c068ea Fixed mac address regex 2018-09-29 22:41:17 -07:00
snipe 366c1f81cc Added mac address to seeder 2018-09-29 22:21:32 -07:00
snipe 4975f9100c Added more seeders for better custom field displays on seeding 2018-09-29 22:17:36 -07:00
snipe a481fa2921 Added accessories images for seeder 2018-09-29 22:17:14 -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
Wes Hulette fc8096f8dc 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
2018-09-29 14:15:25 -07:00
Wes Hulette 22c57c2862 Updated Debugbar to latest version (#6265)
v3.2 adds support for Laravel 5.7
2018-09-29 14:14:20 -07:00
Wes Hulette 5cb6744c1b Merge remote-tracking branch 'snipe-origin/develop' into develop 2018-09-29 11:30:33 -04:00
snipe 153a711de4 Fixed css URL error 2018-09-28 23:18:16 -07:00
snipe 71f60990db Ignore simlink 2018-09-28 23:18:04 -07:00
snipe 32951bbc90 Make CustomFieldset rules public instead of protected 2018-09-28 15:18:23 -07:00
Wes Hulette aee15e8af4 Fixed select box rendering issue. (#6260)
Changed order of CSS files for combining
2018-09-28 15:18:15 -07:00
Wes Hulette 3016dcc616 WIP 2018-09-28 17:30:52 -04:00
Wes Hulette c090a2f0b6 Fixed script imports in setup.blade.php 2018-09-28 17:28:49 -04:00
Wes Hulette 11f128a84f Moved chart.js library into vendor.js 2018-09-28 17:28:49 -04:00
Wes Hulette 991a00b38f Updated pGenerator jQuery Plugin to v1.0.5 2018-09-28 17:27:34 -04:00
Wes Hulette e80dfc886e Added admin-lte-options file, moved pGenerator to main js file 2018-09-28 17:27:06 -04:00
Wes Hulette b84eb836f4 Cleaned up JS
Removed unnecessary JS files
Moved JS to app & vendor, so neither file is so large, plus they can be downloaded concurrently.
2018-09-28 17:27:06 -04:00
Wes Hulette b09afef46f Merge remote-tracking branch 'snipe-it-upstream/develop' into develop 2018-09-28 17:17:48 -04:00
Wes Hulette ecf77e60df Added: #6246 - CSS Cleanup (#6247)
* Streamlined CSS by using NPM

Removed unnecessary CSS files
Merged CSS files into one file

* Streamlined CSS by using NPM

Removed unnecessary CSS files
Merged CSS files into one file

* Removed override.less

* Moved bootstrap-color-picker css to file

Removed inline calls

* Changed css import on setup.blade.php

* Updated signature-pad.css import

* NPM Prod compile

* Fixed font family loading issue.
2018-09-28 14:09:48 -07:00
snipe a5abb3e6a6 Fixes #6252 - activated flag not checked when editing active user 2018-09-28 11:19:43 -07:00
Wes Hulette ea63936947 Merge remote-tracking branch 'snipe-it-upstream/develop' into develop 2018-09-28 08:29:33 -04:00
snipe 68a04c7a23 Fixed #4151 - Undefined index: samaccountname on LDAP import 2018-09-27 16:13:27 -07:00
Wes Hulette b64924440f Merge remote-tracking branch 'snipe-it-upstream/develop' into develop 2018-09-27 16:39:07 -04:00
snipe e5d0f74ba7 Fixed #6248 - add free seats to licenses API endpoint 2018-09-27 12:07:13 -07:00
Ivan Nieto 309f102745 Weird syntax in layout.blade.php. Change the use of 'or' operator to the null coalesce operator (#6240) 2018-09-26 22:33:34 -07:00
Wes Hulette 16e56646b8 Fixed #5965: Allow multiple alert email addresses (#6233)
* Fixed #5965: Allow multiple alert email addresses

* Style changes based on PR feedback.
2018-09-26 14:07:41 -07:00
Wes Hulette 82affd5154 Added PHP_CS & PHPMD files (#6234)
Added PHP_CS & PHP mess detector file to help with code standardization.
2018-09-26 12:10:11 -07:00
Ivan Nieto 73e88faa00 Using changes proposed by dmeltzer to eliminate has_licenses function in some tests code (#6218) 2018-09-25 14:01:21 -07:00
snipe bcf9d2f75c Don’t require statuslabel view to check for deployable status 2018-09-25 13:39:54 -07:00
nix f85e3edfc7 fixed checking permissions for users with no permissions set (#6229)
When a user has no permissions set (=NULL) in the database (like after an
LDAP import) but is a member of a group with permissions, those group
permissions would not have be applied, effectively denying every access
regardless of group permissions.
2018-09-25 13:24:50 -07:00
snipe 115f718cd9 Fix view if model doesnt have a manufacturer 2018-09-24 19:10:24 -07:00
snipe 9108ff8caa fixed typo 2018-09-24 19:06:12 -07:00
snipe d5cf0f1fbd Prevent deleting manufactureres via API if they have items/models 2018-09-24 19:04:00 -07:00
Brady Wetherington c97db3259f Merge pull request #5913 from tilldeeke/refactore-checkout-checkin-notification-sending
Refactor: Decouple checkin/checkout notifications from logging
2018-09-21 18:18:27 -07:00
snipe 4b2093b485 Added counts to location show() API method 2018-09-21 15:51:26 -07:00
snipe 24aaa36532 Applied 3159e7713a to develop 2018-09-19 17:27:34 -07:00
snipe d84366c6c5 Add empty array to groups if none filled in 2018-09-19 17:24:34 -07:00
Minaev Dmitriy 2604d3c1fd Merge branch 'develop' of https://github.com/snipe/snipe-it into develop 2018-09-14 19:36:01 +03:00
Ivan Nieto b692f67779 Revision of #5471 (#6148)
* Search functionality in accessories/{accessory} issue #5471:
From the collection of users displayed just filtered the data with the method where() and concat()
for the user can search for first name or last name. The solution is case sensitive.

* A better fix to issue #5471. Now using the established relationship to querying for the users. Also Case-insensitive.

* Fixed previous commit that has magic number in the find method parameter of AccessoriesController.
2018-09-12 22:50:45 -07:00
Juho Taipale 05b03df600 Fix for issue #6165 (#6168)
* Fix problem when using ValidatingTrait

* Checking that email alerts are enabled when trying to send expected check-in alerts (fix for issue #6169)
2018-09-12 22:49:50 -07:00
Till Deeke e445e201f3 Adds a migration to create checkout acceptances
This creates the checkout acceptances for assets (basically what was previously shown in the „Unaccepted Assets“-report) when migrating the database
2018-09-10 17:37:24 +02:00
Till Deeke bbd1d6059a Fixes errors in tests 2018-09-10 17:16:07 +02:00
Till Deeke 86f49d34c3 Redirects users from old acceptance screen to new overview 2018-09-10 17:13:16 +02:00
Till Deeke 007e8fbdf9 simplified checkout event handling per @uberbrady’s suggestion
This generalizes the checkout events into the CheckoutableCheckedOut and CheckoutableCheckedIn events.
2018-09-10 16:40:26 +02:00
snipe e45b4efa1a Better info buttons on audit
TODO: translated strings instead
2018-09-07 18:08:18 -07:00
snipe 10d19be66c Added manager ID to validation 2018-09-07 17:27:31 -07:00
snipe b903ca05f7 Added manager ID to fillable fields in Location model
This should enable the API to update manager ID
2018-09-07 17:27:19 -07:00
Wes Hulette 1dff71e4df Merge remote-tracking branch 'snipe-it-upstream/develop' into develop 2018-09-07 13:36:12 -04:00
snipe 827295a989 Fixed tooltips 2018-09-07 05:39:56 -07:00
snipe ff879e2018 Added the ability to update asset location when auditing - per #5854 2018-09-07 05:39:41 -07:00
snipe e89b33f865 Enable popovers 2018-09-07 05:09:24 -07:00
snipe 181e75adb4 Apply hotfix for fixed category model scope 2018-09-07 03:56:17 -07:00
snipe 827a86b2ef Only send inventory report to users if they have things checked out to them 2018-09-07 03:08:32 -07:00
snipe 451f4c3320 Bumped watson validating package version, laravel to v5.7.2 2018-09-07 03:08:08 -07:00
snipe 77cdb2f409 Added console command to send inventory reports to users 2018-09-07 02:24:41 -07:00
snipe 26fd7f7e79 I have no idea why this was necessary suddenly 2018-09-06 14:28:04 -07:00
snipe b80b91514d Fixed Laravel 5.7 compatibility issue re: boot() method
This was causing the error: Undefined index: App\Models\CustomField (View: /Users/snipe/Sites/snipe-it/snipe-it/resources/views/hardware/index.blade.php)

and pointed to the Eloquent model library method:

```
protected function initializeTraits()
    {
        foreach (static::$traitInitializers[static::class] as $method) {
            $this->{$method}();
        }
    }
```

Thanks to https://github.com/laravel/framework/issues/25455 for the clue.
2018-09-05 19:27:37 -07:00
snipe 60459d07ce Added email image auto-embed support 2018-09-05 18:57:49 -07:00
snipe 84cc90e427 Added alt text to email headers 2018-09-05 18:57:36 -07:00
snipe bd40bd5a22 Upgrade to laravel 5.7.0 2018-09-05 14:58:07 -07:00
snipe 0e46b6fd42 Fixed #6152 - typo in upgrade script 2018-09-05 14:58:07 -07:00
Wes Hulette 161271b53a Merge remote-tracking branch 'snipe-it-upstream/develop' into develop 2018-09-04 12:04:53 -04:00
Wes Hulette a865f79d5e Fixed dashboard tables not showing data (#6143)
Needed data-pagination="true" set
2018-08-29 12:29:47 -07:00
Wes Hulette e9f6cbc97f Merge remote-tracking branch 'snipe-it-upstream/develop' into develop 2018-08-29 12:45:56 -04:00
Wes Hulette 59559b1966 Merge remote-tracking branch 'snipe-it-upstream/develop' into develop 2018-08-28 16:39:07 -04:00
snipe a8b5fbde91 Add @inietov as a contributor 2018-08-28 13:31:36 -07:00
Ivan Nieto 0014ef054b Search functionality in accessories/{accessory} issue #5471: (#6070)
From the collection of users displayed just filtered the data with the method where() and concat()
for the user can search for first name or last name. The solution is case sensitive.
2018-08-28 13:25:16 -07:00
snipe 652548957d Add @Seldaek as a contributor 2018-08-28 13:15:21 -07:00
snipe 761ea4e581 Add @liquidhorse as a contributor 2018-08-28 13:15:08 -07:00
snipe 9c24d4300c Add @VELIKII-DIVAN as a contributor 2018-08-28 13:14:55 -07:00
snipe 39ab488d90 Add @patrict as a contributor 2018-08-28 13:14:41 -07:00
snipe ec67d03a7c Add @jwhulette as a contributor 2018-08-28 13:14:26 -07:00
Wes Hulette bfb5920677 Added #5956 - Moved bootstrap-tables to npm (#6139)
Created single bootstrap-tables js and css file.
2018-08-28 13:10:27 -07:00
Wes Hulette 0c02ff70f6 Merge pull request #1 from snipe/develop
Develop
2018-08-28 15:47:16 -04:00
patrict cf2d2ecdfc Depreciation Report: (#6135)
* Added monthly depreciation column
* Right aligned amount column headings
* Added monthly depreciation heading text for en, en-GB & af
2018-08-28 12:40:06 -07:00
Wes Hulette 3831ee9f5a Fixed #5811 - Non US Characters in user export (#6132)
* Added Freebsd as vagrant machine for development

* Ran npm audit fix

Manually added peer depenencies

* Added charset=UTF-8 to content-type

Removed reference to throttle model as is is not longer included.
2018-08-28 12:37:58 -07:00
Dmitriy Minaev bc8fa31eb2 Add depreciation with half-year convention. Fixed #1237 (#6128)
* Add half-year convention in depreciation for Models/Depreciable.php

* Add a setting for the depreciation method

* Integrate half-year convention inside working output

* fix: add more checks at Depreciable.php

* depreciation value rounding

* Codestyle fix
2018-08-28 12:32:46 -07:00
liquidhorse 678ba228cb Fixed #6079: QR Code unnecessarily squished. (#6080)
* Fixed 2D barcode from being squished unnecessarily when 1D barcode is omitted.
Added one character of whitespace for code readability.
2018-08-28 12:29:50 -07:00
snipe 5b8cbe29e1 Possible fix for #5054 - OpenLDAP (non-AD) LDAP users being deactivated 2018-08-27 14:51:37 -07:00
Minaev Dmitriy a77b8c2023 Codestyle fix 2018-08-26 18:47:35 +03:00
Minaev Dmitriy 40dd34b5bf depreciation value rounding 2018-08-25 20:18:31 +03:00
Minaev Dmitriy daba90b346 fix: add more checks at Depreciable.php 2018-08-25 19:17:48 +03:00
Minaev Dmitriy 7b70afa2a1 Integrate half-year convention inside working output 2018-08-24 20:30:22 +03:00
snipe 0b8d70c7ec Fixed #6124 2018-08-23 21:06:04 -07:00
Minaev Dmitriy 8d3b201a49 Add a setting for the depreciation method 2018-08-23 20:49:20 +03:00
Minaev Dmitriy 49ecc08398 Add half-year convention in depreciation for Models/Depreciable.php 2018-08-23 20:29:03 +03:00
snipe e4f6aefdad Added self-checkout permission option 2018-08-21 23:26:12 -07:00
snipe 771265113e Added cookie serialization for Laravel v5.6.30 2018-08-21 22:40:14 -07:00
snipe 3c23745508 Bumped to laravel 5.6.30
Lower Laravel versions still triggered Roave/SecurityAdvisories :-/
2018-08-21 20:08:34 -07:00
snipe f6971b8ab2 Fixed #6082 - don’t show expected checkin in email if none given 2018-08-16 14:30:06 -07:00
snipe aed769c0be Honor active status for forgotten password request forms 2018-08-14 20:05:57 -07:00
snipe 1543cdbc61 Set activated checkbox to 1 by default on new user 2018-08-14 18:17:37 -07:00
snipe ce45c3af4e Updated password reset language 2018-08-14 18:11:32 -07:00
snipe 25097bce31 Only allow activated users to reset their password 2018-08-14 18:04:27 -07:00
Till Deeke 62195a805a Adding some comments 2018-08-06 14:47:26 +02:00
Till Deeke 8c96e8fd4b Updates asset acceptance report to show unaccepted assets 2018-08-06 14:47:26 +02:00
Till Deeke 1bdf71b584 Handle side effects of accepting/declining
When declining an asset, it gets checked in.
2018-08-06 14:47:26 +02:00
Till Deeke 8648d53d25 Adds checkout acceptances
A checkout acceptance gets generated for every item that needs to be checked out. This resource tracks the user user who can accept the item and their signature
2018-08-06 14:47:26 +02:00
Till Deeke 6b05106dcb Moves license checkout stuff to the license seat
Since we are really checking out a license seat instead of the whole license, we operate the checkin/checkout on the license seat instance.
2018-08-06 14:47:26 +02:00
Till Deeke 43437aac14 Adds acceptable contract to asset 2018-08-06 14:46:10 +02:00
Till Deeke 830a6cf67e Adds accepting/declining to new controller 2018-08-06 14:46:10 +02:00
Till Deeke 39e6b59335 Fixes some typos 2018-08-06 14:46:10 +02:00
Till Deeke 72b43b6526 Updates checkout notifications to use new routes for accepting 2018-08-06 14:46:10 +02:00
Till Deeke e0423418d2 Moves logging checkin/checkout to separate listener 2018-08-06 14:46:10 +02:00
Till Deeke e24f292a1a Updates checkout events to not depend on log 2018-08-06 14:46:10 +02:00
Till Deeke 17fc59f989 Adds back the checkin/checkout events after #5916 2018-08-06 14:46:10 +02:00
Till Deeke 775e46288e Cleanup of model attributes 2018-08-06 14:46:10 +02:00
Till Deeke 722f032895 Remove notification sending from loggable trait 2018-08-06 14:46:10 +02:00
Till Deeke 112a532618 Listen for checkout events and send appropriate notifications 2018-08-06 14:46:10 +02:00
Till Deeke ef76908fce Listen for checkin events and send the appropriate notifications 2018-08-06 14:46:10 +02:00
Till Deeke 4a71542f23 Cleanup checkin notification constructors 2018-08-06 14:46:10 +02:00
Till Deeke ea64abc607 Adds checkout events 2018-08-06 14:46:10 +02:00
Till Deeke f0acf47101 Adds checkin events 2018-08-06 14:46:10 +02:00
Till Deeke 92a2a5ccbc Adds listeners for checking/checkout events 2018-08-06 14:46:10 +02:00
Daniel Meltzer 2d0df24ef3 Check for an existing username before getting creative. Fixes #6016 (#6039) 2018-08-03 16:35:13 -07:00
snipe 1a660911e7 Check for minimum PHP version in setup 2018-08-02 21:36:18 -07:00
snipe 84f20b6287 Added php version check to upgrade.php 2018-08-02 20:55:52 -07:00
snipe 134bddf4c7 Fixed #6029 - model number not appearing in checkin/checkout emails 2018-08-02 11:43:11 -07:00
Daniel Meltzer e368a20427 Use filled instead of has. (#6033)
I think this merged in a weird order and was missed by the global
find/replace.  This fixes bulkassets/bulkusers editing.

At some point we should look at refactoring BulkAssetsController@edit to
only run one DB query, rather than one per item.
2018-08-02 09:54:19 -07:00
Daniel Meltzer 2637ce56a1 Allow importcontroller to return 200 for failed delete. (#6034) 2018-08-02 09:53:54 -07:00
snipe ffed306ecd Removed old emaol templates (#6026)
Still testing this to make sure it doesn’t break anything else :)
2018-08-01 20:56:32 -07:00
snipe f5a5d830a5 Better handling for deleting imports where the files may have been moved 2018-08-01 20:49:55 -07:00
snipe 9168979d9e Fixed #6027 - added model to asset maintenances listing 2018-08-01 18:24:52 -07:00
snipe 6f8680efa6 Added external link formatter to BS tables 2018-08-01 18:01:31 -07:00
snipe 3f394f42c7 Partial fix for better UI on deleting files
Still needs Vue stuff
2018-08-01 18:01:16 -07:00
snipe b2c99c88bb Fixed #6028 - added supplier url to list view 2018-08-01 17:37:58 -07:00
snipe 9a3683ce7c Remove app_locked 2018-08-01 15:36:20 -07:00
snipe 2fa66f4551 Removed duplicate BACKUP_ENV in example env 2018-08-01 15:27:51 -07:00
snipe a4019c9f63 NIcer UI for activated user + email credentials 2018-08-01 14:18:37 -07:00
snipe 694166862e Added attempted logins admin screen (#6018)
* Added attempted logins admin screen

* Smaller table spacing
2018-08-01 03:51:59 -07:00
snipe 911c2398ef Fixed #6004 - set a default next_audit_date if none provided 2018-08-01 03:04:29 -07:00
snipe a209a92de8 Fixed #6011 - use correct file created at date 2018-08-01 02:43:08 -07:00
snipe 462878a307 Production assets 2018-08-01 00:27:19 -07:00
snipe 3941437ad4 Limit width of title logo so it doesn’t break with long names 2018-08-01 00:27:14 -07:00
snipe 664cc24481 Fixed PR #6002 2018-08-01 00:26:50 -07:00
snipe 2c38036123 Improvement: Better documentation, small refactors (#6017)
* Better documentation, small refactors

* Small comment fixes
2018-08-01 00:06:41 -07:00
Sam 6ae096a56f These changes will allow submissions during the AJAX process in Select2s. This allows for barcode scanners, magstrip and NFC scanners that enter a carriage return. (#6002) 2018-08-01 00:06:28 -07:00
snipe 436bf152ec Config for new bots 2018-07-31 17:40:32 -07:00
snipe b1b5eeecba Fixed #6013 - add accessory checkout notes to detail page 2018-07-31 16:00:38 -07:00
snipe 400913631c Use language strings for bulk password reset 2018-07-30 20:37:19 -07:00
snipe 006a3adea0 Added ability to trigger forgotten password emails for users 2018-07-30 20:31:02 -07:00
Earl Ramirez c2bb3892b7 [WIP] Fix apache default page on ubuntu (#5998)
* Added cron to list of packages

* Updated APP_PATH

* Rename virtual hosts config files
2018-07-30 18:09:37 -07:00
Jason 5c820dd7b8 Added code to snipeit.sh for Raspbian 9.4 install (#5980)
* Added code to snipeit.sh for Raspbian 9.4 install

* More additions to snipeit.sh to install php7.2  on raspian in prep for
version 5

* added public/phpinfo.php to .gitignore

* Deleted phpinfo.php

* removed phpinfo.php from .gitignore
2018-07-27 12:57:39 -07:00
Daniel Meltzer 248fcfa869 Move findLicenseSeatToCheckout back to controller. (#5970)
* Move findLicenseSeatToCheckout back to controller.

After discussion, move findLicenseSeatToCheckout method back to
controller from form request.  Also cleanup one tiny bit more with null
coalesce operator (Yay php 7).

* Revert Earlier change.

$target only exists in the checkoutTo* methods.  Need to log the
checkout individually in each of those.
2018-07-27 12:03:04 -07:00
Daniel Meltzer b58c77c8b8 Feature: Import users department. (#5987)
Maps to the "Department" header key by default.  Bug: #5382
2018-07-27 12:02:18 -07:00
Daniel Meltzer 94c79fa69a Fixed #5964 - Feature: Group IDs can be passed to User Create. (#5990)
Also added to update, and adjusted api tests to confirm.  Long term it
might be nice to look at support for passing group names instead.

Bug: 5964
2018-07-27 12:01:59 -07:00
Daniel Meltzer a3811f632d Licence != License (#5993) 2018-07-27 12:01:25 -07:00
snipe d8f0102204 Merge branch 'features/restore_deleted_cmd' into develop
# Conflicts:
#	config/version.php
#	resources/views/layouts/basic.blade.php
2018-07-27 02:48:13 -07:00
snipe 6b013724aa Uncomment backup 2018-07-26 18:11:51 -07:00
snipe 8774f0cf45 Script to restore deleted users and put their asset assignments back 2018-07-26 18:08:49 -07:00
snipe 8762e158c4 Delete content from login attempts table 2018-07-26 18:08:25 -07:00
Daniel Meltzer 49d95892e3 Port asset history importer to league/csv9 (#5972) 2018-07-26 12:04:21 -07:00
snipe 9618878023 Restrict users asset listing to just assets checked out to users 2018-07-25 21:40:33 -07:00
snipe b267b34762 Make sure there is a settings value 2018-07-25 19:02:35 -07:00
snipe a5daee811b Split out custom_css from custom_header color 2018-07-25 19:00:03 -07:00
snipe 1fd0b14b98 Removed ide-helper config 2018-07-25 12:07:50 -07:00
snipe ce44744dc6 Yoinked ide-helper 2018-07-25 12:07:03 -07:00
snipe c90dee4cf4 Added barryvdh/laravel-ide-helper 2018-07-25 11:58:00 -07:00
snipe 373885ebd1 Use Storage for file uploads (not model images) 2018-07-25 11:57:49 -07:00
snipe a9fd9c9e59 Moved gates to individual controller methods to fix “This action is unauthorized” in route:list 2018-07-25 10:45:32 -07:00
snipe 9535c68dfe Fixed base path in local file driver 2018-07-25 10:44:37 -07:00
snipe 63bf71b071 Use Storage methods for asset/license files 2018-07-25 09:48:50 -07:00
snipe 2e92ef7d77 Removed HTML colspan for bootstrap table in files display 2018-07-25 07:40:04 -07:00
snipe 068ae5805b Set base path for storage default on local disk 2018-07-25 07:39:47 -07:00
snipe 054de06522 Added cache variables to S3 2018-07-25 07:29:23 -07:00
snipe 9a99626b9e Added SFTP to filesystem config 2018-07-25 07:27:31 -07:00
snipe 7a9a78ec53 Make Codacy happy by reversing the signature params 2018-07-25 07:14:16 -07:00
snipe 684a892e8b Removed rackspace for now 2018-07-25 06:59:58 -07:00
snipe 91a9e410df Fixed weird whereNULL 2018-07-25 06:46:06 -07:00
snipe e64e1207cf Reordered PHP versions because anal-retentive 2018-07-25 05:36:54 -07:00
snipe 999c4e781d Update version of PHP for travis 2018-07-25 05:33:28 -07:00
snipe 3df19d267f Fixed Ziggy routes 2018-07-25 03:00:27 -07:00
snipe 501f096a2c Updated spatie backup config file for their latest version 2018-07-25 01:36:30 -07:00
snipe 47ed328f0e Change fire() to handle() for Laravel 5.5 2018-07-25 01:28:44 -07:00
snipe 4cc7ed9ec7 Backup updates 2018-07-25 01:28:30 -07:00
snipe 7af633177a Fixed filledFile back to hasFile 2018-07-24 22:52:49 -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
snipe e6dd90e055 Added footer settings to settings reset 2018-07-24 22:21:16 -07:00
snipe b2968ea6c6 Fixed paths to Aurhorizable/Authenticatable contracts 2018-07-24 21:29:08 -07:00
snipe d81975e168 Laravel 5.6 requirement for filip/whoops 2018-07-24 21:28:37 -07:00
snipe 24c949c886 Bumped version to v5.0.0-pre 2018-07-24 21:13:02 -07:00
snipe de84e1bd88 Added hashing config 2018-07-24 21:13:02 -07:00
snipe 60c4fa1d90 Updated trustedproxy w/config 2018-07-24 21:13:02 -07:00
snipe 3d3ed6ab03 Logging updates for 5.6 2018-07-24 21:13:02 -07:00
snipe 14735057a8 New spatie config file 2018-07-24 21:13:02 -07:00
snipe 75b3c66908 Spatie backup lang updates 2018-07-24 21:13:02 -07:00
snipe 52bd7e4dfb Added language file for spatie 2018-07-24 21:13:02 -07:00
snipe b58314493a Use array for db dump configs 2018-07-24 21:13:02 -07:00
snipe 6ebc653620 Sparie backups config upgrade 2018-07-24 21:13:02 -07:00
snipe f69e34f6ca Applying @dmeltzer’s changes from afc8ac5e72 2018-07-24 21:13:02 -07:00
snipe 7bb50a61a7 Applying @dmeltzer’s changes from afc8ac5e72 2018-07-24 21:13:02 -07:00
snipe 6b31e2aca9 php7 composer 2018-07-24 21:13:02 -07:00
Antti a55a9ca4cd Fix: Made migration run original command for mysql (#5915)
* Fix: Made migration run original command for mysql

* Added sqlite_testing migration

* Review suggested fix
2018-07-24 20:57:47 -07:00
snipe e332442132 Bumped version 2018-07-24 19:45:23 -07:00
Daniel Meltzer 64d649be7f Monster: Cleanup/Refactor http controllers. (#5916)
* Extract a handlesimages trait to centralize logic for parsing/storing images on upload in create/edit methods.

* Use same image upload/layout in accessories as consum+components.

* Monster: Cleanup/Refactor http controllers.

This cleans up docblocks, pulls most non-crudy actions into their own
controllers, and does general cleanup/logic refactoring.  There /should/
be no functional changes, but we all know how should works..

Extract checkin/checkout functions to a separate controller for accessories.

Move controllers to subdirectory.

Cleanup AssetModelsController

Extract component checkin/checkout

Assorted cleanups/doc/formatting in controllers.

Refactor LicenseController.

Refactor UsersController

Update viewassetscontroller.

* Codacy cleanups

* More codacy cleanups.  Extract a LicenseCheckout Form request as well.

* A bit more refactor/cleaning of the license checkout method.

* Review Related Cleanups

* Fix most of the item_not_found translations.  In many cases, the
string being generated did not even use the id parameter.  Where it
does, pass it as id instead of as a different value.

* Remove some old $data arrays from when we manually sent emails from
the controllers.  This has been superseeded by the notification system
(yay!)

* Bugfix: Only log the checkin of an accessory if the checkin completes sucessfully.
2018-07-24 19:35:26 -07:00
6240 changed files with 273776 additions and 249495 deletions
+1303 -1
View File
File diff suppressed because it is too large Load Diff
+44
View File
@@ -0,0 +1,44 @@
version: 1
environment:
php: 8.0
node: 12
services:
- mysql: 5.7
on:
push:
branches:
- master
- develop
pull_request:
branches: .*
pipeline:
- name: Setup
cmd: |
cp -v .env.testing.example .env
cp -v .env.testing.example .env.testing
composer install --no-interaction --prefer-dist --optimize-autoloader
- name: Generate Key
cmd: |
php artisan key:generate --force
- name: Passport Keys
cmd: |
php artisan passport:keys
- name: Run Migrations
cmd: |
php artisan migrate --force
- name: PHPUnit Unit Tests
cmd: |
php artisan test --testsuite Unit
- name: PHPUnit Feature Tests
cmd: |
php artisan test --testsuite Feature
+8
View File
@@ -1,5 +1,13 @@
.git
.github
.gitattributes
.gitignore
.dockerignore
app/storage/logs/*
app/storage/views/*
vendor/*
storage/framework/cache/*
node_modules
.vagrant
.idea
+164
View File
@@ -0,0 +1,164 @@
# --------------------------------------------
# REQUIRED: DB SETUP
# --------------------------------------------
MYSQL_DATABASE=snipeit
MYSQL_USER=snipeit
MYSQL_PASSWORD=changeme1234
MYSQL_ROOT_PASSWORD=changeme1234
# --------------------------------------------
# REQUIRED: BASIC APP SETTINGS
# --------------------------------------------
APP_ENV=develop
APP_DEBUG=false
# please regenerate the APP_KEY value by calling `docker-compose run --rm snipeit bash` and then `php artisan key:generate --show` and then copy paste the value here
APP_KEY=base64:3ilviXqB9u6DX1NRcyWGJ+sjySF+H18CPDGb3+IVwMQ=
APP_URL=http://localhost:8000
APP_TIMEZONE='UTC'
APP_LOCALE=en
MAX_RESULTS=500
# --------------------------------------------
# REQUIRED: UPLOADED FILE STORAGE SETTINGS
# --------------------------------------------
PRIVATE_FILESYSTEM_DISK=local
PUBLIC_FILESYSTEM_DISK=local_public
# --------------------------------------------
# REQUIRED: DATABASE SETTINGS
# --------------------------------------------
DB_CONNECTION=mysql
DB_HOST=mariadb
DB_DATABASE=snipeit
DB_USERNAME=snipeit
DB_PASSWORD=changeme1234
DB_PREFIX=null
DB_DUMP_PATH='/usr/bin'
DB_CHARSET=utf8mb4
DB_COLLATION=utf8mb4_unicode_ci
# --------------------------------------------
# OPTIONAL: SSL DATABASE SETTINGS
# --------------------------------------------
DB_SSL=false
DB_SSL_IS_PAAS=false
DB_SSL_KEY_PATH=null
DB_SSL_CERT_PATH=null
DB_SSL_CA_PATH=null
DB_SSL_CIPHER=null
# --------------------------------------------
# REQUIRED: OUTGOING MAIL SERVER SETTINGS
# --------------------------------------------
MAIL_DRIVER=smtp
MAIL_HOST=mailhog
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDR=you@example.com
MAIL_FROM_NAME='Snipe-IT'
MAIL_REPLYTO_ADDR=you@example.com
MAIL_REPLYTO_NAME='Snipe-IT'
MAIL_AUTO_EMBED_METHOD='attachment'
# --------------------------------------------
# REQUIRED: IMAGE LIBRARY
# This should be gd or imagick
# --------------------------------------------
IMAGE_LIB=gd
# --------------------------------------------
# OPTIONAL: BACKUP SETTINGS
# --------------------------------------------
MAIL_BACKUP_NOTIFICATION_DRIVER=null
MAIL_BACKUP_NOTIFICATION_ADDRESS=null
BACKUP_ENV=true
# --------------------------------------------
# OPTIONAL: SESSION SETTINGS
# --------------------------------------------
SESSION_LIFETIME=12000
EXPIRE_ON_CLOSE=false
ENCRYPT=false
COOKIE_NAME=snipeit_session
COOKIE_DOMAIN=null
SECURE_COOKIES=false
API_TOKEN_EXPIRATION_YEARS=40
# --------------------------------------------
# OPTIONAL: SECURITY HEADER SETTINGS
# --------------------------------------------
APP_TRUSTED_PROXIES=192.168.1.1,10.0.0.1
ALLOW_IFRAMING=false
REFERRER_POLICY=same-origin
ENABLE_CSP=false
CORS_ALLOWED_ORIGINS=null
ENABLE_HSTS=false
# --------------------------------------------
# OPTIONAL: CACHE SETTINGS
# --------------------------------------------
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync
CACHE_PREFIX=snipeit
# --------------------------------------------
# OPTIONAL: REDIS SETTINGS
# --------------------------------------------
REDIS_HOST=redis
REDIS_PASSWORD=null
REDIS_PORT=6379
# --------------------------------------------
# OPTIONAL: MEMCACHED SETTINGS
# --------------------------------------------
MEMCACHED_HOST=null
MEMCACHED_PORT=null
# --------------------------------------------
# OPTIONAL: PUBLIC S3 Settings
# --------------------------------------------
PUBLIC_AWS_SECRET_ACCESS_KEY=null
PUBLIC_AWS_ACCESS_KEY_ID=null
PUBLIC_AWS_DEFAULT_REGION=null
PUBLIC_AWS_BUCKET=null
PUBLIC_AWS_URL=null
PUBLIC_AWS_BUCKET_ROOT=null
# --------------------------------------------
# OPTIONAL: PRIVATE S3 Settings
# --------------------------------------------
PRIVATE_AWS_ACCESS_KEY_ID=null
PRIVATE_AWS_SECRET_ACCESS_KEY=null
PRIVATE_AWS_DEFAULT_REGION=null
PRIVATE_AWS_BUCKET=null
PRIVATE_AWS_URL=null
PRIVATE_AWS_BUCKET_ROOT=null
# --------------------------------------------
# OPTIONAL: AWS Settings
# --------------------------------------------
AWS_ACCESS_KEY_ID=null
AWS_SECRET_ACCESS_KEY=null
AWS_DEFAULT_REGION=null
# --------------------------------------------
# OPTIONAL: LOGIN THROTTLING
# --------------------------------------------
LOGIN_MAX_ATTEMPTS=5
LOGIN_LOCKOUT_DURATION=60
RESET_PASSWORD_LINK_EXPIRES=900
# --------------------------------------------
# OPTIONAL: MISC
# --------------------------------------------
LOG_CHANNEL=stderr
LOG_MAX_DAYS=10
APP_LOCKED=false
APP_CIPHER=AES-256-CBC
GOOGLE_MAPS_API=
LDAP_MEM_LIM=500M
LDAP_TIME_LIM=600
+106
View File
@@ -0,0 +1,106 @@
# --------------------------------------------
# REQUIRED: BASIC APP SETTINGS
# --------------------------------------------
APP_ENV=local
APP_DEBUG=false
APP_KEY=base64:hTUIUh9CP6dQx+6EjSlfWTgbaMaaRvlpEwk45vp+xmk=
APP_URL=http://127.0.0.1:8000
APP_TIMEZONE='US/Eastern'
APP_LOCALE=en
APP_LOCKED=false
MAX_RESULTS=200
# --------------------------------------------
# REQUIRED: UPLOADED FILE STORAGE SETTINGS
# --------------------------------------------
PRIVATE_FILESYSTEM_DISK=local
PUBLIC_FILESYSTEM_DISK=local_public
# --------------------------------------------
# REQUIRED: DATABASE SETTINGS
# --------------------------------------------
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=null
DB_USERNAME=null
DB_PASSWORD=null
DB_PREFIX=null
#DB_DUMP_PATH=
# --------------------------------------------
# OPTIONAL: SSL DATABASE SETTINGS
# --------------------------------------------
DB_SSL=false
DB_SSL_KEY_PATH=null
DB_SSL_CERT_PATH=null
DB_SSL_CA_PATH=null
DB_SSL_CIPHER=null
# --------------------------------------------
# REQUIRED: OUTGOING MAIL SERVER SETTINGS
# --------------------------------------------
MAIL_DRIVER="log"
# --------------------------------------------
# REQUIRED: IMAGE LIBRARY
# This should be gd or imagick
# --------------------------------------------
IMAGE_LIB=gd
# --------------------------------------------
# OPTIONAL: SESSION SETTINGS
# --------------------------------------------
SESSION_LIFETIME=12000
EXPIRE_ON_CLOSE=false
ENCRYPT=true
COOKIE_NAME=snipeit_v5_local
SECURE_COOKIES=true
# --------------------------------------------
# OPTIONAL: SECURITY HEADER SETTINGS
# --------------------------------------------
REFERRER_POLICY=same-origin
ENABLE_CSP=true
CORS_ALLOWED_ORIGINS="*"
# --------------------------------------------
# OPTIONAL: CACHE SETTINGS
# --------------------------------------------
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync
# --------------------------------------------
# OPTIONAL: LOGIN THROTTLING
# --------------------------------------------
LOGIN_MAX_ATTEMPTS=50000
LOGIN_LOCKOUT_DURATION=1000
RESET_PASSWORD_LINK_EXPIRES=15
# --------------------------------------------
# OPTIONAL: API
# --------------------------------------------
API_MAX_REQUESTS_PER_HOUR=200
# --------------------------------------------
# OPTIONAL: SAML SETTINGS
# --------------------------------------------
DISABLE_NOSAML_LOCAL_LOGIN=true
# --------------------------------------------
# OPTIONAL: MISC
# --------------------------------------------
LOG_CHANNEL=single
LOG_LEVEL=debug
LOG_CHANNEL=stack
LOG_SLACK_WEBHOOK_URL=null
APP_TRUSTED_PROXIES=192.168.1.1,10.0.0.1
ALLOW_IFRAMING=true
ENABLE_HSTS=false
WARN_DEBUG=false
APP_CIPHER=AES-256-CBC
+90 -12
View File
@@ -7,12 +7,24 @@ APP_KEY=ChangeMe
APP_URL=null
APP_TIMEZONE='UTC'
APP_LOCALE=en
MAX_RESULTS=500
# --------------------------------------------
# REQUIRED: UPLOADED FILE STORAGE SETTINGS
# --------------------------------------------
PRIVATE_FILESYSTEM_DISK=local
PUBLIC_FILESYSTEM_DISK=local_public
#PRIVATE_FILESYSTEM_DISK=s3_private
#PUBLIC_FILESYSTEM_DISK=s3_public
# --------------------------------------------
# REQUIRED: DATABASE SETTINGS
# --------------------------------------------
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=null
DB_USERNAME=null
DB_PASSWORD=null
@@ -25,6 +37,7 @@ DB_COLLATION=utf8mb4_unicode_ci
# OPTIONAL: SSL DATABASE SETTINGS
# --------------------------------------------
DB_SSL=false
DB_SSL_IS_PAAS=false
DB_SSL_KEY_PATH=null
DB_SSL_CERT_PATH=null
DB_SSL_CA_PATH=null
@@ -43,6 +56,7 @@ MAIL_FROM_ADDR=you@example.com
MAIL_FROM_NAME='Snipe-IT'
MAIL_REPLYTO_ADDR=you@example.com
MAIL_REPLYTO_NAME='Snipe-IT'
MAIL_AUTO_EMBED_METHOD='attachment'
# --------------------------------------------
# REQUIRED: IMAGE LIBRARY
@@ -50,27 +64,43 @@ MAIL_REPLYTO_NAME='Snipe-IT'
# --------------------------------------------
IMAGE_LIB=gd
# --------------------------------------------
# OPTIONAL: BACKUP SETTINGS
# --------------------------------------------
MAIL_BACKUP_NOTIFICATION_DRIVER=null
MAIL_BACKUP_NOTIFICATION_ADDRESS=null
BACKUP_ENV=true
ALLOW_BACKUP_DELETE=false
ALLOW_DATA_PURGE=false
# --------------------------------------------
# OPTIONAL: SESSION SETTINGS
# --------------------------------------------
SESSION_DRIVER=file
SESSION_LIFETIME=12000
EXPIRE_ON_CLOSE=false
ENCRYPT=false
COOKIE_NAME=snipeit_session
COOKIE_DOMAIN=null
SECURE_COOKIES=false
API_TOKEN_EXPIRATION_YEARS=15
BS_TABLE_STORAGE=cookieStorage
# --------------------------------------------
# OPTIONAL: SECURITY HEADER SETTINGS
# --------------------------------------------
APP_TRUSTED_PROXIES=192.168.1.1,10.0.0.1
ALLOW_IFRAMING=false
REFERRER_POLICY=same-origin
ENABLE_CSP=false
CORS_ALLOWED_ORIGINS=null
ENABLE_HSTS=false
# --------------------------------------------
# OPTIONAL: CACHE SETTINGS
# --------------------------------------------
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync
CACHE_PREFIX=snipeit
@@ -88,28 +118,76 @@ MEMCACHED_HOST=null
MEMCACHED_PORT=null
# --------------------------------------------
# OPTIONAL: AWS S3 SETTINGS
# OPTIONAL: PUBLIC S3 Settings
# --------------------------------------------
AWS_SECRET=null
AWS_KEY=null
AWS_REGION=null
AWS_BUCKET=null
PUBLIC_AWS_SECRET_ACCESS_KEY=null
PUBLIC_AWS_ACCESS_KEY_ID=null
PUBLIC_AWS_DEFAULT_REGION=null
PUBLIC_AWS_BUCKET=null
PUBLIC_AWS_URL=null
PUBLIC_AWS_BUCKET_ROOT=null
# --------------------------------------------
# OPTIONAL: PRIVATE S3 Settings
# --------------------------------------------
PRIVATE_AWS_ACCESS_KEY_ID=null
PRIVATE_AWS_SECRET_ACCESS_KEY=null
PRIVATE_AWS_DEFAULT_REGION=null
PRIVATE_AWS_BUCKET=null
PRIVATE_AWS_URL=null
PRIVATE_AWS_BUCKET_ROOT=null
# --------------------------------------------
# OPTIONAL: AWS Settings
# --------------------------------------------
AWS_ACCESS_KEY_ID=null
AWS_SECRET_ACCESS_KEY=null
AWS_DEFAULT_REGION=null
# --------------------------------------------
# OPTIONAL: LOGIN THROTTLING
# --------------------------------------------
LOGIN_MAX_ATTEMPTS=5
LOGIN_LOCKOUT_DURATION=60
LOGIN_AUTOCOMPLETE=false
# --------------------------------------------
# OPTIONAL: FORGOTTEN PASSWORD SETTINGS
# --------------------------------------------
RESET_PASSWORD_LINK_EXPIRES=15
PASSWORD_CONFIRM_TIMEOUT=10800
PASSWORD_RESET_MAX_ATTEMPTS_PER_MIN=50
# --------------------------------------------
# OPTIONAL: MISC
# --------------------------------------------
APP_LOG=single
APP_LOG_MAX_FILES=10
LOG_CHANNEL=single
LOG_MAX_DAYS=10
APP_LOCKED=false
FILESYSTEM_DISK=local
APP_TRUSTED_PROXIES=192.168.1.1,10.0.0.1
ALLOW_IFRAMING=false
APP_CIPHER=AES-256-CBC
APP_FORCE_TLS=false
APP_ALLOW_INSECURE_HOSTS=false
GOOGLE_MAPS_API=
BACKUP_ENV=true
LDAP_MEM_LIM=500M
LDAP_TIME_LIM=600
IMPORT_TIME_LIMIT=600
IMPORT_MEMORY_LIMIT=500M
REPORT_TIME_LIMIT=12000
REQUIRE_SAML=false
API_THROTTLE_PER_MINUTE=120
CSV_ESCAPE_FORMULAS=true
# --------------------------------------------
# OPTIONAL: HASHING
# --------------------------------------------
HASHING_DRIVER='bcrypt'
BCRYPT_ROUNDS=10
ARGON_MEMORY=1024
ARGON_THREADS=2
ARGON_TIME=2
# --------------------------------------------
# OPTIONAL: SCIM
# --------------------------------------------
SCIM_TRACE=false
SCIM_STANDARDS_COMPLIANCE=false
-72
View File
@@ -1,72 +0,0 @@
# --------------------------------------------
# REQUIRED: BASIC APP SETTINGS
# --------------------------------------------
APP_ENV=testing
APP_DEBUG=true
APP_KEY=base64:glJpcM7BYwWiBggp3SQ/+NlRkqsBQMaGEOjemXqJzOU=
APP_URL=http://localhost:8000
APP_TIMEZONE='US/Pacific'
APP_LOCALE=en
FILESYSTEM_DISK=local
# --------------------------------------------
# REQUIRED: DATABASE SETTINGS
# --------------------------------------------
DB_CONNECTION=sqlite_testing
DB_HOST=localhost
DB_DATABASE=testing.sqlite
DB_USERNAME=null
DB_PASSWORD=null
# --------------------------------------------
# REQUIRED: OUTGOING MAIL SERVER SETTINGS
# --------------------------------------------
MAIL_DRIVER=log
MAIL_HOST=email-smtp.us-west-2.amazonaws.com
MAIL_PORT=587
MAIL_USERNAME=YOURUSERNAME
MAIL_PASSWORD=YOURPASSWORD
MAIL_ENCRYPTION=null
MAIL_FROM_ADDR=you@example.com
MAIL_FROM_NAME=Snipe-IT
# --------------------------------------------
# REQUIRED: IMAGE LIBRARY
# This should be gd or imagick
# --------------------------------------------
IMAGE_LIB=gd
# --------------------------------------------
# OPTIONAL: AWS S3 SETTINGS
# --------------------------------------------
AWS_SECRET=null
AWS_KEY=null
AWS_REGION=null
AWS_BUCKET=null
# --------------------------------------------
# OPTIONAL: CACHE SETTINGS
# --------------------------------------------
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync
# --------------------------------------------
# OPTIONAL: SESSION SETTINGS
# --------------------------------------------
SESSION_LIFETIME=12000
EXPIRE_ON_CLOSE=false
ENCRYPT=false
COOKIE_NAME=snipeittest_session
COOKIE_DOMAIN=null
SECURE_COOKIES=false
# --------------------------------------------
# OPTIONAL: APP LOG FORMAT
# --------------------------------------------
APP_LOG=single
APP_LOG_LEVEL=debug
+9 -42
View File
@@ -1,10 +1,10 @@
# --------------------------------------------
# REQUIRED: BASIC APP SETTINGS
# --------------------------------------------
APP_ENV=testing-ci
APP_DEBUG=true
APP_KEY=ChangeMe
APP_URL=http://localhost:8000
APP_ENV='testing-ci'
APP_DEBUG=false
APP_KEY='base64:glJpcM7BYwWiBggp3SQ/+NlRkqsBQMaGEOjemXqJzOU='
APP_URL='http://localhost:8000'
APP_TIMEZONE='US/Pacific'
APP_LOCALE=en
FILESYSTEM_DISK=local
@@ -12,9 +12,10 @@ FILESYSTEM_DISK=local
# --------------------------------------------
# REQUIRED: DATABASE SETTINGS
# --------------------------------------------
DB_CONNECTION=mysql
DB_CONNECTION=sqlite
DB_HOST=localhost
DB_DATABASE=snipeit_unit
DB_PORT=3306
DB_DATABASE='sqlite_testing'
DB_USERNAME=root
DB_PASSWORD=null
@@ -22,13 +23,7 @@ DB_PASSWORD=null
# REQUIRED: OUTGOING MAIL SERVER SETTINGS
# --------------------------------------------
MAIL_DRIVER=log
MAIL_HOST=email-smtp.us-west-2.amazonaws.com
MAIL_PORT=587
MAIL_USERNAME=YOURUSERNAME
MAIL_PASSWORD=YOURPASSWORD
MAIL_ENCRYPTION=null
MAIL_FROM_ADDR=you@example.com
MAIL_FROM_NAME=Snipe-IT
# --------------------------------------------
# REQUIRED: IMAGE LIBRARY
@@ -37,35 +32,7 @@ MAIL_FROM_NAME=Snipe-IT
IMAGE_LIB=gd
# --------------------------------------------
# OPTIONAL: AWS S3 SETTINGS
# --------------------------------------------
AWS_SECRET=null
AWS_KEY=null
AWS_REGION=null
AWS_BUCKET=null
# --------------------------------------------
# OPTIONAL: CACHE SETTINGS
# --------------------------------------------
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync
# --------------------------------------------
# OPTIONAL: SESSION SETTINGS
# --------------------------------------------
SESSION_LIFETIME=12000
EXPIRE_ON_CLOSE=false
ENCRYPT=false
COOKIE_NAME=snipeittest_session
COOKIE_DOMAIN=null
SECURE_COOKIES=false
# --------------------------------------------
# OPTIONAL: APP LOG FORMAT
# --------------------------------------------
APP_LOG=single
LOG_CHANNEL=single
+19
View File
@@ -0,0 +1,19 @@
# --------------------------------------------
# REQUIRED: BASIC APP SETTINGS
# --------------------------------------------
APP_ENV=testing
APP_DEBUG=true
APP_KEY=base64:glJpcM7BYwWiBggp3SQ/+NlRkqsBQMaGEOjemXqJzOU=
APP_URL=http://localhost:8000
APP_TIMEZONE='UTC'
APP_LOCALE=en
# --------------------------------------------
# REQUIRED: DATABASE SETTINGS
# --------------------------------------------
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=null
DB_USERNAME=null
DB_PASSWORD=null
+1
View File
@@ -4,6 +4,7 @@ APP_URL=http://snipe-it.localapp
DB_CONNECTION=mysql
DB_DEFAULT=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=snipeittests
DB_USERNAME=snipeit
DB_PASSWORD=snipe
+1
View File
@@ -4,6 +4,7 @@ APP_URL=http://snipe-it.localapp
DB_CONNECTION=sqlite_testing
DB_DEFAULT=sqlite_testing
DB_HOST=localhost
DB_PORT=3306
APP_KEY=base64:tu9NRh/a6+dCXBDGvg0Gv/0TcABnFsbT4AKxrr8mwQo=
+3 -1
View File
@@ -1 +1,3 @@
* text=auto
* text=auto
public/js/** binary
public/css/** binary
+1 -1
View File
@@ -15,8 +15,8 @@
# *.js @octocat @github/js
app/Importer/* @dmeltzer
app/Http/Controllers/CustomFields* @uberbrady
app/Http/Controllers/Api/CustomFields* @uberbrady
resources/views/custom_fields/* @uberbrady
docker/* @uberbrady
app/Providers/SamlServiceProvider.php @uberbrady
-61
View File
@@ -1,61 +0,0 @@
---
name: Bug report
about: Create a report to help us improve
---
#### Please confirm you have done the following before posting your bug report:
- [ ] I have enabled debug mode
- [ ] I have read [checked the Common Issues page](https://snipe-it.readme.io/docs/common-issues)
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Server (please complete the following information):**
- Snipe-IT Version
- OS: [e.g. Ubuntu, CentOS]
- Web Server: [e.g. Apache, IIS]
- PHP Version
**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]
**Smartphone (please complete the following information):**
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]
**Error Messages**
- WITH DEBUG TURNED ON, if you're getting an error in your browser, include that error
- 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 reproducible on the demo: https://snipeitapp.com/demo.
- Include any additional information you can find in `storage/logs` and your webserver's logs.
**Additional context**
- Is this a fresh install or an upgrade?
- What OS and web server you're running Snipe-IT on
- What method you used to install Snipe-IT (install.sh, manual installation, docker, etc)
- Include what you've done so far in the installation, and if you got any error messages along the way.
- Indicate whether or not you've manually edited any data directly in the database
Add any other context about the problem here.
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.
-23
View File
@@ -1,23 +0,0 @@
---
name: Feature request
about: Suggest an idea for this project
---
**Server (please complete the following information):**
- Snipe-IT Version
- OS: [e.g. Ubuntu, CentOS]
- Web Server: [e.g. Apache, IIS]
- PHP Version
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.
+129
View File
@@ -0,0 +1,129 @@
name: Bug Report
description: Create a report to help us improve
body:
- type: checkboxes
attributes:
label: Debug mode
description: Please confirm you have done the following before posting your bug report
options:
- label: I have enabled debug mode
required: true
- label: I have read [checked the Common Issues page](https://snipe-it.readme.io/docs/common-issues)
required: true
- type: textarea
attributes:
label: Describe the bug
description: A clear and concise description of what the bug is.
validations:
required: true
- type: textarea
attributes:
label: Reproduction steps
description: Steps to reproduce the behavior.
value: |
1.
2.
3.
...
validations:
required: true
- type: textarea
attributes:
label: Expected behavior
description: A clear and concise description of what you expected to happen.
validations:
required: true
- type: textarea
attributes:
label: Screenshots
description: 'If applicable, add screenshots to help explain your problem.'
- type: markdown
attributes:
value: "### Server"
- type: input
attributes:
label: Snipe-IT Version
validations:
required: true
- type: input
id: server_operatingSystem
attributes:
label: Operating System
description: 'e.g. Ubuntu, Windows'
validations:
required: true
- type: input
attributes:
label: Web Server
description: 'e.g. Apache, IIS'
validations:
required: true
- type: input
attributes:
label: PHP Version
validations:
required: true
- type: markdown
attributes:
value: "### Desktop"
- type: input
id: desktop_operatingSystem
attributes:
label: Operating System
description: 'e.g. Ubuntu, Windows'
- type: input
id: desktop_browser
attributes:
label: Browser
description: 'e.g. Google Chrome, Safari'
- type: input
id: desktop_version
attributes:
label: Version
description: 'e.g. 93'
- type: markdown
attributes:
value: "### Mobile"
- type: input
attributes:
label: Device
description: 'e.g. iPhone 6, Pixel 4a'
- type: input
id: mobile_operatingSystem
attributes:
label: Operating System
description: 'e.g. iOS 8.1, Android 9'
- type: input
id: mobile_browser
attributes:
label: Browser
description: 'e.g. Google Chrome, Safari'
- type: input
id: mobile_version
attributes:
label: Version
description: 'e.g. 93'
- type: textarea
attributes:
label: Error messages
description: |
WITH DEBUG TURNED ON, if you're getting an error in your browser, include that error
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 reproducible on the demo: https://snipeitapp.com/demo.
Include any additional information you can find in `storage/logs` and your webserver's logs.
Include the output from `php -m` (this should display what modules you have enabled.)
render: shell
- type: textarea
attributes:
label: Additional context
description: |
Is this a fresh install or an upgrade?
What OS and web server you're running Snipe-IT on
What method you used to install Snipe-IT (install.sh, manual installation, docker, etc)
Include what you've done so far in the installation, and if you got any error messages along the way.
Indicate whether or not you've manually edited any data directly in the database
Add any other context about the problem here.
- type: markdown
attributes:
value: 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.
+1
View File
@@ -0,0 +1 @@
blank_issues_enabled: false
@@ -0,0 +1,25 @@
name: Feature Request
description: Suggest an idea for this project
title: "[Feature Request]: "
labels: ["feature request"]
body:
- type: textarea
attributes:
label: Is your feature request related to a problem? Please describe.
description: A clear and concise description of what the problem is. The more information you can provide about your use-case, the more liklely we are to consider your feature.
validations:
required: true
- type: textarea
attributes:
label: Describe the solution you'd like
description: A clear and concise description of what you want to happen.
validations:
required: true
- type: textarea
attributes:
label: Describe alternatives you've considered
description: A clear and concise description of any alternative solutions or features you've considered.
- type: textarea
attributes:
label: Additional context
description: Add any other context or screenshots about the feature request here.
+22
View File
@@ -0,0 +1,22 @@
frontend: ["*.js", "*.css", "*.vue", "*.scss", "*.less", "*.blade.*", "resources/views/livewire/*"]
skins: ["*.js", "*.css", "*.scss", "*.less"]
css: ["*.css","*.scss", "*.less"]
javascript: ["*.js", "package.json", "package.lock"]
backend: ["/app/*", "composer.json", "composer.lock"]
translations: ["/resources/lang"]
livewire: ["/app/Http/Livewire/*", "resources/views/livewire/*"]
backups: ["*backup*"]
restore: ["*restore*"]
saml: ["*saml*"]
scim: ["*scim*"]
custom fields: ["*fields*", "*fieldsets*"]
dependencies: ["composer.json", "composer.lock", "package.json", "package.lock"]
consumables: ["*consumables*"]
api: ["/app/Http/Controllers/Api/*"]
notifications: ["/app/Notifications/*"]
importer: ["/app/Importer/*","/app/Http/Livewire/Importer.php", "resources/views/livewire/importer.php"]
cli / artisan: ["/app/Console/*"]
LDAP: ["*Ldap*", "/app/Console/Commands/Ldap*","/app/Models/Ldap.php"]
docker: ["*docker/*", "Dockerfile", "Dockerfile.alpine", "Dockerfile.fpm-alpine", ".dockerignore", ".env.docker"]
tests: ["/tests/*", "/stubs"]
config: .github
+33
View File
@@ -0,0 +1,33 @@
# Configuration for new-issue-welcome - https://github.com/behaviorbot/new-issue-welcome
# Comment to be posted to on first time issues
newIssueWelcomeComment: |
👋 Thanks for opening your first issue here! If you're reporting a 🐞 bug, please make sure you include steps to reproduce it. We get a lot of issues on this repo, so please be patient and we will get back to you as soon as we can.
# Configuration for new-pr-welcome - https://github.com/behaviorbot/new-pr-welcome
# Comment to be posted to on PRs from first time contributors in your repository
newPRWelcomeComment: |
💖 Thanks for this pull request! 💖
We use [semantic commit messages](https://snipe-it.readme.io/docs/contributing-overview#section-pull-request-guidelines) to streamline the release process and easily generate changelogs between versions. Before your pull request can be merged, you should **update your pull request title** to start with a semantic prefix if it doesn't have one already.
Examples of commit messages with semantic prefixes:
- `Fixed #<issue number>: don't overwrite prevent_default if default wasn't prevented`
- `Added #<issue number>: add checkout functionality to assets`
- `Improved Asset Checkout: use new notification method for checkout`
Things that will help get your PR across the finish line:
- Document any user-facing changes you've made.
- Include tests when adding/changing behavior.
- Include screenshots and animated GIFs whenever possible.
We get a lot of pull requests on this repo, so please be patient and we will get back to you as soon as we can.
# Configuration for first-pr-merge - https://github.com/behaviorbot/first-pr-merge
# Comment to be posted to on pull requests merged by a first time user
firstPRMergeComment: >
Congrats on merging your first pull request! 🎉🎉🎉
+6
View File
@@ -0,0 +1,6 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
+40
View File
@@ -0,0 +1,40 @@
# Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context, providing screenshots where practical. List any dependencies that are required for this change.
Fixes # (issue)
## Type of change
Please delete options that are not relevant.
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] This change requires a documentation update
# How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
- [ ] Test A
- [ ] Test B
**Test Configuration**:
* PHP version:
* MySQL version
* Webserver version
* OS version
# Checklist:
- [ ] I have read the Contributing documentation available here: https://snipe-it.readme.io/docs/contributing-overview
- [ ] I have formatted this PR according to the project guidelines: https://snipe-it.readme.io/docs/contributing-overview#pull-request-guidelines
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
+7
View File
@@ -0,0 +1,7 @@
# Configuration for weekly-digest - https://github.com/apps/weekly-digest
publishDay: sun
canPublishIssues: true
canPublishPullRequests: true
canPublishContributors: true
canPublishStargazers: true
canPublishCommits: true
+39
View File
@@ -0,0 +1,39 @@
# This workflow checks out code, performs a CodeQL analysis (for JavaScript) and integrates the results
# with the GitHub Advanced Security code scanning feature.
# More information: https://codeql.github.com/
name: CodeQL Security Scan
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
# schedule:
# - cron: '15 17 * * 1'
jobs:
analyze:
name: CodeQL Security Scan
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write
strategy:
fail-fast: false
matrix:
language: [ 'javascript' ]
steps:
- name: Checkout repository
uses: actions/checkout@v3.3.0
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
with:
languages: ${{ matrix.language }}
- name: Autobuild
uses: github/codeql-action/autobuild@v2
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
+57
View File
@@ -0,0 +1,57 @@
# This workflow checks out code, performs a Codacy security scan
# and integrates the results with the
# GitHub Advanced Security code scanning feature. For more information on
# the Codacy security scan action usage and parameters, see
# https://github.com/codacy/codacy-analysis-cli-action.
# For more information on Codacy Analysis CLI in general, see
# https://github.com/codacy/codacy-analysis-cli.
name: Codacy Security Scan
on:
push:
branches: [ master ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ master ]
schedule:
- cron: '36 23 * * 3'
permissions:
contents: read
jobs:
codacy-security-scan:
# Ensure schedule job never runs on forked repos. It's only executed for 'snipe/snipe-it'
permissions:
contents: read # for actions/checkout to fetch code
security-events: write # for github/codeql-action/upload-sarif to upload SARIF results
if: (github.repository == 'snipe/snipe-it') || ((github.repository != 'snipe/snipe-it') && (github.event_name != 'schedule'))
name: Codacy Security Scan
runs-on: ubuntu-latest
steps:
# Checkout the repository to the GitHub Actions runner
- name: Checkout code
uses: actions/checkout@v3.3.0
# Execute Codacy Analysis CLI and generate a SARIF output with the security issues identified during the analysis
- name: Run Codacy Analysis CLI
uses: codacy/codacy-analysis-cli-action@v4.3.0
with:
# Check https://github.com/codacy/codacy-analysis-cli#project-token to get your project token from your Codacy repository
# You can also omit the token and run the tools that support default configurations
project-token: ${{ secrets.CODACY_PROJECT_TOKEN }}
verbose: true
output: results.sarif
format: sarif
# Adjust severity of non-security issues
gh-code-scanning-compat: true
# Force 0 exit code to allow SARIF file generation
# This will handover control about PR rejection to the GitHub side
max-allowed-issues: 2147483647
# Upload the SARIF file generated in the previous step
- name: Upload SARIF results file
uses: github/codeql-action/upload-sarif@v2
with:
sarif_file: results.sarif
+21
View File
@@ -0,0 +1,21 @@
name: Crowdin Action
on:
push:
branches: [ develop ]
jobs:
upload-sources-to-crowdin:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Crowdin push
uses: crowdin/github-action@v1
with:
upload_sources: true
upload_translations: false
download_translations: false
project_id: ${{ secrets.CROWDIN_PROJECT_ID }}
token: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}
+85
View File
@@ -0,0 +1,85 @@
# Snipe-IT (Alpine) Docker image build for hub.docker.com
name: Docker images (Alpine)
# Run this Build for all pushes to 'master' or develop branch, or tagged releases.
# Also run for PRs to ensure PR doesn't break Docker build process
on:
push:
branches:
- master
- develop
tags:
- 'v**'
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
pull_request:
permissions:
contents: read
jobs:
docker:
# Ensure this job never runs on forked repos. It's only executed for 'snipe/snipe-it'
if: github.repository == 'snipe/snipe-it'
runs-on: ubuntu-latest
env:
# Define tags to use for Docker images based on Git tags/branches (for docker/metadata-action)
# For a new commit on default branch (master), use the literal tag 'latest' on Docker image.
# For a new commit on other branches, use the branch name as the tag for Docker image.
# For a new tag, copy that tag name as the tag for Docker image.
IMAGE_TAGS: |
type=raw,value=latest,enable=${{ endsWith(github.ref, github.event.repository.default_branch) }},suffix=-alpine
type=ref,event=branch,enable=${{ !endsWith(github.ref, github.event.repository.default_branch) }},suffix=-alpine
type=ref,event=tag,suffix=-alpine
# Define default tag "flavor" for docker/metadata-action per
# https://github.com/docker/metadata-action#flavor-input
# We turn off 'latest' tag by default.
TAGS_FLAVOR: |
latest=false
steps:
# https://github.com/actions/checkout
- name: Checkout codebase
uses: actions/checkout@v3.3.0
# https://github.com/docker/setup-buildx-action
- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v2
# https://github.com/docker/login-action
- name: Login to DockerHub
# Only login if not a PR, as PRs only trigger a Docker build and not a push
if: github.event_name != 'pull_request'
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_ACCESS_TOKEN }}
###############################################
# Build/Push the 'snipe/snipe-it' image
###############################################
# https://github.com/docker/metadata-action
# Get Metadata for docker_build step below
- name: Sync metadata (tags, labels) from GitHub to Docker for 'snipe-it' image
id: meta_build
uses: docker/metadata-action@v4
with:
images: snipe/snipe-it
tags: ${{ env.IMAGE_TAGS }}
flavor: ${{ env.TAGS_FLAVOR }}
# https://github.com/docker/build-push-action
- name: Build and push 'snipe-it' image
id: docker_build
uses: docker/build-push-action@v4
with:
context: .
file: ./Dockerfile.alpine
platforms: linux/amd64,linux/arm64
# For pull requests, we run the Docker build (to ensure no PR changes break the build),
# but we ONLY do an image push to DockerHub if it's NOT a PR
push: ${{ github.event_name != 'pull_request' }}
# Use tags / labels provided by 'docker/metadata-action' above
tags: ${{ steps.meta_build.outputs.tags }}
labels: ${{ steps.meta_build.outputs.labels }}
+85
View File
@@ -0,0 +1,85 @@
# Snipe-IT Docker image build for hub.docker.com
name: Docker images
# Run this Build for all pushes to 'master' or develop branch, or tagged releases.
# Also run for PRs to ensure PR doesn't break Docker build process
on:
push:
branches:
- master
- develop
tags:
- 'v**'
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
pull_request:
permissions:
contents: read
jobs:
docker:
# Ensure this job never runs on forked repos. It's only executed for 'snipe/snipe-it'
if: github.repository == 'snipe/snipe-it'
runs-on: ubuntu-latest
env:
# Define tags to use for Docker images based on Git tags/branches (for docker/metadata-action)
# For a new commit on default branch (master), use the literal tag 'latest' on Docker image.
# For a new commit on other branches, use the branch name as the tag for Docker image.
# For a new tag, copy that tag name as the tag for Docker image.
IMAGE_TAGS: |
type=raw,value=latest,enable=${{ endsWith(github.ref, github.event.repository.default_branch) }}
type=ref,event=branch,enable=${{ !endsWith(github.ref, github.event.repository.default_branch) }}
type=ref,event=tag
# Define default tag "flavor" for docker/metadata-action per
# https://github.com/docker/metadata-action#flavor-input
# We turn off 'latest' tag by default.
TAGS_FLAVOR: |
latest=false
steps:
# https://github.com/actions/checkout
- name: Checkout codebase
uses: actions/checkout@v3.3.0
# https://github.com/docker/setup-buildx-action
- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v2
# https://github.com/docker/login-action
- name: Login to DockerHub
# Only login if not a PR, as PRs only trigger a Docker build and not a push
if: github.event_name != 'pull_request'
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_ACCESS_TOKEN }}
###############################################
# Build/Push the 'snipe/snipe-it' image
###############################################
# https://github.com/docker/metadata-action
# Get Metadata for docker_build step below
- name: Sync metadata (tags, labels) from GitHub to Docker for 'snipe-it' image
id: meta_build
uses: docker/metadata-action@v4
with:
images: snipe/snipe-it
tags: ${{ env.IMAGE_TAGS }}
flavor: ${{ env.TAGS_FLAVOR }}
# https://github.com/docker/build-push-action
- name: Build and push 'snipe-it' image
id: docker_build
uses: docker/build-push-action@v4
with:
context: .
file: ./Dockerfile
platforms: linux/amd64,linux/arm64
# For pull requests, we run the Docker build (to ensure no PR changes break the build),
# but we ONLY do an image push to DockerHub if it's NOT a PR
push: ${{ github.event_name != 'pull_request' }}
# Use tags / labels provided by 'docker/metadata-action' above
tags: ${{ steps.meta_build.outputs.tags }}
labels: ${{ steps.meta_build.outputs.labels }}
+73
View File
@@ -0,0 +1,73 @@
name: Tests
on:
push:
branches:
- master
- develop
pull_request:
jobs:
tests:
runs-on: ubuntu-latest
services:
mysql:
image: mysql:5.7
env:
MYSQL_ALLOW_EMPTY_PASSWORD: yes
MYSQL_DATABASE: snipeit
ports:
- 33306:3306
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
strategy:
fail-fast: false
matrix:
php-version:
- "7.4"
- "8.0"
- "8.1.1"
name: PHP ${{ matrix.php-version }}
steps:
- uses: shivammathur/setup-php@v2
with:
php-version: "${{ matrix.php-version }}"
coverage: none
- uses: actions/checkout@v3
- name: Get Composer Cache Directory
id: composer-cache
run: |
echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
- uses: actions/cache@v3
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-${{ matrix.php-version }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: |
${{ runner.os }}-composer-
- name: Copy .env
run: |
cp -v .env.testing.example .env
cp -v .env.testing.example .env.testing
- name: Install Dependencies
run: composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist
- name: Generate key
run: php artisan key:generate
- name: Directory Permissions
run: chmod -R 777 storage bootstrap/cache
- name: Execute tests (Unit and Feature tests) via PHPUnit
env:
DB_CONNECTION: mysql
DB_DATABASE: snipeit
DB_PORT: ${{ job.services.mysql.ports[3306] }}
DB_USERNAME: root
run: php artisan test --parallel
+17 -1
View File
@@ -1,6 +1,8 @@
.couscous
.DS_Store
.env
.env.testing
phpstan.neon
.idea
/bin/
/bootstrap/compiled.php
@@ -48,6 +50,20 @@ tests/_support/_generated/*
/npm-debug.log
/storage/oauth-private.key
/storage/oauth-public.key
logs/*
*.cache
.vagrant
*.log
*.retry
\.php_cs\.dist
phpmd\.xml
/public/storage
_ide_helper.php
.phpstorm.meta.php
_ide_helper_models.php
/.phplint-cache
storage/ldap_client_tls.cert
storage/ldap_client_tls.key
+9 -1
View File
@@ -5,7 +5,15 @@
# Make sure .env files not not browseable if in a sub-directory.
<FilesMatch "\.env$">
Deny from all
# Apache 2.2
<IfModule !authz_core_module>
Deny from all
</IfModule>
# Apache 2.4+
<IfModule authz_core_module>
Require all denied
</IfModule>
</FilesMatch>
</IfModule>
+1
View File
@@ -0,0 +1 @@
v18.16.0
-84
View File
@@ -1,84 +0,0 @@
addons:
code_climate:
repo_token:
secure: "C/bUAEpwfZB82dkzI2Nxx3PW5w/BzbKkSyCkp6YjT046jD2/QKvz6ngCFlt3tAWV11TXWFI6D8DzkMmdWOrQl3SGlPZXRD8QOvCiz0HiGMDvlxjAaPaQecGaQZdx/H4m6xTUXRNUVaYmxlMgkkFCWhAp+HZDs0iyOEVamp0Jszg="
hosts:
- localhost
sudo: false
# see http://about.travis-ci.org/docs/user/languages/php/ for more hints
language: php
services:
- mysql
# list any PHP version you want to test against
php:
- 5.6
- 7.0
- 7.1
- 7.2
- 7.3
matrix:
allow_failures:
- php: 7.3
# execute any number of scripts before the test run, custom env's are available as variables
before_script:
- phpenv config-add .github/travis-memory.ini
- phantomjs --webdriver=4444 &
- sleep 4
- mysql -e 'CREATE DATABASE snipeit_unit;'
- mysql -e 'CREATE USER "travis'@'localhost";'
- mysql -e 'GRANT ALL PRIVILEGES ON * . * TO "travis'@'localhost";'
- mysql -e 'FLUSH PRIVILEGES;'
- composer self-update
- composer install -n --prefer-source
- chmod -R 777 storage
- php artisan migrate --env=testing-ci --database=mysql --force
- ./vendor/bin/codecept build
- php artisan --env=testing-ci key:generate
- php artisan --env=testing-ci snipeit:travisci-install
- php artisan --env=testing-ci db:seed --database=mysql --force
- php artisan --env=testing-ci snipeit:create-admin --first_name=Alison --last_name=Foobar --email=me@example.com --username=snipe --password=password
- php artisan --env=testing-ci passport:install
- php artisan serve --env=testing-ci --port=8000 --host=localhost &
- sleep 5
- pip install --user codecov
- sleep 5
# omitting "script:" will default to phpunit
# use the $DB env variable to determine the phpunit.xml to use
# script: ./vendor/bin/codecept run --env testing-ci
script:
- ./vendor/bin/codecept run unit
# - ./vendor/bin/codecept run acceptance --env=testing-ci
- ./vendor/bin/codecept run functional --env=functional-travis -g func1
- ./vendor/bin/codecept run functional --env=functional-travis -g func2
- ./vendor/bin/codecept run api --env=functional-travis
after_script:
- vendor/bin/test-reporter
after_success:
- codecov
after_failure:
- cat tests/_output/*.fail.html
- curl http://localhost:8000/login
- cat storage/logs/laravel.log
# configure notifications (email, IRC, campfire etc)
notifications:
email: false
slack:
secure: vv9we1RxB9RsrMbomSdq6D7vz/okobw87pEkgIZjB+hj1QpQ2by90gsPsOa+NgsJEFaEP7e4KlT6SH8kK+zhbmuKaUd3d1//XdcancE22LZXi6tkiB5yuR/Jhhb1LLDqyGJTB4D92hMnnCPiUjpxNA3r437ttNeYRdYIEEP3drA=
webhooks:
urls:
- https://webhooks.gitter.im/e/5e136eb0c1965f3918d0
on_success: change # options: [always|never|change] default: always
on_failure: change # options: [always|never|change] default: always
on_start: false # default: false
+59 -22
View File
@@ -1,34 +1,66 @@
FROM ubuntu:xenial
MAINTAINER Brady Wetherington <uberbrady@gmail.com>
FROM ubuntu:22.04
LABEL maintainer="Brady Wetherington <bwetherington@grokability.com>"
RUN apt-get update && apt-get install -y \
# No need to add `apt-get clean` here, reference:
# - https://github.com/snipe/snipe-it/pull/9201
# - https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#apt-get
RUN export DEBIAN_FRONTEND=noninteractive; \
export DEBCONF_NONINTERACTIVE_SEEN=true; \
echo 'tzdata tzdata/Areas select Etc' | debconf-set-selections; \
echo 'tzdata tzdata/Zones/Etc select UTC' | debconf-set-selections; \
apt-get update -qqy \
&& apt-get install -qqy --no-install-recommends \
apt-utils \
apache2 \
apache2-bin \
libapache2-mod-php7.0 \
php7.0-curl \
php7.0-ldap \
php7.0-mysql \
php7.0-mcrypt \
php7.0-gd \
php7.0-xml \
php7.0-mbstring \
php7.0-zip \
php7.0-bcmath \
libapache2-mod-php8.1 \
php8.1-curl \
php8.1-ldap \
php8.1-mysql \
php8.1-gd \
php8.1-xml \
php8.1-mbstring \
php8.1-zip \
php8.1-bcmath \
php8.1-redis \
php-memcached \
patch \
curl \
wget \
vim \
git \
cron \
mysql-client \
supervisor \
&& apt-get clean \
cron \
gcc \
make \
autoconf \
libc-dev \
libldap-common \
pkg-config \
libmcrypt-dev \
php8.1-dev \
ca-certificates \
unzip \
dnsutils \
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
RUN curl -L -O https://github.com/pear/pearweb_phars/raw/master/go-pear.phar
RUN php go-pear.phar
RUN pecl install mcrypt
RUN bash -c "echo extension=/usr/lib/php/20210902/mcrypt.so > /etc/php/8.1/mods-available/mcrypt.ini"
RUN phpenmod mcrypt
RUN phpenmod gd
RUN phpenmod bcmath
RUN sed -i 's/variables_order = .*/variables_order = "EGPCS"/' /etc/php/7.0/apache2/php.ini
RUN sed -i 's/variables_order = .*/variables_order = "EGPCS"/' /etc/php/7.0/cli/php.ini
RUN sed -i 's/variables_order = .*/variables_order = "EGPCS"/' /etc/php/8.1/apache2/php.ini
RUN sed -i 's/variables_order = .*/variables_order = "EGPCS"/' /etc/php/8.1/cli/php.ini
RUN useradd -m --uid 1000 --gid 50 docker
@@ -39,16 +71,18 @@ COPY docker/000-default.conf /etc/apache2/sites-enabled/000-default.conf
#SSL
RUN mkdir -p /var/lib/snipeit/ssl
COPY docker/001-default-ssl.conf /etc/apache2/sites-enabled/001-default-ssl.conf
#COPY docker/001-default-ssl.conf /etc/apache2/sites-available/001-default-ssl.conf
#COPY docker/001-default-ssl.conf /etc/apache2/sites-enabled/001-default-ssl.conf
COPY docker/001-default-ssl.conf /etc/apache2/sites-available/001-default-ssl.conf
RUN a2enmod ssl
#RUN a2ensite 001-default-ssl.conf
RUN a2ensite 001-default-ssl.conf
COPY . /var/www/html
RUN a2enmod rewrite
COPY docker/column-statistics.cnf /etc/mysql/conf.d/column-statistics.cnf
############ INITIAL APPLICATION SETUP #####################
WORKDIR /var/www/html
@@ -66,20 +100,23 @@ RUN \
rm -r "/var/www/html/storage/private_uploads" && ln -fs "/var/lib/snipeit/data/private_uploads" "/var/www/html/storage/private_uploads" \
&& rm -rf "/var/www/html/public/uploads" && ln -fs "/var/lib/snipeit/data/uploads" "/var/www/html/public/uploads" \
&& rm -r "/var/www/html/storage/app/backups" && ln -fs "/var/lib/snipeit/dumps" "/var/www/html/storage/app/backups" \
&& mkdir "/var/lib/snipeit/keys" && ln -fs "/var/lib/snipeit/keys/oauth-private.key" "/var/www/html/storage/oauth-private.key" \
&& mkdir -p "/var/lib/snipeit/keys" && ln -fs "/var/lib/snipeit/keys/oauth-private.key" "/var/www/html/storage/oauth-private.key" \
&& ln -fs "/var/lib/snipeit/keys/oauth-public.key" "/var/www/html/storage/oauth-public.key" \
&& ln -fs "/var/lib/snipeit/keys/ldap_client_tls.cert" "/var/www/html/storage/ldap_client_tls.cert" \
&& ln -fs "/var/lib/snipeit/keys/ldap_client_tls.key" "/var/www/html/storage/ldap_client_tls.key" \
&& chown docker "/var/lib/snipeit/keys/" \
&& chown -h docker "/var/www/html/storage/" \
&& chmod +x /var/www/html/artisan \
&& echo "Finished setting up application in /var/www/html"
############## DEPENDENCIES via COMPOSER ###################
#global install of composer
RUN cd /tmp;curl -sS https://getcomposer.org/installer | php;mv /tmp/composer.phar /usr/local/bin/composer
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
# Get dependencies
USER docker
RUN cd /var/www/html;composer install && rm -rf /home/docker/.composer/cache
RUN composer install --no-dev --working-dir=/var/www/html
USER root
############### APPLICATION INSTALL/INIT #################
+89
View File
@@ -0,0 +1,89 @@
FROM alpine:3.17.3
# Apache + PHP
RUN apk add --no-cache \
apache2 \
php81 \
php81-common \
php81-apache2 \
php81-curl \
php81-ldap \
php81-mysqli \
php81-gd \
php81-xml \
php81-mbstring \
php81-zip \
php81-ctype \
php81-tokenizer \
php81-pdo_mysql \
php81-openssl \
php81-bcmath \
php81-phar \
php81-json \
php81-iconv \
php81-fileinfo \
php81-simplexml \
php81-session \
php81-dom \
php81-xmlwriter \
php81-xmlreader \
php81-sodium \
php81-redis \
php81-pecl-memcached \
curl \
wget \
vim \
git \
mysql-client \
tini
COPY docker/column-statistics.cnf /etc/mysql/conf.d/column-statistics.cnf
# Where apache's PID lives
RUN mkdir -p /run/apache2 && chown apache:apache /run/apache2
RUN sed -i 's/variables_order = .*/variables_order = "EGPCS"/' /etc/php81/php.ini
COPY docker/000-default-2.4.conf /etc/apache2/conf.d/default.conf
# Enable mod_rewrite
RUN sed -i '/LoadModule rewrite_module/s/^#//g' /etc/apache2/httpd.conf
COPY . /var/www/html
WORKDIR /var/www/html
COPY docker/docker.env /var/www/html/.env
RUN chown -R apache:apache /var/www/html
RUN \
rm -r "/var/www/html/storage/private_uploads" \
&& mkdir -p "/var/lib/snipeit/data/private_uploads" && ln -fs "/var/lib/snipeit/data/private_uploads" "/var/www/html/storage/private_uploads" \
&& rm -rf "/var/www/html/public/uploads" \
&& mkdir -p "/var/lib/snipeit/data/uploads" && ln -fs "/var/lib/snipeit/data/uploads" "/var/www/html/public/uploads" \
&& mkdir -p "/var/lib/snipeit/dumps" && rm -r "/var/www/html/storage/app/backups" && ln -fs "/var/lib/snipeit/dumps" "/var/www/html/storage/app/backups" \
&& mkdir -p "/var/lib/snipeit/keys" && ln -fs "/var/lib/snipeit/keys/oauth-private.key" "/var/www/html/storage/oauth-private.key" \
&& ln -fs "/var/lib/snipeit/keys/oauth-public.key" "/var/www/html/storage/oauth-public.key" \
&& chown -hR apache "/var/www/html/storage/" \
&& chown -R apache "/var/lib/snipeit"
# Install composer
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
RUN mkdir -p /var/www/.composer && chown apache /var/www/.composer
# Install dependencies
USER apache
RUN COMPOSER_CACHE_DIR=/dev/null composer install --no-dev --working-dir=/var/www/html
USER root
VOLUME ["/var/lib/snipeit"]
# Entrypoints
COPY docker/entrypoint_alpine.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
ENTRYPOINT ["/sbin/tini", "--"]
CMD ["/entrypoint.sh"]
EXPOSE 80
+103
View File
@@ -0,0 +1,103 @@
ARG ENVIRONMENT=production
ARG SNIPEIT_RELEASE=6.1.0
ARG PHP_VERSION=8.2
ARG PHP_ALPINE_VERSION=3.17
ARG COMPOSER_VERSION=2
# Cannot use arguments with 'COPY --from' workaround
# https://github.com/moby/moby/issues/34482#issuecomment-454716952
FROM composer:${COMPOSER_VERSION} AS composer
# Final stage
FROM php:${PHP_VERSION}-fpm-alpine${PHP_ALPINE_VERSION} AS source
LABEL maintainer="Mateus Villar <mromeravillar@gmail.com>"
ARG PACKAGES="\
mysql-client \
"
ARG DEV_PACKAGES="\
git \
"
ARG ENVIRONMENT
ENV ENVIRONMENT ${ENVIRONMENT}
ARG SNIPEIT_RELEASE
ENV SNIPEIT_RELEASE ${SNIPEIT_RELEASE}
# Cribbed from wordpress-fpm-alpine image
# set recommended PHP.ini settings
# see https://secure.php.net/manual/en/opcache.installation.php
RUN set -eux; \
docker-php-ext-enable opcache; \
{ \
echo 'opcache.memory_consumption=128'; \
echo 'opcache.interned_strings_buffer=8'; \
echo 'opcache.max_accelerated_files=4000'; \
echo 'opcache.revalidate_freq=2'; \
echo 'opcache.fast_shutdown=1'; \
} > /usr/local/etc/php/conf.d/opcache-recommended.ini
# https://wordpress.org/support/article/editing-wp-config-php/#configure-error-logging
RUN { \
# https://www.php.net/manual/en/errorfunc.constants.php
# https://github.com/docker-library/wordpress/issues/420#issuecomment-517839670
echo 'error_reporting = E_ERROR | E_WARNING | E_PARSE | E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_COMPILE_WARNING | E_RECOVERABLE_ERROR'; \
echo 'display_errors = Off'; \
echo 'display_startup_errors = Off'; \
echo 'log_errors = On'; \
echo 'error_log = /dev/stderr'; \
echo 'log_errors_max_len = 1024'; \
echo 'ignore_repeated_errors = On'; \
echo 'ignore_repeated_source = Off'; \
echo 'html_errors = Off'; \
} > /usr/local/etc/php/conf.d/error-logging.ini
# Install php extensions inside docker containers easily
# https://github.com/mlocati/docker-php-extension-installer
COPY --from=mlocati/php-extension-installer:2.1.15 /usr/bin/install-php-extensions /usr/local/bin/
RUN set -eux; \
install-php-extensions \
bcmath \
gd \
ldap \
mysqli \
pdo_mysql \
zip; \
rm -f /usr/local/bin/install-php-extensions; \
# Install prerequisites packages
apk add --no-cache \
${PACKAGES};
COPY --from=composer /usr/bin/composer /usr/local/bin
ARG COMPOSER_ALLOW_SUPERUSER=1
RUN set -eux; \
# Download and extract snipeit tarball
curl -o snipeit.tar.gz -fL "https://github.com/snipe/snipe-it/archive/v$SNIPEIT_RELEASE.tar.gz"; \
tar -xzf snipeit.tar.gz --strip-components=1 -C /var/www/html/; \
rm snipeit.tar.gz; \
# Install composer php dependencies
if [ "$ENVIRONMENT" = "production" ]; then \
echo "production environment detected!"; \
composer update \
--no-cache \
--no-dev \
--optimize-autoloader \
--working-dir=/var/www/html; \
else \
echo "development environment detected!"; \
apk add --no-cache \
${DEV_PACKAGES}; \
composer update \
--no-cache \
--prefer-source \
--optimize-autoloader \
--working-dir=/var/www/html; \
fi; \
rm -f /usr/local/bin/composer; \
chown -R www-data:www-data /var/www/html;
VOLUME [ "/var/lib/snipeit" ]
COPY --chown=www-data:www-data docker/docker-secrets.env /var/www/html/.env
COPY --chmod=655 docker/docker-entrypoint.sh /usr/local/bin/docker-snipeit-entrypoint
COPY docker/column-statistics.cnf /etc/mysql/conf.d/column-statistics.cnf
ENTRYPOINT [ "/usr/local/bin/docker-snipeit-entrypoint" ]
CMD [ "/usr/local/bin/docker-php-entrypoint", "php-fpm" ]
+1
View File
@@ -0,0 +1 @@
web: php heroku/startup.php && heroku-php-apache2 public/
+59 -24
View File
@@ -1,14 +1,13 @@
[![Build Status](https://travis-ci.org/snipe/snipe-it.svg?branch=master)](https://travis-ci.org/snipe/snipe-it) [![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&amp;utm_medium=referral&amp;utm_content=snipe/snipe-it&amp;utm_campaign=Badge_Grade)
[![All Contributors](https://img.shields.io/badge/all_contributors-181-orange.svg?style=flat-square)](#contributors) [![Open Source Helpers](https://www.codetriage.com/snipe/snipe-it/badges/users.svg)](https://www.codetriage.com/snipe/snipe-it)
![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) [![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&amp;utm_medium=referral&amp;utm_content=snipe/snipe-it&amp;utm_campaign=Badge_Grade)
[![All Contributors](https://img.shields.io/badge/all_contributors-326-orange.svg?style=flat-square)](#contributors) [![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/yZFtShAcKk) [![huntr](https://cdn.huntr.dev/huntr_security_badge_mono.svg)](https://huntr.dev)
## Snipe-IT - Open Source Asset Management System
This is a FOSS project for asset management in IT Operations. Knowing who has which laptop, when it was purchased in order to depreciate it correctly, handling software licenses, etc.
It is built on [Laravel 5.4](http://laravel.com).
It is built on [Laravel 8](http://laravel.com).
Snipe-IT is actively developed and we're [releasing quite frequently](https://github.com/snipe/snipe-it/releases). ([Check out the live demo here](https://snipeitapp.com/demo/).)
Snipe-IT is actively developed and we [release quite frequently](https://github.com/snipe/snipe-it/releases). ([Check out the live demo here](https://snipeitapp.com/demo/).)
__This is web-based software__. This means there is no executable file (aka no .exe files), and it must be run on a web server and accessed through a web browser. It runs on any Mac OSX, flavor of Linux, as well as Windows, and we have a [Docker image](https://snipe-it.readme.io/docs/docker) available if that's what you're into.
@@ -20,6 +19,8 @@ For instructions on installing and configuring Snipe-IT on your server, check ou
If you're having trouble with the installation, please check the [Common Issues](https://snipe-it.readme.io/docs/common-issues) and [Getting Help](https://snipe-it.readme.io/docs/getting-help) documentation, and search this repository's open *and* closed issues for help.
[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy)
-----
### User's Manual
For help using Snipe-IT, check out the [user's manual](https://snipe-it.readme.io/docs/overview).
@@ -56,12 +57,39 @@ Since the release of the JSON REST API, several third-party developers have been
- [Python Module](https://github.com/jbloomer/SnipeIT-PythonAPI) by [@jbloomer](https://github.com/jbloomer)
- [SnipeSharp - .NET module in C#](https://github.com/barrycarey/SnipeSharp) by [@barrycarey](https://github.com/barrycarey)
- [InQRy](https://github.com/Microsoft/InQRy) by [@Microsoft](https://github.com/Microsoft)
- [InQRy -unmaintained-](https://github.com/Microsoft/InQRy) by [@Microsoft](https://github.com/Microsoft)
- [SnipeitPS](https://github.com/snazy2000/SnipeitPS) by [@snazy2000](https://github.com/snazy2000) - Powershell API Wrapper for Snipe-it
- [jamf2snipe](https://github.com/ParadoxGuitarist/jamf2snipe) by [@ParadoxGuitarist](https://github.com/ParadoxGuitarist) - Python script to sync assets between a JAMFPro instance and a Snipe-II instance
- [jamf2snipe](https://github.com/grokability/jamf2snipe) - Python script to sync assets between a JAMFPro instance and a Snipe-IT instance
- [jamf-snipe-rename](https://macblog.org/jamf-snipe-rename/) - Python script to rename computers in Jamf from Snipe-IT
- [Marksman](https://github.com/Scope-IT/marksman) - A Windows agent for Snipe-IT
- [Snipe-IT plugin for Jira Service Desk](https://marketplace.atlassian.com/apps/1220964/snipe-it-for-jira)
- [Python 3 CSV importer](https://github.com/gastamper/snipeit-csvimporter) - allows importing assets into Snipe-IT based on Item Name rather than Asset Tag.
- [Snipe-IT Kubernetes Helm Chart](https://github.com/t3n/helm-charts/tree/master/snipeit) - For more information, [click here](https://hub.helm.sh/charts/t3n/snipeit).
- [Snipe-IT Bulk Edit](https://github.com/bricelabelle/snipe-it-bulkedit) - Google Script files to use Google Sheets as a bulk checkout/checkin/edit tool for Snipe-it.
- [MosyleSnipeSync](https://github.com/RodneyLeeBrands/MosyleSnipeSync) by [@Karpadiem](https://github.com/Karpadiem) - Python script to synchronize information between Mosyle and Snipe-IT
- [WWW::SnipeIT](https://github.com/SEDC/perl-www-snipeit) by [@SEDC](https://github.com/SEDC) - perl module for accessing the API
- [UniFi to Snipe-IT](https://github.com/RodneyLeeBrands/UnifiSnipeSync) by [@karpadiem](https://github.com/karpadiem) - Python script that synchronizes UniFi devices with Snipe-IT.
- [Kandji2Snipe](https://github.com/grokability/kandji2snipe) by [@briangoldstein](https://github.com/briangoldstein) - Python script that synchronizes Kandji with Snipe-IT.
- [SnipeAgent](https://github.com/ReticentRobot/SnipeAgent) by @ReticentRobot - Windows agent for Snipe-IT
As these were created by third-parties, Snipe-IT cannot provide support for these project, and you should contact the developers directly if you need assistance. Additionally, Snipe-IT makes no guarantees as to the reliability, accuracy or maintainability of these libraries. Use at your own risk. :)
As these were created by third-parties, Snipe-IT cannot provide support for these project, and you should contact the developers directly if you need assistance. Additionally, Snipe-IT makes no guarantees as to the reliability, accuracy or maintainability of these libraries. Use at your own risk. :)
-----
### Contributing
Please see the documentation on [contributing and developing for Snipe-IT](https://snipe-it.readme.io/docs/contributing-overview).
Please note that this project is released with a [Contributor Code of Conduct](CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms.
The ERD is available [online here](https://drawsql.app/templates/snipe-it).
-----
### Security
To report a security vulnerability, please email security@snipeitapp.com instead of using the issue tracker.
-----
@@ -72,7 +100,7 @@ Thanks goes to all of these wonderful people ([emoji key](https://github.com/ken
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
| [<img src="https://avatars3.githubusercontent.com/u/197404?v=3" width="110px;"/><br /><sub>snipe</sub>](http://www.snipe.net)<br />[💻](https://github.com/snipe/snipe-it/commits?author=snipe "Code") [🚇](#infra-snipe "Infrastructure (Hosting, Build-Tools, etc)") [📖](https://github.com/snipe/snipe-it/commits?author=snipe "Documentation") [⚠️](https://github.com/snipe/snipe-it/commits?author=snipe "Tests") [🐛](https://github.com/snipe/snipe-it/issues?q=author%3Asnipe "Bug reports") [🎨](#design-snipe "Design") [👀](#review-snipe "Reviewed Pull Requests") | [<img src="https://avatars0.githubusercontent.com/u/36335?v=3" width="110px;"/><br /><sub>Brady Wetherington</sub>](http://www.uberbrady.com)<br />[💻](https://github.com/snipe/snipe-it/commits?author=uberbrady "Code") [📖](https://github.com/snipe/snipe-it/commits?author=uberbrady "Documentation") [🚇](#infra-uberbrady "Infrastructure (Hosting, Build-Tools, etc)") [👀](#review-uberbrady "Reviewed Pull Requests") | [<img src="https://avatars0.githubusercontent.com/u/3803132?v=3" width="110px;"/><br /><sub>Daniel Meltzer</sub>](https://github.com/dmeltzer)<br />[💻](https://github.com/snipe/snipe-it/commits?author=dmeltzer "Code") [⚠️](https://github.com/snipe/snipe-it/commits?author=dmeltzer "Tests") [📖](https://github.com/snipe/snipe-it/commits?author=dmeltzer "Documentation") | [<img src="https://avatars0.githubusercontent.com/u/1609106?v=3" width="110px;"/><br /><sub>Michael T</sub>](http://www.tuckertechonline.com)<br />[💻](https://github.com/snipe/snipe-it/commits?author=mtucker6784 "Code") | [<img src="https://avatars2.githubusercontent.com/u/3274937?v=3" width="110px;"/><br /><sub>madd15</sub>](https://github.com/madd15)<br />[📖](https://github.com/snipe/snipe-it/commits?author=madd15 "Documentation") [💬](#question-madd15 "Answering Questions") | [<img src="https://avatars2.githubusercontent.com/u/894126?v=3" width="110px;"/><br /><sub>Vincent Sposato</sub>](https://github.com/vsposato)<br />[💻](https://github.com/snipe/snipe-it/commits?author=vsposato "Code") | [<img src="https://avatars0.githubusercontent.com/u/1639757?v=3" width="110px;"/><br /><sub>Andrea Bergamasco</sub>](https://github.com/vjandrea)<br />[💻](https://github.com/snipe/snipe-it/commits?author=vjandrea "Code") |
| :---: | :---: | :---: | :---: | :---: | :---: | :---: |
| [<img src="https://avatars0.githubusercontent.com/u/10640152?v=3" width="110px;"/><br /><sub>Karol</sub>](https://github.com/kpawelski)<br />[🌍](#translation-kpawelski "Translation") [💻](https://github.com/snipe/snipe-it/commits?author=kpawelski "Code") | [<img src="https://avatars3.githubusercontent.com/u/600106?v=3" width="110px;"/><br /><sub>morph027</sub>](http://blog.morph027.de/)<br />[💻](https://github.com/snipe/snipe-it/commits?author=morph027 "Code") | [<img src="https://avatars3.githubusercontent.com/u/22935755?v=3" width="110px;"/><br /><sub>fvleminckx</sub>](https://github.com/fvleminckx)<br />[🚇](#infra-fvleminckx "Infrastructure (Hosting, Build-Tools, etc)") | [<img src="https://avatars2.githubusercontent.com/u/15633547?v=3" width="110px;"/><br /><sub>itsupportcmsukorg</sub>](https://github.com/itsupportcmsukorg)<br />[💻](https://github.com/snipe/snipe-it/commits?author=itsupportcmsukorg "Code") [🐛](https://github.com/snipe/snipe-it/issues?q=author%3Aitsupportcmsukorg "Bug reports") | [<img src="https://avatars3.githubusercontent.com/u/12373799?v=3" width="110px;"/><br /><sub>Frank</sub>](https://override.io)<br />[💻](https://github.com/snipe/snipe-it/commits?author=base-zero "Code") | [<img src="https://avatars0.githubusercontent.com/u/10137?v=3" width="110px;"/><br /><sub>Deleted user</sub>](https://github.com/ghost)<br />[🌍](#translation-ghost "Translation") | [<img src="https://avatars1.githubusercontent.com/u/10802313?v=3" width="110px;"/><br /><sub>tiagom62</sub>](https://github.com/tiagom62)<br />[💻](https://github.com/snipe/snipe-it/commits?author=tiagom62 "Code") [🚇](#infra-tiagom62 "Infrastructure (Hosting, Build-Tools, etc)") |
| [<img src="https://avatars0.githubusercontent.com/u/10640152?v=3" width="110px;"/><br /><sub>Karol</sub>](https://github.com/kpawelski)<br />[🌍](#translation-kpawelski "Translation") [💻](https://github.com/snipe/snipe-it/commits?author=kpawelski "Code") | [<img src="https://avatars3.githubusercontent.com/u/600106?v=3" width="110px;"/><br /><sub>morph027</sub>](http://blog.morph027.de/)<br />[💻](https://github.com/snipe/snipe-it/commits?author=morph027 "Code") | [<img src="https://avatars3.githubusercontent.com/u/22935755?v=3" width="110px;"/><br /><sub>fvleminckx</sub>](https://github.com/fvleminckx)<br />[🚇](#infra-fvleminckx "Infrastructure (Hosting, Build-Tools, etc)") | [<img src="https://avatars2.githubusercontent.com/u/15633547?v=3" width="110px;"/><br /><sub>itsupportcmsukorg</sub>](https://github.com/itsupportcmsukorg)<br />[💻](https://github.com/snipe/snipe-it/commits?author=itsupportcmsukorg "Code") [🐛](https://github.com/snipe/snipe-it/issues?q=author%3Aitsupportcmsukorg "Bug reports") | [<img src="https://avatars3.githubusercontent.com/u/12373799?v=3" width="110px;"/><br /><sub>Frank</sub>](https://override.io)<br />[💻](https://github.com/snipe/snipe-it/commits?author=base-zero "Code") | [<img src="https://avatars0.githubusercontent.com/u/10137?v=3" width="110px;"/><br /><sub>Deleted user</sub>](https://github.com/ghost)<br />[🌍](#translation-ghost "Translation") [💻](https://github.com/snipe/snipe-it/commits?author=ghost "Code") | [<img src="https://avatars1.githubusercontent.com/u/10802313?v=3" width="110px;"/><br /><sub>tiagom62</sub>](https://github.com/tiagom62)<br />[💻](https://github.com/snipe/snipe-it/commits?author=tiagom62 "Code") [🚇](#infra-tiagom62 "Infrastructure (Hosting, Build-Tools, etc)") |
| [<img src="https://avatars3.githubusercontent.com/u/2389047?v=3" width="110px;"/><br /><sub>Ryan Stafford</sub>](https://github.com/rystaf)<br />[💻](https://github.com/snipe/snipe-it/commits?author=rystaf "Code") | [<img src="https://avatars2.githubusercontent.com/u/10345935?v=3" width="110px;"/><br /><sub>Eammon Hanlon</sub>](https://github.com/ehanlon)<br />[💻](https://github.com/snipe/snipe-it/commits?author=ehanlon "Code") | [<img src="https://avatars0.githubusercontent.com/u/441924?v=3" width="110px;"/><br /><sub>zjean</sub>](https://github.com/zjean)<br />[💻](https://github.com/snipe/snipe-it/commits?author=zjean "Code") | [<img src="https://avatars0.githubusercontent.com/u/12660103?v=3" width="110px;"/><br /><sub>Matthias Frei</sub>](http://www.frei.media)<br />[💻](https://github.com/snipe/snipe-it/commits?author=FREImedia "Code") | [<img src="https://avatars0.githubusercontent.com/u/3767518?v=3" width="110px;"/><br /><sub>opsydev</sub>](https://github.com/opsydev)<br />[💻](https://github.com/snipe/snipe-it/commits?author=opsydev "Code") | [<img src="https://avatars1.githubusercontent.com/u/82290?v=3" width="110px;"/><br /><sub>Daniel Dreier</sub>](http://www.ddreier.com)<br />[💻](https://github.com/snipe/snipe-it/commits?author=ddreier "Code") | [<img src="https://avatars0.githubusercontent.com/u/23448?v=3" width="110px;"/><br /><sub>Nikolai Prokoschenko</sub>](http://rassie.org)<br />[💻](https://github.com/snipe/snipe-it/commits?author=rassie "Code") |
| [<img src="https://avatars0.githubusercontent.com/u/13452757?v=3" width="110px;"/><br /><sub>Drew</sub>](https://github.com/YetAnotherCodeMonkey)<br />[💻](https://github.com/snipe/snipe-it/commits?author=YetAnotherCodeMonkey "Code") | [<img src="https://avatars0.githubusercontent.com/u/1342320?v=3" width="110px;"/><br /><sub>Walter</sub>](https://github.com/merid14)<br />[💻](https://github.com/snipe/snipe-it/commits?author=merid14 "Code") | [<img src="https://avatars3.githubusercontent.com/u/11254614?v=3" width="110px;"/><br /><sub>Petr Baloun</sub>](https://github.com/balous)<br />[💻](https://github.com/snipe/snipe-it/commits?author=balous "Code") | [<img src="https://avatars0.githubusercontent.com/u/6117660?v=3" width="110px;"/><br /><sub>reidblomquist</sub>](https://github.com/reidblomquist)<br />[📖](https://github.com/snipe/snipe-it/commits?author=reidblomquist "Documentation") | [<img src="https://avatars0.githubusercontent.com/u/539914?v=3" width="110px;"/><br /><sub>Mathieu Kooiman</sub>](https://github.com/mathieuk)<br />[💻](https://github.com/snipe/snipe-it/commits?author=mathieuk "Code") | [<img src="https://avatars3.githubusercontent.com/u/6606421?v=3" width="110px;"/><br /><sub>csayre</sub>](https://github.com/csayre)<br />[📖](https://github.com/snipe/snipe-it/commits?author=csayre "Documentation") | [<img src="https://avatars1.githubusercontent.com/u/768488?v=3" width="110px;"/><br /><sub>Adam Dunson</sub>](https://github.com/adamdunson)<br />[💻](https://github.com/snipe/snipe-it/commits?author=adamdunson "Code") |
| [<img src="https://avatars0.githubusercontent.com/u/5547470?v=3" width="110px;"/><br /><sub>Hereward</sub>](https://github.com/thehereward)<br />[💻](https://github.com/snipe/snipe-it/commits?author=thehereward "Code") | [<img src="https://avatars0.githubusercontent.com/u/5802977?v=3" width="110px;"/><br /><sub>swoopdk</sub>](https://github.com/swoopdk)<br />[💻](https://github.com/snipe/snipe-it/commits?author=swoopdk "Code") | [<img src="https://avatars1.githubusercontent.com/u/3470403?v=3" width="110px;"/><br /><sub>Abdullah Alansari</sub>](https://linkedin.com/in/ahimta)<br />[💻](https://github.com/snipe/snipe-it/commits?author=Ahimta "Code") | [<img src="https://avatars0.githubusercontent.com/u/796443?v=3" width="110px;"/><br /><sub>Micael Rodrigues</sub>](https://github.com/MicaelRodrigues)<br />[💻](https://github.com/snipe/snipe-it/commits?author=MicaelRodrigues "Code") | [<img src="https://avatars0.githubusercontent.com/u/614564?v=3" width="110px;"/><br /><sub>Patrick Gallagher</sub>](http://macadmincorner.com)<br />[📖](https://github.com/snipe/snipe-it/commits?author=patgmac "Documentation") | [<img src="https://avatars3.githubusercontent.com/u/7165922?v=3" width="110px;"/><br /><sub>Miliamber</sub>](https://github.com/Miliamber)<br />[💻](https://github.com/snipe/snipe-it/commits?author=Miliamber "Code") | [<img src="https://avatars3.githubusercontent.com/u/861766?v=3" width="110px;"/><br /><sub>hawk554</sub>](https://github.com/hawk554)<br />[💻](https://github.com/snipe/snipe-it/commits?author=hawk554 "Code") |
@@ -96,22 +124,29 @@ Thanks goes to all of these wonderful people ([emoji key](https://github.com/ken
| [<img src="https://avatars2.githubusercontent.com/u/982885?v=4" width="110px;"/><br /><sub>Martin Stub</sub>](http://martinstub.dk)<br />[🌍](#translation-stubben "Translation") | [<img src="https://avatars2.githubusercontent.com/u/28959963?v=4" width="110px;"/><br /><sub>Meyer Flavio</sub>](https://github.com/meyerf99)<br />[🌍](#translation-meyerf99 "Translation") | [<img src="https://avatars3.githubusercontent.com/u/796443?v=4" width="110px;"/><br /><sub>Micael Rodrigues</sub>](https://github.com/MicaelRodrigues)<br />[🌍](#translation-MicaelRodrigues "Translation") | [<img src="https://avatars0.githubusercontent.com/u/10481331?v=4" width="110px;"/><br /><sub>Mikael Rasmussen</sub>](http://rubixy.com/)<br />[🌍](#translation-mikaelssen "Translation") | [<img src="https://avatars1.githubusercontent.com/u/1544552?v=4" width="110px;"/><br /><sub>IxFail</sub>](https://github.com/IxFail)<br />[🌍](#translation-IxFail "Translation") | [<img src="https://avatars3.githubusercontent.com/u/18483118?v=4" width="110px;"/><br /><sub>Mohammed Fota</sub>](http://www.mohammedfota.com)<br />[🌍](#translation-MohammedFota "Translation") | [<img src="https://avatars0.githubusercontent.com/u/227080?v=4" width="110px;"/><br /><sub>Moayad Alserihi</sub>](https://github.com/omego)<br />[🌍](#translation-omego "Translation") |
| [<img src="https://avatars0.githubusercontent.com/u/1680266?v=4" width="110px;"/><br /><sub>saymd</sub>](https://github.com/saymd)<br />[🌍](#translation-saymd "Translation") | [<img src="https://avatars0.githubusercontent.com/u/1826808?v=4" width="110px;"/><br /><sub>Patrik Larsson</sub>](https://nordsken.se)<br />[🌍](#translation-pooot "Translation") | [<img src="https://avatars1.githubusercontent.com/u/20584746?v=4" width="110px;"/><br /><sub>drcryo</sub>](https://github.com/drcryo)<br />[🌍](#translation-drcryo "Translation") | [<img src="https://avatars1.githubusercontent.com/u/19408004?v=4" width="110px;"/><br /><sub>pawel1615</sub>](https://github.com/pawel1615)<br />[🌍](#translation-pawel1615 "Translation") | [<img src="https://avatars2.githubusercontent.com/u/23340468?v=4" width="110px;"/><br /><sub>bodrovics</sub>](https://github.com/bodrovics)<br />[🌍](#translation-bodrovics "Translation") | [<img src="https://avatars0.githubusercontent.com/u/3257654?v=4" width="110px;"/><br /><sub>priatna</sub>](https://github.com/priatna)<br />[🌍](#translation-priatna "Translation") | [<img src="https://avatars1.githubusercontent.com/u/5358374?v=4" width="110px;"/><br /><sub>Fan Jiang</sub>](https://amayume.net)<br />[🌍](#translation-ProfFan "Translation") |
| [<img src="https://avatars1.githubusercontent.com/u/22555451?v=4" width="110px;"/><br /><sub>ragnarcx</sub>](https://github.com/ragnarcx)<br />[🌍](#translation-ragnarcx "Translation") | [<img src="https://avatars2.githubusercontent.com/u/18654582?v=4" width="110px;"/><br /><sub>Rein van Haaren</sub>](http://www.reinvanhaaren.nl/)<br />[🌍](#translation-reinvanhaaren "Translation") | [<img src="https://avatars1.githubusercontent.com/u/386672?v=4" width="110px;"/><br /><sub>Teguh Dwicaksana</sub>](http://dheche.songolimo.net)<br />[🌍](#translation-dheche "Translation") | [<img src="https://avatars2.githubusercontent.com/u/2572552?v=4" width="110px;"/><br /><sub>fraccie</sub>](https://github.com/FRaccie)<br />[🌍](#translation-FRaccie "Translation") | [<img src="https://avatars0.githubusercontent.com/u/35182720?v=4" width="110px;"/><br /><sub>vinzruzell</sub>](https://github.com/vinzruzell)<br />[🌍](#translation-vinzruzell "Translation") | [<img src="https://avatars1.githubusercontent.com/u/7883603?v=4" width="110px;"/><br /><sub>Kevin Austin</sub>](http://kevinaustin.com)<br />[🌍](#translation-vipsystem "Translation") | [<img src="https://avatars3.githubusercontent.com/u/3861828?v=4" width="110px;"/><br /><sub>Wira Sandy</sub>](http://azuraweb.xyz)<br />[🌍](#translation-wira-sandy "Translation") |
| [<img src="https://avatars2.githubusercontent.com/u/8663789?v=4" width="110px;"/><br /><sub>Илья</sub>](https://github.com/GrayHoax)<br />[🌍](#translation-GrayHoax "Translation") | [<img src="https://avatars3.githubusercontent.com/u/30119111?v=4" width="110px;"/><br /><sub>GodUseVPN</sub>](https://github.com/godusevpn)<br />[🌍](#translation-godusevpn "Translation") | [<img src="https://avatars1.githubusercontent.com/u/745576?v=4" width="110px;"/><br /><sub>周周</sub>](https://github.com/EngrZhou)<br />[🌍](#translation-EngrZhou "Translation") | [<img src="https://avatars3.githubusercontent.com/u/1631095?v=4" width="110px;"/><br /><sub>Sam</sub>](https://github.com/takuy)<br />[💻](https://github.com/snipe/snipe-it/commits?author=takuy "Code") | [<img src="https://avatars1.githubusercontent.com/u/264022?v=4" width="110px;"/><br /><sub>Azerothian</sub>](https://www.illisian.com.au)<br />[💻](https://github.com/snipe/snipe-it/commits?author=Azerothian "Code") | [<img src="https://avatars1.githubusercontent.com/u/7632599?v=4" width="110px;"/><br /><sub>Tim Farmer</sub>](https://github.com/timothyfarmer)<br />[💻](https://github.com/snipe/snipe-it/commits?author=timothyfarmer "Code") |
| [<img src="https://avatars2.githubusercontent.com/u/8663789?v=4" width="110px;"/><br /><sub>Илья</sub>](https://github.com/GrayHoax)<br />[🌍](#translation-GrayHoax "Translation") | [<img src="https://avatars3.githubusercontent.com/u/30119111?v=4" width="110px;"/><br /><sub>GodUseVPN</sub>](https://github.com/godusevpn)<br />[🌍](#translation-godusevpn "Translation") | [<img src="https://avatars1.githubusercontent.com/u/745576?v=4" width="110px;"/><br /><sub>周周</sub>](https://github.com/EngrZhou)<br />[🌍](#translation-EngrZhou "Translation") | [<img src="https://avatars3.githubusercontent.com/u/1631095?v=4" width="110px;"/><br /><sub>Sam</sub>](https://github.com/takuy)<br />[💻](https://github.com/snipe/snipe-it/commits?author=takuy "Code") | [<img src="https://avatars1.githubusercontent.com/u/264022?v=4" width="110px;"/><br /><sub>Azerothian</sub>](https://www.illisian.com.au)<br />[💻](https://github.com/snipe/snipe-it/commits?author=Azerothian "Code") | [<img src="https://avatars1.githubusercontent.com/u/4930051?v=4" width="110px;"/><br /><sub>Wes Hulette</sub>](http://macfoo.wordpress.com/)<br />[💻](https://github.com/snipe/snipe-it/commits?author=jwhulette "Code") | [<img src="https://avatars0.githubusercontent.com/u/8134591?v=4" width="110px;"/><br /><sub>patrict</sub>](https://github.com/patrict)<br />[💻](https://github.com/snipe/snipe-it/commits?author=patrict "Code") |
| [<img src="https://avatars3.githubusercontent.com/u/2611616?v=4" width="110px;"/><br /><sub>Dmitriy Minaev</sub>](https://github.com/VELIKII-DIVAN)<br />[💻](https://github.com/snipe/snipe-it/commits?author=VELIKII-DIVAN "Code") | [<img src="https://avatars0.githubusercontent.com/u/5132245?v=4" width="110px;"/><br /><sub>liquidhorse</sub>](https://github.com/liquidhorse)<br />[💻](https://github.com/snipe/snipe-it/commits?author=liquidhorse "Code") | [<img src="https://avatars1.githubusercontent.com/u/183678?v=4" width="110px;"/><br /><sub>Jordi Boggiano</sub>](https://seld.be/)<br />[💻](https://github.com/snipe/snipe-it/commits?author=Seldaek "Code") | [<img src="https://avatars0.githubusercontent.com/u/653557?v=4" width="110px;"/><br /><sub>Ivan Nieto</sub>](https://github.com/inietov)<br />[💻](https://github.com/snipe/snipe-it/commits?author=inietov "Code") | [<img src="https://avatars2.githubusercontent.com/u/6764151?v=4" width="110px;"/><br /><sub>Ben RUBSON</sub>](https://github.com/benrubson)<br />[💻](https://github.com/snipe/snipe-it/commits?author=benrubson "Code") | [<img src="https://avatars2.githubusercontent.com/u/8554558?v=4" width="110px;"/><br /><sub>NMathar</sub>](https://github.com/NMathar)<br />[💻](https://github.com/snipe/snipe-it/commits?author=NMathar "Code") | [<img src="https://avatars1.githubusercontent.com/u/139566?v=4" width="110px;"/><br /><sub>Steffen</sub>](https://github.com/smb)<br />[💻](https://github.com/snipe/snipe-it/commits?author=smb "Code") |
| [<img src="https://avatars0.githubusercontent.com/u/6609453?v=4" width="110px;"/><br /><sub>Sxderp</sub>](https://github.com/Sxderp)<br />[💻](https://github.com/snipe/snipe-it/commits?author=Sxderp "Code") | [<img src="https://avatars1.githubusercontent.com/u/4807843?v=4" width="110px;"/><br /><sub>fanta8897</sub>](https://github.com/fanta8897)<br />[💻](https://github.com/snipe/snipe-it/commits?author=fanta8897 "Code") | [<img src="https://avatars2.githubusercontent.com/u/2576509?v=4" width="110px;"/><br /><sub>Andrey Bolonin</sub>](https://andreybolonin.com/phpconsulting/)<br />[💻](https://github.com/snipe/snipe-it/commits?author=andreybolonin "Code") | [<img src="https://avatars3.githubusercontent.com/u/2173307?v=4" width="110px;"/><br /><sub>shinayoshi</sub>](http://www.shinayoshi.net/)<br />[💻](https://github.com/snipe/snipe-it/commits?author=shinayoshi "Code") | [<img src="https://avatars3.githubusercontent.com/u/2130159?v=4" width="110px;"/><br /><sub>Hubert</sub>](https://github.com/reuser)<br />[💻](https://github.com/snipe/snipe-it/commits?author=reuser "Code") | [<img src="https://avatars0.githubusercontent.com/u/6865789?v=4" width="110px;"/><br /><sub>KeenRivals</sub>](https://brashear.me)<br />[💻](https://github.com/snipe/snipe-it/commits?author=KeenRivals "Code") | [<img src="https://avatars3.githubusercontent.com/u/2902513?v=4" width="110px;"/><br /><sub>omyno</sub>](https://github.com/omyno)<br />[💻](https://github.com/snipe/snipe-it/commits?author=omyno "Code") |
| [<img src="https://avatars1.githubusercontent.com/u/6271335?v=4" width="110px;"/><br /><sub>Evgeny</sub>](https://github.com/jackka)<br />[💻](https://github.com/snipe/snipe-it/commits?author=jackka "Code") | [<img src="https://avatars2.githubusercontent.com/u/1169963?v=4" width="110px;"/><br /><sub>Colin Campbell</sub>](https://digitalist.se)<br />[💻](https://github.com/snipe/snipe-it/commits?author=colin-campbell "Code") | [<img src="https://avatars3.githubusercontent.com/u/2872098?v=4" width="110px;"/><br /><sub>Ľubomír Kučera</sub>](https://github.com/lubo)<br />[💻](https://github.com/snipe/snipe-it/commits?author=lubo "Code") | [<img src="https://avatars3.githubusercontent.com/u/570639?v=4" width="110px;"/><br /><sub>Martin Meredith</sub>](https://www.sourceguru.net)<br />[💻](https://github.com/snipe/snipe-it/commits?author=Mezzle "Code") | [<img src="https://avatars1.githubusercontent.com/u/7632599?v=4" width="110px;"/><br /><sub>Tim Farmer</sub>](https://github.com/timothyfarmer)<br />[💻](https://github.com/snipe/snipe-it/commits?author=timothyfarmer "Code") | [<img src="https://avatars0.githubusercontent.com/u/17459600?v=4" width="110px;"/><br /><sub>Marián Skrip</sub>](https://github.com/mskrip)<br />[💻](https://github.com/snipe/snipe-it/commits?author=mskrip "Code") | [<img src="https://avatars2.githubusercontent.com/u/47435081?v=4" width="110px;"/><br /><sub>Godfrey Martinez</sub>](https://github.com/Godmartinz)<br />[💻](https://github.com/snipe/snipe-it/commits?author=Godmartinz "Code") |
| [<img src="https://avatars1.githubusercontent.com/u/2075128?v=4" width="110px;"/><br /><sub>bigtreeEdo</sub>](https://github.com/bigtreeEdo)<br />[💻](https://github.com/snipe/snipe-it/commits?author=bigtreeEdo "Code") | [<img src="https://avatars0.githubusercontent.com/u/5000430?v=4" width="110px;"/><br /><sub>Colin McNeil</sub>](https://colinmcneil.me/)<br />[💻](https://github.com/snipe/snipe-it/commits?author=ColinMcNeil "Code") | [<img src="https://avatars0.githubusercontent.com/u/421625?v=4" width="110px;"/><br /><sub>JoKneeMo</sub>](https://github.com/JoKneeMo)<br />[💻](https://github.com/snipe/snipe-it/commits?author=JoKneeMo "Code") | [<img src="https://avatars0.githubusercontent.com/u/54849013?v=4" width="110px;"/><br /><sub>Joshi</sub>](http://www.redbridge.se)<br />[💻](https://github.com/snipe/snipe-it/commits?author=joshi-redbridge "Code") | [<img src="https://avatars2.githubusercontent.com/u/15731458?v=4" width="110px;"/><br /><sub>Anthony Burns</sub>](https://github.com/anthonypburns)<br />[💻](https://github.com/snipe/snipe-it/commits?author=anthonypburns "Code") | [<img src="https://avatars1.githubusercontent.com/u/63399474?v=4" width="110px;"/><br /><sub>johnson-yi</sub>](https://github.com/johnson-yi)<br />[💻](https://github.com/snipe/snipe-it/commits?author=johnson-yi "Code") | [<img src="https://avatars1.githubusercontent.com/u/1862720?v=4" width="110px;"/><br /><sub>Sanjay Govind</sub>](https://tangentmc.net)<br />[💻](https://github.com/snipe/snipe-it/commits?author=sanjay900 "Code") |
| [<img src="https://avatars0.githubusercontent.com/u/1255375?v=4" width="110px;"/><br /><sub>Peter Upfold</sub>](https://peter.upfold.org.uk/)<br />[💻](https://github.com/snipe/snipe-it/commits?author=PeterUpfold "Code") | [<img src="https://avatars2.githubusercontent.com/u/961717?v=4" width="110px;"/><br /><sub>Jared Biel</sub>](https://github.com/jbiel)<br />[💻](https://github.com/snipe/snipe-it/commits?author=jbiel "Code") | [<img src="https://avatars1.githubusercontent.com/u/1733625?v=4" width="110px;"/><br /><sub>Dampfklon</sub>](https://github.com/dampfklon)<br />[💻](https://github.com/snipe/snipe-it/commits?author=dampfklon "Code") | [<img src="https://avatars2.githubusercontent.com/u/52973156?v=4" width="110px;"/><br /><sub>Charles Hamilton</sub>](https://communityclosing.com)<br />[💻](https://github.com/snipe/snipe-it/commits?author=chamilton-ccn "Code") | [<img src="https://avatars.githubusercontent.com/u/551789?v=4" width="110px;"/><br /><sub>Giuseppe Iannello</sub>](https://github.com/giannello)<br />[💻](https://github.com/snipe/snipe-it/commits?author=giannello "Code") | [<img src="https://avatars.githubusercontent.com/u/3691490?v=4" width="110px;"/><br /><sub>Peter Dave Hello</sub>](https://www.peterdavehello.org/)<br />[💻](https://github.com/snipe/snipe-it/commits?author=PeterDaveHello "Code") | [<img src="https://avatars.githubusercontent.com/u/6106332?v=4" width="110px;"/><br /><sub>sigmoidal</sub>](https://github.com/sigmoidal)<br />[💻](https://github.com/snipe/snipe-it/commits?author=sigmoidal "Code") |
| [<img src="https://avatars.githubusercontent.com/u/2082554?v=4" width="110px;"/><br /><sub>Vincent Lainé</sub>](https://github.com/phenixdotnet)<br />[💻](https://github.com/snipe/snipe-it/commits?author=phenixdotnet "Code") | [<img src="https://avatars.githubusercontent.com/u/1943040?v=4" width="110px;"/><br /><sub>Lucas Pleß</sub>](http://www.lucas-pless.com)<br />[💻](https://github.com/snipe/snipe-it/commits?author=derlucas "Code") | [<img src="https://avatars.githubusercontent.com/u/472804?v=4" width="110px;"/><br /><sub>Ian Littman</sub>](http://twitter.com/iansltx)<br />[💻](https://github.com/snipe/snipe-it/commits?author=iansltx "Code") | [<img src="https://avatars.githubusercontent.com/u/3519029?v=4" width="110px;"/><br /><sub>João Paulo</sub>](https://github.com/PauloLuna)<br />[💻](https://github.com/snipe/snipe-it/commits?author=PauloLuna "Code") | [<img src="https://avatars.githubusercontent.com/u/70443365?v=4" width="110px;"/><br /><sub>ThoBur</sub>](https://github.com/ThoBur)<br />[💻](https://github.com/snipe/snipe-it/commits?author=ThoBur "Code") | [<img src="https://avatars.githubusercontent.com/u/1972329?v=4" width="110px;"/><br /><sub>Alexander Chibrikin</sub>](http://phpprofi.ru/)<br />[💻](https://github.com/snipe/snipe-it/commits?author=alek13 "Code") | [<img src="https://avatars.githubusercontent.com/u/438332?v=4" width="110px;"/><br /><sub>Anthony Winstanley</sub>](https://github.com/winstan)<br />[💻](https://github.com/snipe/snipe-it/commits?author=winstan "Code") |
| [<img src="https://avatars.githubusercontent.com/u/3075214?v=4" width="110px;"/><br /><sub>Folke</sub>](https://github.com/fashberg)<br />[💻](https://github.com/snipe/snipe-it/commits?author=fashberg "Code") | [<img src="https://avatars.githubusercontent.com/u/1351571?v=4" width="110px;"/><br /><sub>Bennett Blodinger</sub>](https://github.com/benwa)<br />[💻](https://github.com/snipe/snipe-it/commits?author=benwa "Code") | [<img src="https://avatars.githubusercontent.com/u/2974631?v=4" width="110px;"/><br /><sub>NMC</sub>](https://nmc.dev)<br />[💻](https://github.com/snipe/snipe-it/commits?author=ncareau "Code") | [<img src="https://avatars.githubusercontent.com/u/52182449?v=4" width="110px;"/><br /><sub>andres-baller</sub>](https://github.com/andres-baller)<br />[💻](https://github.com/snipe/snipe-it/commits?author=andres-baller "Code") | [<img src="https://avatars.githubusercontent.com/u/67109348?v=4" width="110px;"/><br /><sub>sean-borg</sub>](https://github.com/sean-borg)<br />[💻](https://github.com/snipe/snipe-it/commits?author=sean-borg "Code") | [<img src="https://avatars.githubusercontent.com/u/32170051?v=4" width="110px;"/><br /><sub>EDVLeer</sub>](https://github.com/EDVLeer)<br />[💻](https://github.com/snipe/snipe-it/commits?author=EDVLeer "Code") | [<img src="https://avatars.githubusercontent.com/u/23075196?v=4" width="110px;"/><br /><sub>Kurokat</sub>](https://github.com/Kurokat)<br />[💻](https://github.com/snipe/snipe-it/commits?author=Kurokat "Code") |
| [<img src="https://avatars.githubusercontent.com/u/915514?v=4" width="110px;"/><br /><sub>Kevin Köllmann</sub>](https://www.kevinkoellmann.de)<br />[💻](https://github.com/snipe/snipe-it/commits?author=koelle25 "Code") | [<img src="https://avatars.githubusercontent.com/u/49025941?v=4" width="110px;"/><br /><sub>sw-mreyes</sub>](https://github.com/sw-mreyes)<br />[💻](https://github.com/snipe/snipe-it/commits?author=sw-mreyes "Code") | [<img src="https://avatars.githubusercontent.com/u/70129?v=4" width="110px;"/><br /><sub>Joel Pittet</sub>](https://pittet.ca)<br />[💻](https://github.com/snipe/snipe-it/commits?author=joelpittet "Code") | [<img src="https://avatars.githubusercontent.com/u/792695?v=4" width="110px;"/><br /><sub>Eli Young</sub>](https://elyscape.com)<br />[💻](https://github.com/snipe/snipe-it/commits?author=elyscape "Code") | [<img src="https://avatars.githubusercontent.com/u/317015?v=4" width="110px;"/><br /><sub>Raell Dottin</sub>](https://github.com/raelldottin)<br />[💻](https://github.com/snipe/snipe-it/commits?author=raelldottin "Code") | [<img src="https://avatars.githubusercontent.com/u/1446856?v=4" width="110px;"/><br /><sub>Tom Misilo</sub>](https://github.com/misilot)<br />[💻](https://github.com/snipe/snipe-it/commits?author=misilot "Code") | [<img src="https://avatars.githubusercontent.com/u/4496300?v=4" width="110px;"/><br /><sub>David Davenne</sub>](http://david.davenne.be)<br />[💻](https://github.com/snipe/snipe-it/commits?author=JuustoMestari "Code") |
| [<img src="https://avatars.githubusercontent.com/u/9255772?v=4" width="110px;"/><br /><sub>Mark Stenglein</sub>](https://markstenglein.com)<br />[💻](https://github.com/snipe/snipe-it/commits?author=ocelotsloth "Code") | [<img src="https://avatars.githubusercontent.com/u/35658596?v=4" width="110px;"/><br /><sub>ajsy</sub>](https://github.com/ajsy)<br />[💻](https://github.com/snipe/snipe-it/commits?author=ajsy "Code") | [<img src="https://avatars.githubusercontent.com/u/3628035?v=4" width="110px;"/><br /><sub>Jan Kiesewetter</sub>](https://github.com/t3easy)<br />[💻](https://github.com/snipe/snipe-it/commits?author=t3easy "Code") | [<img src="https://avatars.githubusercontent.com/u/79449630?v=4" width="110px;"/><br /><sub>Tetrachloromethane250</sub>](https://github.com/Tetrachloromethane250)<br />[💻](https://github.com/snipe/snipe-it/commits?author=Tetrachloromethane250 "Code") | [<img src="https://avatars.githubusercontent.com/u/22004482?v=4" width="110px;"/><br /><sub>Lars Kajes</sub>](https://www.kajes.se/)<br />[💻](https://github.com/snipe/snipe-it/commits?author=kajes "Code") | [<img src="https://avatars.githubusercontent.com/u/13993216?v=4" width="110px;"/><br /><sub>Joly0</sub>](https://github.com/Joly0)<br />[💻](https://github.com/snipe/snipe-it/commits?author=Joly0 "Code") | [<img src="https://avatars.githubusercontent.com/u/1501022?v=4" width="110px;"/><br /><sub>theburger</sub>](https://github.com/limeless)<br />[💻](https://github.com/snipe/snipe-it/commits?author=limeless "Code") |
| [<img src="https://avatars.githubusercontent.com/u/36065681?v=4" width="110px;"/><br /><sub>David Valin Alonso</sub>](https://github.com/deivishome)<br />[💻](https://github.com/snipe/snipe-it/commits?author=deivishome "Code") | [<img src="https://avatars.githubusercontent.com/u/8290389?v=4" width="110px;"/><br /><sub>andreaci</sub>](https://github.com/andreaci)<br />[💻](https://github.com/snipe/snipe-it/commits?author=andreaci "Code") | [<img src="https://avatars.githubusercontent.com/u/1828542?v=4" width="110px;"/><br /><sub>Jelle Sebreghts</sub>](http://www.jellesebreghts.be)<br />[💻](https://github.com/snipe/snipe-it/commits?author=Jelle-S "Code") | [<img src="https://avatars.githubusercontent.com/u/11180862?v=4" width="110px;"/><br /><sub>Michael Pietsch</sub>](https://github.com/Skywalker-11)<br /> | [<img src="https://avatars.githubusercontent.com/u/22068886?v=4" width="110px;"/><br /><sub>Masudul Haque Shihab</sub>](https://github.com/sh1hab)<br />[💻](https://github.com/snipe/snipe-it/commits?author=sh1hab "Code") | [<img src="https://avatars.githubusercontent.com/u/16099942?v=4" width="110px;"/><br /><sub>Supapong Areeprasertkul</sub>](http://www.freedomdive.com/)<br />[💻](https://github.com/snipe/snipe-it/commits?author=zybersup "Code") | [<img src="https://avatars.githubusercontent.com/u/207358?v=4" width="110px;"/><br /><sub>Peter Sarossy</sub>](https://github.com/psarossy)<br />[💻](https://github.com/snipe/snipe-it/commits?author=psarossy "Code") |
| [<img src="https://avatars.githubusercontent.com/u/11823649?v=4" width="110px;"/><br /><sub>Renee Margaret McConahy</sub>](https://github.com/nepella)<br />[💻](https://github.com/snipe/snipe-it/commits?author=nepella "Code") | [<img src="https://avatars.githubusercontent.com/u/5553884?v=4" width="110px;"/><br /><sub>JohnnyPicnic</sub>](https://github.com/JohnnyPicnic)<br />[💻](https://github.com/snipe/snipe-it/commits?author=JohnnyPicnic "Code") | [<img src="https://avatars.githubusercontent.com/u/8799594?v=4" width="110px;"/><br /><sub>markbrule</sub>](https://github.com/markbrule)<br />[💻](https://github.com/snipe/snipe-it/commits?author=markbrule "Code") | [<img src="https://avatars.githubusercontent.com/u/1962801?v=4" width="110px;"/><br /><sub>Mike Campbell</sub>](https://github.com/mikecmpbll)<br />[💻](https://github.com/snipe/snipe-it/commits?author=mikecmpbll "Code") | [<img src="https://avatars.githubusercontent.com/u/11973217?v=4" width="110px;"/><br /><sub>tbrconnect</sub>](https://github.com/tbrconnect)<br />[💻](https://github.com/snipe/snipe-it/commits?author=tbrconnect "Code") | [<img src="https://avatars.githubusercontent.com/u/12447225?v=4" width="110px;"/><br /><sub>kcoyo</sub>](https://github.com/kcoyo)<br />[💻](https://github.com/snipe/snipe-it/commits?author=kcoyo "Code") | [<img src="https://avatars.githubusercontent.com/u/494017?v=4" width="110px;"/><br /><sub>Travis Miller</sub>](https://travismiller.com/)<br />[💻](https://github.com/snipe/snipe-it/commits?author=travismiller "Code") |
| [<img src="https://avatars.githubusercontent.com/u/1975640?v=4" width="110px;"/><br /><sub>Evan Taylor</sub>](https://github.com/Delta5)<br />[💻](https://github.com/snipe/snipe-it/commits?author=Delta5 "Code") | [<img src="https://avatars.githubusercontent.com/u/8735148?v=4" width="110px;"/><br /><sub>Petri Asikainen</sub>](https://github.com/PetriAsi)<br />[💻](https://github.com/snipe/snipe-it/commits?author=PetriAsi "Code") | [<img src="https://avatars.githubusercontent.com/u/11424540?v=4" width="110px;"/><br /><sub>derdeagle</sub>](https://github.com/derdeagle)<br />[💻](https://github.com/snipe/snipe-it/commits?author=derdeagle "Code") | [<img src="https://avatars.githubusercontent.com/u/176950?v=4" width="110px;"/><br /><sub>Mike Frysinger</sub>](https://wh0rd.org/)<br />[💻](https://github.com/snipe/snipe-it/commits?author=vapier "Code") | [<img src="https://avatars.githubusercontent.com/u/22044358?v=4" width="110px;"/><br /><sub>ALPHA</sub>](https://github.com/AL4AL)<br />[💻](https://github.com/snipe/snipe-it/commits?author=AL4AL "Code") | [<img src="https://avatars.githubusercontent.com/u/1042587?v=4" width="110px;"/><br /><sub>FliegenKLATSCH</sub>](https://www.ifern.de)<br />[💻](https://github.com/snipe/snipe-it/commits?author=FliegenKLATSCH "Code") | [<img src="https://avatars.githubusercontent.com/u/442138?v=4" width="110px;"/><br /><sub>Jeremy Price</sub>](https://github.com/jerm)<br />[💻](https://github.com/snipe/snipe-it/commits?author=jerm "Code") |
| [<img src="https://avatars.githubusercontent.com/u/84392209?v=4" width="110px;"/><br /><sub>Toreg87</sub>](https://github.com/Toreg87)<br />[💻](https://github.com/snipe/snipe-it/commits?author=Toreg87 "Code") | [<img src="https://avatars.githubusercontent.com/u/67638596?v=4" width="110px;"/><br /><sub>Matthew Nickson</sub>](https://github.com/Computroniks)<br />[💻](https://github.com/snipe/snipe-it/commits?author=Computroniks "Code") | [<img src="https://avatars.githubusercontent.com/u/1646397?v=4" width="110px;"/><br /><sub>Jethro Nederhof</sub>](https://jethron.id.au)<br />[💻](https://github.com/snipe/snipe-it/commits?author=jethron "Code") | [<img src="https://avatars.githubusercontent.com/u/23289826?v=4" width="110px;"/><br /><sub>Oskar Stenberg</sub>](https://github.com/01ste02)<br />[💻](https://github.com/snipe/snipe-it/commits?author=01ste02 "Code") | [<img src="https://avatars.githubusercontent.com/u/82208283?v=4" width="110px;"/><br /><sub>Robert-Azelis</sub>](https://github.com/Robert-Azelis)<br />[💻](https://github.com/snipe/snipe-it/commits?author=Robert-Azelis "Code") | [<img src="https://avatars.githubusercontent.com/u/60648387?v=4" width="110px;"/><br /><sub>Alexander William Smith</sub>](https://github.com/alwism)<br />[💻](https://github.com/snipe/snipe-it/commits?author=alwism "Code") | [<img src="https://avatars.githubusercontent.com/u/24418301?v=4" width="110px;"/><br /><sub>LEITWERK AG</sub>](https://www.leitwerk.de/)<br />[💻](https://github.com/snipe/snipe-it/commits?author=leitwerk-ag "Code") |
| [<img src="https://avatars.githubusercontent.com/u/1911435?v=4" width="110px;"/><br /><sub>Adam</sub>](http://www.aboutcher.co.uk)<br />[💻](https://github.com/snipe/snipe-it/commits?author=adamboutcher "Code") | [<img src="https://avatars.githubusercontent.com/u/16104273?v=4" width="110px;"/><br /><sub>Ian</sub>](https://snksrv.com)<br />[💻](https://github.com/snipe/snipe-it/commits?author=sneak-it "Code") | [<img src="https://avatars.githubusercontent.com/u/4023909?v=4" width="110px;"/><br /><sub>Shao Yu-Lung (Allen)</sub>](http://blog.bestlong.idv.tw/)<br />[💻](https://github.com/snipe/snipe-it/commits?author=bestlong "Code") | [<img src="https://avatars.githubusercontent.com/u/76475453?v=4" width="110px;"/><br /><sub>Haxatron</sub>](https://github.com/Haxatron)<br />[💻](https://github.com/snipe/snipe-it/commits?author=Haxatron "Code") | [<img src="https://avatars.githubusercontent.com/u/88776392?v=4" width="110px;"/><br /><sub>PlaneNuts</sub>](https://github.com/PlaneNuts)<br />[💻](https://github.com/snipe/snipe-it/commits?author=PlaneNuts "Code") | [<img src="https://avatars.githubusercontent.com/u/3842948?v=4" width="110px;"/><br /><sub>Bradley Coudriet</sub>](http://bjcpgd.cias.rit.edu)<br />[💻](https://github.com/snipe/snipe-it/commits?author=exula "Code") | [<img src="https://avatars.githubusercontent.com/u/21966173?v=4" width="110px;"/><br /><sub>Dalton Durst</sub>](https://daltondur.st)<br />[💻](https://github.com/snipe/snipe-it/commits?author=UniversalSuperBox "Code") |
| [<img src="https://avatars.githubusercontent.com/u/38761237?v=4" width="110px;"/><br /><sub>Alex Janes</sub>](https://adagiohealth.org)<br />[💻](https://github.com/snipe/snipe-it/commits?author=adagioajanes "Code") | [<img src="https://avatars.githubusercontent.com/u/32387849?v=4" width="110px;"/><br /><sub>Nuraeil</sub>](https://github.com/nuraeil)<br />[💻](https://github.com/snipe/snipe-it/commits?author=nuraeil "Code") | [<img src="https://avatars.githubusercontent.com/u/48162670?v=4" width="110px;"/><br /><sub>TenOfTens</sub>](https://github.com/TenOfTens)<br />[💻](https://github.com/snipe/snipe-it/commits?author=TenOfTens "Code") | [<img src="https://avatars.githubusercontent.com/u/9415391?v=4" width="110px;"/><br /><sub>waffle</sub>](https://ditisjens.be/)<br />[💻](https://github.com/snipe/snipe-it/commits?author=insert-waffle "Code") | [<img src="https://avatars.githubusercontent.com/u/19945501?v=4" width="110px;"/><br /><sub>Yevhenii Huzii</sub>](https://github.com/QveenSi)<br />[💻](https://github.com/snipe/snipe-it/commits?author=QveenSi "Code") | [<img src="https://avatars.githubusercontent.com/u/3839381?v=4" width="110px;"/><br /><sub>Achmad Fienan Rahardianto</sub>](https://github.com/veenone)<br />[💻](https://github.com/snipe/snipe-it/commits?author=veenone "Code") | [<img src="https://avatars.githubusercontent.com/u/19945501?v=4" width="110px;"/><br /><sub>Yevhenii Huzii</sub>](https://github.com/QveenSi)<br />[💻](https://github.com/snipe/snipe-it/commits?author=QveenSi "Code") |
| [<img src="https://avatars.githubusercontent.com/u/97299851?v=4" width="110px;"/><br /><sub>Christian Weirich</sub>](https://github.com/chrisweirich)<br />[💻](https://github.com/snipe/snipe-it/commits?author=chrisweirich "Code") | [<img src="https://avatars.githubusercontent.com/u/1294403?v=4" width="110px;"/><br /><sub>denzfarid</sub>](https://github.com/denzfarid)<br /> | [<img src="https://avatars.githubusercontent.com/u/94018771?v=4" width="110px;"/><br /><sub>ntbutler-nbcs</sub>](https://github.com/ntbutler-nbcs)<br />[💻](https://github.com/snipe/snipe-it/commits?author=ntbutler-nbcs "Code") | [<img src="https://avatars.githubusercontent.com/u/172697?v=4" width="110px;"/><br /><sub>Naveen</sub>](https://naveensrinivasan.dev)<br />[💻](https://github.com/snipe/snipe-it/commits?author=naveensrinivasan "Code") | [<img src="https://avatars.githubusercontent.com/u/55674383?v=4" width="110px;"/><br /><sub>Mike Roquemore</sub>](https://github.com/mikeroq)<br />[💻](https://github.com/snipe/snipe-it/commits?author=mikeroq "Code") | [<img src="https://avatars.githubusercontent.com/u/7991086?v=4" width="110px;"/><br /><sub>Daniel Reeder</sub>](https://github.com/reederda)<br />[🌍](#translation-reederda "Translation") [🌍](#translation-reederda "Translation") [💻](https://github.com/snipe/snipe-it/commits?author=reederda "Code") | [<img src="https://avatars.githubusercontent.com/u/109422491?v=4" width="110px;"/><br /><sub>vickyjaura183</sub>](https://github.com/vickyjaura183)<br />[💻](https://github.com/snipe/snipe-it/commits?author=vickyjaura183 "Code") |
| [<img src="https://avatars.githubusercontent.com/u/32363424?v=4" width="110px;"/><br /><sub>Peace</sub>](https://github.com/julian-piehl)<br />[💻](https://github.com/snipe/snipe-it/commits?author=julian-piehl "Code") | [<img src="https://avatars.githubusercontent.com/u/231528?v=4" width="110px;"/><br /><sub>Kyle Gordon</sub>](https://github.com/kylegordon)<br />[💻](https://github.com/snipe/snipe-it/commits?author=kylegordon "Code") | [<img src="https://avatars.githubusercontent.com/u/53009155?v=4" width="110px;"/><br /><sub>Katharina Drexel</sub>](http://www.bfh.ch)<br />[💻](https://github.com/snipe/snipe-it/commits?author=sunflowerbofh "Code") | [<img src="https://avatars.githubusercontent.com/u/1931963?v=4" width="110px;"/><br /><sub>David Sferruzza</sub>](https://david.sferruzza.fr/)<br />[💻](https://github.com/snipe/snipe-it/commits?author=dsferruzza "Code") | [<img src="https://avatars.githubusercontent.com/u/19511639?v=4" width="110px;"/><br /><sub>Rick Nelson</sub>](https://github.com/rnelsonee)<br />[💻](https://github.com/snipe/snipe-it/commits?author=rnelsonee "Code") | [<img src="https://avatars.githubusercontent.com/u/94169344?v=4" width="110px;"/><br /><sub>BasO12</sub>](https://github.com/BasO12)<br />[💻](https://github.com/snipe/snipe-it/commits?author=BasO12 "Code") | [<img src="https://avatars.githubusercontent.com/u/111710123?v=4" width="110px;"/><br /><sub>Vautia</sub>](https://github.com/Vautia)<br />[💻](https://github.com/snipe/snipe-it/commits?author=Vautia "Code") |
| [<img src="https://avatars.githubusercontent.com/u/28321?v=4" width="110px;"/><br /><sub>Chris Hartjes</sub>](http://www.littlehart.net/atthekeyboard)<br />[💻](https://github.com/snipe/snipe-it/commits?author=chartjes "Code") | [<img src="https://avatars.githubusercontent.com/u/2404584?v=4" width="110px;"/><br /><sub>geo-chen</sub>](https://github.com/geo-chen)<br />[💻](https://github.com/snipe/snipe-it/commits?author=geo-chen "Code") | [<img src="https://avatars.githubusercontent.com/u/6006620?v=4" width="110px;"/><br /><sub>Phan Nguyen</sub>](https://github.com/nh314)<br />[💻](https://github.com/snipe/snipe-it/commits?author=nh314 "Code") | [<img src="https://avatars.githubusercontent.com/u/115993812?v=4" width="110px;"/><br /><sub>Iisakki Jaakkola</sub>](https://github.com/StarlessNights)<br />[💻](https://github.com/snipe/snipe-it/commits?author=StarlessNights "Code") | [<img src="https://avatars.githubusercontent.com/u/22633385?v=4" width="110px;"/><br /><sub>Ikko Ashimine</sub>](https://bandism.net/)<br />[💻](https://github.com/snipe/snipe-it/commits?author=eltociear "Code") | [<img src="https://avatars.githubusercontent.com/u/56871540?v=4" width="110px;"/><br /><sub>Lukas Fehling</sub>](https://github.com/lukasfehling)<br />[💻](https://github.com/snipe/snipe-it/commits?author=lukasfehling "Code") | [<img src="https://avatars.githubusercontent.com/u/1975990?v=4" width="110px;"/><br /><sub>Fernando Almeida</sub>](https://github.com/fernando-almeida)<br />[💻](https://github.com/snipe/snipe-it/commits?author=fernando-almeida "Code") |
| [<img src="https://avatars.githubusercontent.com/u/116301219?v=4" width="110px;"/><br /><sub>akemidx</sub>](https://github.com/akemidx)<br />[💻](https://github.com/snipe/snipe-it/commits?author=akemidx "Code") | [<img src="https://avatars.githubusercontent.com/u/144778?v=4" width="110px;"/><br /><sub>Oguz Bilgic</sub>](http://oguz.site)<br />[💻](https://github.com/snipe/snipe-it/commits?author=oguzbilgic "Code") | [<img src="https://avatars.githubusercontent.com/u/9262438?v=4" width="110px;"/><br /><sub>Scooter Crawford</sub>](https://github.com/scoo73r)<br />[💻](https://github.com/snipe/snipe-it/commits?author=scoo73r "Code") | [<img src="https://avatars.githubusercontent.com/u/5957345?v=4" width="110px;"/><br /><sub>subdriven</sub>](https://github.com/subdriven)<br />[💻](https://github.com/snipe/snipe-it/commits?author=subdriven "Code") | [<img src="https://avatars.githubusercontent.com/u/658865?v=4" width="110px;"/><br /><sub>Andrew Savinykh</sub>](https://github.com/AndrewSav)<br />[💻](https://github.com/snipe/snipe-it/commits?author=AndrewSav "Code") | [<img src="https://avatars.githubusercontent.com/u/1155067?v=4" width="110px;"/><br /><sub>Tadayuki Onishi</sub>](https://kenchan0130.github.io)<br />[💻](https://github.com/snipe/snipe-it/commits?author=kenchan0130 "Code") | [<img src="https://avatars.githubusercontent.com/u/112496896?v=4" width="110px;"/><br /><sub>Florian</sub>](https://github.com/floschoepfer)<br />[💻](https://github.com/snipe/snipe-it/commits?author=floschoepfer "Code") |
| [<img src="https://avatars.githubusercontent.com/u/7305753?v=4" width="110px;"/><br /><sub>Spencer Long</sub>](http://spencerlong.com)<br />[💻](https://github.com/snipe/snipe-it/commits?author=spencerrlongg "Code") | [<img src="https://avatars.githubusercontent.com/u/1141514?v=4" width="110px;"/><br /><sub>Marcus Moore</sub>](https://github.com/marcusmoore)<br />[💻](https://github.com/snipe/snipe-it/commits?author=marcusmoore "Code") | [<img src="https://avatars.githubusercontent.com/u/570639?v=4" width="110px;"/><br /><sub>Martin Meredith</sub>](https://github.com/Mezzle)<br /> | [<img src="https://avatars.githubusercontent.com/u/5731963?v=4" width="110px;"/><br /><sub>dboth</sub>](http://dboth.de)<br />[💻](https://github.com/snipe/snipe-it/commits?author=dboth "Code") | [<img src="https://avatars.githubusercontent.com/u/87536651?v=4" width="110px;"/><br /><sub>Zachary Fleck</sub>](https://github.com/zacharyfleck)<br />[💻](https://github.com/snipe/snipe-it/commits?author=zacharyfleck "Code") | [<img src="https://avatars.githubusercontent.com/u/74609912?v=4" width="110px;"/><br /><sub>VIKAAS-A</sub>](https://github.com/vikaas-cyper)<br />[💻](https://github.com/snipe/snipe-it/commits?author=vikaas-cyper "Code") | [<img src="https://avatars.githubusercontent.com/u/88882041?v=4" width="110px;"/><br /><sub>Abdul Kareem</sub>](https://github.com/ak-piracha)<br />[💻](https://github.com/snipe/snipe-it/commits?author=ak-piracha "Code") |
| [<img src="https://avatars.githubusercontent.com/u/111287779?v=4" width="110px;"/><br /><sub>NojoudAlshehri</sub>](https://github.com/NojoudAlshehri)<br />[💻](https://github.com/snipe/snipe-it/commits?author=NojoudAlshehri "Code") | [<img src="https://avatars.githubusercontent.com/u/54367449?v=4" width="110px;"/><br /><sub>Stefan Stidl</sub>](https://github.com/stefanstidlffg)<br />[💻](https://github.com/snipe/snipe-it/commits?author=stefanstidlffg "Code") | [<img src="https://avatars.githubusercontent.com/u/87803479?v=4" width="110px;"/><br /><sub>Quentin Aymard</sub>](https://github.com/qay21)<br />[💻](https://github.com/snipe/snipe-it/commits?author=qay21 "Code") | [<img src="https://avatars.githubusercontent.com/u/5396871?v=4" width="110px;"/><br /><sub>Grant Le Roux</sub>](https://github.com/cram42)<br />[💻](https://github.com/snipe/snipe-it/commits?author=cram42 "Code") |
<!-- ALL-CONTRIBUTORS-LIST:END -->
This project follows the [all-contributors](https://github.com/kentcdodds/all-contributors) specification. Contributions of any kind welcome!
-----
### Contributing
Please see the documentation on [contributing and developing for Snipe-IT](https://snipe-it.readme.io/docs/contributing-overview).
Please note that this project is released with a [Contributor Code of Conduct](CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms.
-----
### Security
To report a security vulnerability, please email security@snipeitapp.com instead of using the issue tracker.
+27
View File
@@ -0,0 +1,27 @@
# Security Policy
We take security issues very seriously, and will always attempt to address any
vulnerabilities as quickly as possible.
## Supported Versions
We try to make a reasonable effort to support older versions of Snipe-IT,
however there are times when library dependencies and/or PHP/MySQL dependencies
make it impossible to backport security fixes on older versions.
| Version | Supported |
| ------- | ------------------ |
| 5.1.x | :white_check_mark: |
| 5.0.x | :x: |
| 4.0.x | :white_check_mark: |
| < 4.0 | :x: |
## Reporting a Vulnerability
Security vulnerabilities should be sent to security@snipeitapp.com. You can typically expect a
response within two business days, and we typically have fixes out in under a week from the initial disclosure.
This obviously varies based on the severity of the security issue and the difficulty in remediation,
but those have historically been the timelines we worm around.
For a full breakdown of our security policies, please see https://snipeitapp.com/security.
+52
View File
@@ -0,0 +1,52 @@
# Running the Test Suite
This document is targeted at developers looking to make modifications to this application's code base and want to run the existing test suite.
Before starting, follow the [instructions](README.md#installation) for installing the application locally and ensure you can load it in a browser properly.
## Unit and Feature Tests
Before attempting to run the test suite copy the example environment file for tests and update the values to match your environment:
`cp .env.testing.example .env.testing`
The following should work for running tests in memory with sqlite:
```
# --------------------------------------------
# REQUIRED: BASIC APP SETTINGS
# --------------------------------------------
APP_ENV=testing
APP_DEBUG=true
APP_KEY=base64:glJpcM7BYwWiBggp3SQ/+NlRkqsBQMaGEOjemXqJzOU=
APP_URL=http://localhost:8000
APP_TIMEZONE='UTC'
APP_LOCALE=en
# --------------------------------------------
# REQUIRED: DATABASE SETTINGS
# --------------------------------------------
DB_CONNECTION=sqlite_testing
#DB_HOST=127.0.0.1
#DB_PORT=3306
#DB_DATABASE=null
#DB_USERNAME=null
#DB_PASSWORD=null
```
To use MySQL you should update the `DB_` variables to match your local test database:
```
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE={}
DB_USERNAME={}
DB_PASSWORD={}
```
Now you are ready to run the entire test suite from your terminal:
`php artisan test`
To run individual test files, you can pass the path to the test that you want to run:
`php artisan test tests/Unit/AccessoryTest.php`
Vendored
+36 -9
View File
@@ -8,25 +8,34 @@ Vagrant.configure("2") do |config|
config.vm.define "bionic" do |bionic|
bionic.vm.box = "ubuntu/bionic64"
bionic.vm.hostname = 'bionic'
bionic.vm.network "public_network", bridge: NETWORK_BRIDGE
bionic.vm.provision :shell, :inline => "wget #{SNIPEIT_SH_URL}"
bionic.vm.provision :shell, :inline => "chmod 755 snipeit.sh"
bionic.vm.network "forwarded_port", guest: 80, host: 8080
bionic.vm.synced_folder ".", "/vagrant", :owner => 'www-data',
:group => 'vagrant', :mount_options => ['dmode=775', 'fmode=775']
bionic.vm.provision "ansible_local" do |ansible|
ansible.playbook = "ansible/ubuntu/vagrant_playbook.yml"
end
end
config.vm.define "xenial" do |xenial|
xenial.vm.box = "ubuntu/xenial64"
xenial.vm.hostname = 'xenial'
xenial.vm.network "public_network", bridge: NETWORK_BRIDGE
xenial.vm.provision :shell, :inline => "wget #{SNIPEIT_SH_URL}"
xenial.vm.provision :shell, :inline => "chmod 755 snipeit.sh"
xenial.vm.network "forwarded_port", guest: 80, host: 8080
xenial.vm.synced_folder ".", "/vagrant", :owner => 'www-data',
:group => 'vagrant', :mount_options => ['dmode=775', 'fmode=775']
xenial.vm.provision "ansible_local" do |ansible|
ansible.playbook = "ansible/ubuntu/vagrant_playbook.yml"
end
end
config.vm.define "trusty" do |trusty|
trusty.vm.box = "ubuntu/trusty32"
trusty.vm.hostname = 'trusty'
trusty.vm.network "public_network", bridge: NETWORK_BRIDGE
trusty.vm.provision :shell, :inline => "wget #{SNIPEIT_SH_URL}"
trusty.vm.provision :shell, :inline => "chmod 755 snipeit.sh"
trusty.vm.network "forwarded_port", guest: 80, host: 8080
trusty.vm.synced_folder ".", "/vagrant", :owner => 'www-data',
:group => 'vagrant', :mount_options => ['dmode=775', 'fmode=775']
trusty.vm.provision "ansible_local" do |ansible|
ansible.playbook = "ansible/ubuntu/vagrant_playbook.yml"
end
end
config.vm.define "centos7" do |centos7|
@@ -81,4 +90,22 @@ Vagrant.configure("2") do |config|
fedora26.vm.provision :shell, :inline => "wget #{SNIPEIT_SH_URL}"
fedora26.vm.provision :shell, :inline => "chmod 755 snipeit.sh"
end
config.vm.define "freebsd" do |freebsd|
freebsd.vm.box = "freebsd/FreeBSD-11.2-RELEASE"
freebsd.vm.hostname = 'freebsd12'
freebsd.vm.network "forwarded_port", guest: 80, host: 8080
freebsd.vm.network "forwarded_port", guest:3306, host:3306 # mysql
freebsd.vm.network "private_network", type: "dhcp"
freebsd.ssh.shell = "sh"
freebsd.vm.base_mac = "080027D14C66"
freebsd.vm.synced_folder ".", "/vagrant", :nfs => true, id: "vagrant-root",
:mount_options => ['rw', 'vers=3', 'tcp', 'actimeo=2']
freebsd.vm.provision "shell", inline: <<-SHELL
pkg install -y python27;
SHELL
freebsd.vm.provision "ansible" do |ansible|
ansible.playbook = "ansible/freebsd/vagrant_playbook.yml"
end
end
end
+260
View File
@@ -0,0 +1,260 @@
---
- name: Set up local server
hosts: all
remote_user: vagrant
become_user: root
become_method: sudo
vars:
- ansible_python_interpreter: /usr/local/bin/python2.7
gather_facts: no
# Tasks
tasks:
#
# Update the PKG database
#
- name: Upgrade PKG database
raw: sudo pkg upgrade -y
#
# Mount the shared folders
#
- name: Update Vagrant Shared Folders
command: "{{ item }}"
with_items:
- sysrc rpc_lockd_enable=YES
- sysrc rpc_statd_enable=YES
become: true
#
# Install required utilities
#
- name: Install Utilities
pkgng:
name: "{{ item }}"
state: present
with_items:
- openssl
- node
- npm
- git
- nano
- wget
- bash
become: true
#
# Install php and php dependancies
#
- name: Install PHP dependancies
pkgng:
name: "{{ item }}"
state: present
with_items:
- php72
- php72-zip
- php72-zlib
- php72-extensions
- php72-mbstring
- php72-openssl
# - php72-mysqli
- php72-curl
- php72-soap
- php72-pdo_mysql
# - php72-pdo_pgsql
- php72-ldap
- php72-curl
- php72-fileinfo
- php72-bcmath
- php72-gd
become: true
#
# Create a php.ini file
#
- name: PHP INI check
stat:
path: /usr/local/etc/php.ini
register: php_ini_exits
- name: Create PHP ini
command: cp /usr/local/etc/php.ini-development /usr/local/etc/php.ini
become: true
when: not php_ini_exits.stat.exists
- name: Enable PHP-FPM auto-start
command: sysrc php_fpm_enable=YES
become: true
- name: Start PHP-FPM service
service:
name: php-fpm
state: started
become: true
#
# Install the lastest version of composer
#
- name: Composer check
stat:
path: /usr/local/bin/composer
register: composer_exits
- name: Install Composer
shell: |
EXPECTED_SIGNATURE=$(wget -q -O - https://composer.github.io/installer.sig)
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
ACTUAL_SIGNATURE=$(php -r "echo hash_file('SHA384', 'composer-setup.php');")
if [ "$EXPECTED_SIGNATURE" != "$ACTUAL_SIGNATURE" ]
then
>&2 echo 'ERROR: Invalid installer signature'
rm composer-setup.php
exit 1
fi
php composer-setup.php --quiet
RESULT=$?
rm composer-setup.php
mv composer.phar /usr/local/bin/composer
exit $RESULT
when: not composer_exits.stat.exists
become: true
#
# Install MySQL Server
- name: Install MySQL 5.7
pkgng:
name: mysql57-server
state: present
become: true
register: sql_server
- name: Start MySQL server
service:
name: mysql-server
state: started
become: true
- name: MySQL 5.7 auto-start
command: sysrc mysql_enable=YES
become: true
when: sql_server.changed == true
- name: Get MySQL root password
command: tail -1 /root/.mysql_secret
register: myql_root_pwd
become: true
when: sql_server.changed == true
- name: Change MySQL root password
command: mysqladmin -u root -p'{{myql_root_pwd.stdout}}' password vagrant
when: sql_server.changed == true
- name: Enable remote mysql
replace:
path: /usr/local/etc/mysql/my.cnf
regexp: "127.0.0.1"
replace: "0.0.0.0"
become: true
when: sql_server.changed == true
- name: Grant user vagrant privelages
shell: mysql -u root -pvagrant -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'vagrant' WITH GRANT OPTION; FLUSH PRIVILEGES;"
become: true
when: sql_server.changed == true
ignore_errors: true
- name: Restart MySQL server
service:
name: mysql-server
state: restarted
become: true
#
# Install Apache Web Server
#
- name: Install Apache 2.4
pkgng:
name: apache24
state: present
become: true
register: apache24_server
- name: Apache 2.4 auto-start
command: sysrc apache24_enable=YES
become: true
when: apache24_server.changed == true
- name: Enable Apache modules
replace:
path: /usr/local/etc/apache24/httpd.conf
regexp: "#{{ item }}"
replace: "{{ item }}"
become: true
with_items:
- LoadModule rewrite_module libexec/apache24/mod_rewrite.so
- LoadModule vhost_alias_module libexec/apache24/mod_vhost_alias.so
- LoadModule deflate_module libexec/apache24/mod_deflate.so
- LoadModule expires_module libexec/apache24/mod_expires.so
- LoadModule mpm_worker_module libexec/apache24/mod_mpm_worker.so
- LoadModule proxy_fcgi_module libexec/apache24/mod_proxy_fcgi.so
- LoadModule proxy_module libexec/apache24/mod_proxy.so
- Include etc/apache24/extra/httpd-vhosts.conf
when: apache24_server.changed == true
- name: Disable Apache modules
replace:
path: /usr/local/etc/apache24/httpd.conf
regexp: "{{ item }}"
replace: "#{{ item }}"
become: true
with_items:
- LoadModule mpm_prefork_module libexec/apache24/mod_mpm_prefork.so
when: apache24_server.changed == true
- name: Backup vhosts
command: cp /usr/local/etc/apache24/extra/httpd-vhosts.conf /usr/local/etc/apache24/extra/httpd-vhosts.conf.bak
become: true
when: apache24_server.changed == true
- name: Truncate vhosts
command: truncate -s 0 /usr/local/etc/apache24/extra/httpd-vhosts.conf
become: true
when: apache24_server.changed == true
- name: Set up vhost
blockinfile:
path: "/usr/local/etc/apache24/extra/httpd-vhosts.conf"
block: |
<VirtualHost *>
DocumentRoot /usr/local/www/apache24/data/public
ServerName vagrant.app
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/usr/local/www/apache24/data/public/$1
DirectoryIndex /index.php index.php
<Directory /usr/local/www/apache24/data/public>
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
become: true
when: apache24_server.changed == true
- name: Map apache dir to local folder
shell: |
if ! [ -L /var/www ]; then
rm -rf /usr/local/www/apache24/data;
ln -fs /vagrant /usr/local/www/apache24/data;
fi
become: true
when: apache24_server.changed == true
- name: Start Apache 2.4 server
service:
name: apache24
state: started
become: true
+10
View File
@@ -0,0 +1,10 @@
<VirtualHost *:80>
<Directory {{ app_path }}/public>
Allow From All
AllowOverride All
Options -Indexes
</Directory>
DocumentRoot {{ app_path }}/public
ServerName {{ fqdn }}
</VirtualHost>
+226
View File
@@ -0,0 +1,226 @@
---
- name: Set up local server
hosts: all
remote_user: vagrant
become_user: root
become_method: sudo
vars:
app_path: "/var/www/snipeit"
fqdn: "localhost"
tasks:
- name: Update and upgrade existing apt packages
become: true
apt:
upgrade: yes
update_cache: yes
- name: Install Utilities
become: true
apt:
name: "{{ packages }}"
state: present
vars:
packages:
- nano
- vim
- name: Installing Apache httpd, PHP, MariaDB and other requirements.
become: true
apt:
name: "{{ packages }}"
state: present
vars:
packages:
- mariadb-client
- php
- php-curl
- php-mysql
- php-gd
- php-ldap
- php-zip
- php-mbstring
- php-xml
- php-bcmath
- curl
- git
- unzip
- python-pymysql
#
# Install the lastest version of composer
#
- name: Composer check
stat:
path: /usr/local/bin/composer
register: composer_exits
- name: Install Composer
shell: |
EXPECTED_SIGNATURE=$(wget -q -O - https://composer.github.io/installer.sig)
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
ACTUAL_SIGNATURE=$(php -r "echo hash_file('SHA384', 'composer-setup.php');")
if [ "$EXPECTED_SIGNATURE" != "$ACTUAL_SIGNATURE" ]
then
>&2 echo 'ERROR: Invalid installer signature'
rm composer-setup.php
exit 1
fi
php composer-setup.php --quiet
RESULT=$?
rm composer-setup.php
mv composer.phar /usr/local/bin/composer
exit $RESULT
when: not composer_exits.stat.exists
args:
creates: /usr/local/bin/composer
become: true
#
# Install and Configure MariaDB
#
- name: Install MariaDB
become: true
apt:
name: mariadb-server
state: present
register: sql_server
- name: Start and Enable MySQL server
become: true
systemd:
state: started
enabled: yes
name: mariadb
- name: Create Vagrant mysql password
become: true
mysql_user:
name: vagrant
password: vagrant
login_unix_socket: /var/run/mysqld/mysqld.sock
priv: "*.*:ALL"
state: present
- name: Enable remote mysql
replace:
path: /etc/mysql/mariadb.conf.d/50-server.cnf
regexp: "127.0.0.1"
replace: "0.0.0.0"
become: true
notify:
- restart mysql
- name: Create snipeit database
become: true
mysql_db:
name: snipeit
state: present
login_unix_socket: /var/run/mysqld/mysqld.sock
#
# Install Apache Web Server
#
- name: Install Apache 2.4
apt:
name: "{{ packages }}"
state: present
vars:
packages:
- apache2
- libapache2-mod-php
become: true
register: apache2_server
- name: Start and Enable Apache2 Server
become: true
systemd:
name: apache2
state: started
enabled: yes
#- name: Disable Apache modules
# become: true
# apache2_module:
# state: absent
# name: "{{ item }}"
# with_items:
# #- mpm_prefork
# notify:
# - restart apache2
- name: Enable Apache modules
become: true
apache2_module:
state: present
name: "{{ item }}"
with_items:
- rewrite
- vhost_alias
- deflate
- expires
- proxy_fcgi
- proxy
notify:
- restart apache2
- name: Install Apache VirtualHost File
become: true
template:
src: apachevirtualhost.conf.j2
dest: "/etc/apache2/sites-available/snipeit.conf"
- name: Enable VirtualHost
become: true
command: a2ensite snipeit
args:
creates: /etc/apache2/sites-enabled/snipeit.conf
notify:
- restart apache2
- name: Map apache dir to local folder
become: true
file:
src: /vagrant
dest: "{{ app_path }}"
state: link
notify:
- restart apache2
#
# Install dependencies from composer
#
- name: Install dependencies from composer
composer:
command: install
working_dir: "{{ app_path }}"
notify:
- restart apache2
#
# Configure .env file
#
- name: Copy .env file
copy:
src: "{{ app_path }}/.env.example"
dest: "{{ app_path }}/.env"
- name: Configure .env file
lineinfile:
path: "{{ app_path }}/.env"
regexp: "{{ item.regexp }}"
line: "{{ item.line }}"
with_items:
- { regexp: '^DB_HOST=', line: 'DB_HOST=127.0.0.1'}
- { regexp: '^DB_DATABASE=', line: 'DB_DATABASE=snipeit' }
- { regexp: '^DB_USERNAME=', line: 'DB_USERNAME=vagrant' }
- { regexp: '^DB_PASSWORD=', line: 'DB_PASSWORD=vagrant' }
- { regexp: '^APP_URL=', line: "APP_URL=http://{{ fqdn }}" }
- { regexp: '^APP_ENV=', line: "APP_ENV=development" }
- { regexp: '^APP_DEBUG=', line: "APP_DEBUG=true" }
- name: Generate application key
shell: "php {{ app_path }}/artisan key:generate --force"
- name: Artisan Migrate
shell: "php {{ app_path }}/artisan migrate --force"
#
# Create Cron Job
#
- name: Create scheduler cron job
become: true
cron:
name: "Snipe-IT Artisan Scheduler"
job: "/usr/bin/php {{ app_path }}/artisan schedule:run"
handlers:
- name: restart apache2
become: true
systemd:
name: apache2
state: restarted
- name: restart mysql
become: true
systemd:
name: mysql
state: restarted
+154
View File
@@ -0,0 +1,154 @@
{
"name": "Snipe-IT",
"description": "Open source asset management.",
"keywords": [
"asset management",
"it asset"
],
"website": "https://snipeitapp.com/",
"repository": "https://github.com/snipe/snipe-it",
"logo": "https://pbs.twimg.com/profile_images/976748875733020672/K-HnZCCK_400x400.jpg",
"success_url": "/setup",
"env": {
"APP_ENV": {
"description": "Laravel environment mode. Unless developing the application, this should be production.",
"value": "production"
},
"APP_DEBUG": {
"description": "Laravel debug mode. Unless developing the application or actively debugging a problem, this should be set to false.",
"value": "false"
},
"APP_KEY": {
"description": "A secret key for verifying the integrity of signed cookies. (See either https://snipe-it.readme.io/docs/generate-your-app-key or generate at https://coderstoolbox.online/toolbox/generate-symfony-secret)",
"value": ""
},
"APP_URL": {
"description": "URL where your Snipe-IT install will be available at.",
"value": "https://your-app-name.herokuapp.com"
},
"APP_TIMEZONE": {
"description": "Which timezone do you want to use for your install? (http://php.net/manual/en/timezones.php)",
"value": "UTC"
},
"APP_LOCALE": {
"description": "Which language do you want to use for your install? (https://snipe-it.readme.io/docs/configuration#setting-a-language)",
"value": "en"
},
"MAX_RESULTS": {
"description": "The maximum number of search results that can be returned at one time.",
"value": "500"
},
"MAIL_DRIVER": {
"description": "Mail driver - Generally SMTP on Heroku - https://snipe-it.readme.io/docs/configuration#required-outgoing-mail-settings",
"value": "smtp"
},
"MAIL_HOST": {
"description": "SMTP Server Hostname",
"value": "smtp.your.domain.name"
},
"MAIL_PORT": {
"description": "SMTP Server Port",
"value": "25"
},
"MAIL_USERNAME": {
"description": "SMTP Server Username",
"value": "YOURUSERNAME"
},
"MAIL_PASSWORD": {
"description": "SMTP Server Password",
"value": "YOURPASSWORD"
},
"MAIL_ENCRYPTION": {
"description": "Encryption protocol for email sending.",
"value": "null"
},
"MAIL_FROM_ADDR": {
"description": "Email from address",
"value": "no-reply@domain.name"
},
"MAIL_FROM_NAME": {
"description": "Email from Name",
"value": "Snipe-IT"
},
"MAIL_REPLYTO_ADDR": {
"description": "Email Reply-To address",
"value": "your@domain.name"
},
"MAIL_REPLYTO_NAME": {
"description": "Email Reply-To Name",
"value": "Snipe-IT"
},
"MAIL_AUTO_EMBED": {
"description": "Whether or not to embed images in emails (via CID or base64) versus linking to them.",
"value": "true"
},
"MAIL_AUTO_EMBED_METHOD": {
"description": "Method that should be used for attaching inline images.",
"value": "base64"
},
"SESSION_LIFETIME": {
"description": "Specify the time in minutes that the session should remain valid.",
"value": "12000"
},
"EXPIRE_ON_CLOSE": {
"description": "Specify whether or not the logged in session should be expired when the user closes their browser window.",
"value": "false"
},
"ENCRYPT": {
"description": "Specify whether you wish to use encrypted cookies for your Snipe-IT sessions.",
"value": "true"
},
"COOKIE_NAME": {
"description": "The name of the cookie set by Snipe-IT for session management.",
"value": "snipeit_session"
},
"COOKIE_DOMAIN": {
"description": "The domain name that the session cookie should be sent for.",
"value": "your-app-name.herokuapp.com"
},
"SECURE_COOKIES": {
"description": "Should cookies only be sent for HTTPS connections? Generally true on Heroku.",
"value": "true"
},
"LOGIN_MAX_ATTEMPTS": {
"description": "The maximum number of failed attempts allowed before the user is throttled.",
"value": "5"
},
"LOGIN_LOCKOUT_DURATION": {
"description": "The duration (in seconds) that the user should be blocked from attempting to authenticate again.",
"value": "60"
},
"LOG_CHANNEL": {
"description": "Driver to send logs to. (errorlog for stderr)",
"value": "errorlog"
},
"ALLOW_IFRAMING": {
"description": "Allow Snipe-IT to be loaded using an iFrame?",
"value": "false"
},
"GOOGLE_MAPS_API": {
"description": "Include your Google Maps API key here if you'd like Snipe-IT to load maps from Google on your locations and suppliers pages.",
"required": false
},
"BACKUP_ENV": {
"description": "Set this to true if you wish to backup your .env file in your Admin > Backups process.",
"value": "true"
},
"ENABLE_HSTS": {
"description": "Whether or not to send the HSTS security policy header.",
"value": "false"
}
},
"formation": {
"web": {
"quantity": 1,
"size": "free"
}
},
"image": "heroku/php",
"addons": [
"cleardb:ignite",
"heroku-redis:mini",
"papertrail:choklad"
]
}
@@ -0,0 +1,88 @@
<?php
namespace App\Console\Commands;
use App\Models\License;
use App\Models\LicenseSeat;
use App\Models\User;
use Illuminate\Console\Command;
use Illuminate\Database\Eloquent\Model;
class CheckinLicensesFromAllUsers extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'snipeit:checkin-from-all {--license_id=} {--notify}';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Checks in licenses from all users';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
$license_id = $this->option('license_id');
$notify = $this->option('notify');
if (! $license_id) {
$this->error('ERROR: License ID is required.');
return false;
}
if (! $license = License::where('id', '=', $license_id)->first()) {
$this->error('Invalid license ID');
return false;
}
$this->info('Checking in ALL seats for '.$license->name);
$licenseSeats = LicenseSeat::where('license_id', '=', $license_id)
->whereNotNull('assigned_to')
->with('user')
->get();
$this->info(' There are '.$licenseSeats->count().' seats checked out: ');
if (! $notify) {
$this->info('No mail will be sent.');
}
foreach ($licenseSeats as $seat) {
$this->info($seat->user->username.' has a license seat for '.$license->name);
$seat->assigned_to = null;
if ($seat->save()) {
// Override the email address so we don't notify on checkin
if (! $notify) {
$seat->user->email = null;
}
// Log the checkin
$seat->logCheckin($seat->user, 'Checked in via cli tool');
}
}
}
}
@@ -0,0 +1,107 @@
<?php
namespace App\Console\Commands;
use App\Models\License;
use App\Models\LicenseSeat;
use App\Models\User;
use Illuminate\Console\Command;
use Illuminate\Database\Eloquent\Model;
class CheckoutLicenseToAllUsers extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'snipeit:checkout-to-all {--license_id=} {--notify}';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Checks out licenses to all users';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
$license_id = $this->option('license_id');
$notify = $this->option('notify');
if (! $license_id) {
$this->error('ERROR: License ID is required.');
return false;
}
if (! $license = License::where('id', '=', $license_id)->with('assignedusers')->first()) {
$this->error('Invalid license ID');
return false;
}
$users = User::whereNull('deleted_at')->where('autoassign_licenses', '=', 1)->with('licenses')->get();
if ($users->count() > $license->getAvailSeatsCountAttribute()) {
$this->info('You do not have enough free seats to complete this task, so we will check out as many as we can. ');
}
$this->info('Checking out '.$users->count().' of '.$license->getAvailSeatsCountAttribute().' seats for '.$license->name);
if (! $notify) {
$this->info('No mail will be sent.');
}
foreach ($users as $user) {
// Check to make sure this user doesn't already have this license checked out
// to them
if ($user->licenses->where('id', '=', $license_id)->count()) {
$this->info($user->username.' already has this license checked out to them. Skipping... ');
continue;
}
// If the license is valid, check that there is an available seat
if ($license->availCount()->count() < 1) {
$this->error('ERROR: No available seats');
return false;
}
$this->info($license->availCount()->count().' seats left');
// Get the seat ID
$licenseSeat = $license->freeSeat();
// Update the seat with checkout info,
$licenseSeat->assigned_to = $user->id;
if ($licenseSeat->save()) {
// Temporarily null the user's email address so we don't send mail if we're not supposed to
if (! $notify) {
$user->email = null;
}
// Log the checkout
$licenseSeat->logCheckout('Checked out via cli tool', $user);
$this->info('License '.$license_id.' seat '.$licenseSeat->id.' checked out to '.$user->username);
}
}
}
}
+32 -22
View File
@@ -3,15 +3,31 @@
namespace App\Console\Commands;
use Illuminate\Console\Command;
use \App\Models\User;
class CreateAdmin extends Command
{
/** @mixin User **/
/**
* The name and signature of the console command.
*
* @var string
* App\Console\CreateAdmin
* @property mixed $first_name
* @property string $last_name
* @property string $username
* @property string $email
* @property string $permissions
* @property string $password
* @property boolean $activated
* @property boolean $show_in_list
* @property boolean $autoassign_licenses
* @property \Illuminate\Support\Carbon|null $created_at
* @property mixed $created_by
*/
protected $signature = 'snipeit:create-admin {--first_name=} {--last_name=} {--email=} {--username=} {--password=} {show_in_list?}';
protected $signature = 'snipeit:create-admin {--first_name=} {--last_name=} {--email=} {--username=} {--password=} {show_in_list?} {autoassign_licenses?}';
/**
* The console command description.
@@ -30,25 +46,23 @@ class CreateAdmin extends Command
parent::__construct();
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
$first_name = $this->option('first_name');
$last_name = $this->option('last_name');
$username = $this->option('username');
$email = $this->option('email');
$password = $this->option('password');
$show_in_list = $this->argument('show_in_list');
$autoassign_licenses = $this->argument('autoassign_licenses');
if (($first_name=='') || ($last_name=='') || ($username=='') || ($email=='') || ($password=='')) {
if (($first_name == '') || ($last_name == '') || ($username == '') || ($email == '') || ($password == '')) {
$this->info('ERROR: All fields are required.');
} else {
$user = new \App\Models\User;
$user = new User;
$user->first_name = $first_name;
$user->last_name = $last_name;
$user->username = $username;
@@ -60,6 +74,11 @@ class CreateAdmin extends Command
if ($show_in_list == 'false') {
$user->show_in_list = 0;
}
if ($autoassign_licenses == 'false') {
$user->autoassign_licenses = 0;
}
if ($user->save()) {
$this->info('New user created');
$user->groups()->attach(1);
@@ -68,18 +87,9 @@ class CreateAdmin extends Command
$errors = $user->getErrors();
foreach ($errors->all() as $error) {
$this->info('ERROR:'. $error);
$this->info('ERROR:'.$error);
}
}
}
}
// protected function getArguments()
// {
// return array(
// array('username', InputArgument::REQUIRED, 'Username'),
// );
// }
}
+2 -5
View File
@@ -2,8 +2,8 @@
namespace App\Console\Commands;
use Illuminate\Console\Command;
use App\Models\Setting;
use Illuminate\Console\Command;
class DisableLDAP extends Command
{
@@ -38,10 +38,8 @@ class DisableLDAP extends Command
*/
public function handle()
{
if ($this->confirm("\n****************************************************\nThis will disable LDAP support. You will not be able \nto login with an account that does not exist \nlocally in the Snipe-IT local database. \n****************************************************\n\nDo you wish to continue? [y|N]")) {
$setting = Setting::first();
$setting = Setting::getSettings();
$setting->ldap_enabled = 0;
if ($setting->save()) {
$this->info('LDAP has been set to disabled.');
@@ -51,6 +49,5 @@ class DisableLDAP extends Command
} else {
$this->info('Canceled. No actions taken.');
}
}
}
+28 -34
View File
@@ -37,49 +37,43 @@ class FixDoubleEscape extends Command
*/
public function handle()
{
$tables = [
'\App\Models\Asset' => ['name'],
'\App\Models\License' => ['name'],
'\App\Models\Consumable' => ['name'],
'\App\Models\Accessory' => ['name'],
'\App\Models\Component' => ['name'],
'\App\Models\Company' => ['name'],
'\App\Models\Manufacturer' => ['name'],
'\App\Models\Supplier' => ['name'],
'\App\Models\Statuslabel' => ['name'],
'\App\Models\Depreciation' => ['name'],
'\App\Models\AssetModel' => ['name'],
'\App\Models\Group' => ['name'],
'\App\Models\Department' => ['name'],
'\App\Models\Location' => ['name'],
'\App\Models\User' => ['first_name', 'last_name'],
\App\Models\Asset::class => ['name'],
\App\Models\License::class => ['name'],
\App\Models\Consumable::class => ['name'],
\App\Models\Accessory::class => ['name'],
\App\Models\Component::class => ['name'],
\App\Models\Company::class => ['name'],
\App\Models\Manufacturer::class => ['name'],
\App\Models\Supplier::class => ['name'],
\App\Models\Statuslabel::class => ['name'],
\App\Models\Depreciation::class => ['name'],
\App\Models\AssetModel::class => ['name'],
\App\Models\Group::class => ['name'],
\App\Models\Department::class => ['name'],
\App\Models\Location::class => ['name'],
\App\Models\User::class => ['first_name', 'last_name'],
];
$count = array();
$count = [];
foreach ($tables as $classname => $fields) {
$count[$classname] = [];
$count[$classname]['classname'] = 0;
foreach ($fields as $field) {
$count[$classname]['classname']++;
$count[$classname][$field] = 0;
foreach ($tables as $classname => $fields) {
$count[$classname] = array();
$count[$classname]['classname'] = 0;
foreach($fields as $field) {
$count[$classname]['classname']++;
$count[$classname][$field] = 0;
foreach($classname::where("$field",'LIKE','%&%')->get() as $row) {
$this->info('Updating '.$field.' for '.$classname);
$row->{$field} = html_entity_decode($row->{$field});
$row->save();
$count[$classname][$field]++;
}
foreach ($classname::where("$field", 'LIKE', '%&%')->get() as $row) {
$this->info('Updating '.$field.' for '.$classname);
$row->{$field} = html_entity_decode($row->{$field}, ENT_QUOTES);
$row->save();
$count[$classname][$field]++;
}
}
}
$this->info('Update complete');
}
}
@@ -0,0 +1,99 @@
<?php
namespace App\Console\Commands;
use App\Models\Actionlog;
use App\Models\Asset;
use Illuminate\Console\Command;
class FixMismatchedAssetsAndLogs extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'snipeit:fix-assets-and-logs {--dryrun : Run the sync process but don\'t update the database}';
/**
* The console command description.
*
* @var string
*/
protected $description = 'This script attempts to check the log table and check that the assets.assigned_to matches the last checkout.';
/**
* Is dry-run?
*
* @var bool
*/
private $dryrun = false;
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
if ($this->option('dryrun')) {
$this->dryrun = true;
}
if ($this->dryrun) {
$this->info('This is a DRY RUN - no changes will be saved.');
}
$mismatch_count = 0;
$assets = Asset::whereNotNull('assigned_to')
->where('assigned_type', '=', \App\Models\User::class)
->orderBy('id', 'ASC')->get();
foreach ($assets as $asset) {
// get the last checkout of the asset
if ($checkout_log = Actionlog::where('target_type', '=', \App\Models\User::class)
->where('action_type', '=', 'checkout')
->where('item_id', '=', $asset->id)
->orderBy('created_at', 'DESC')
->first()) {
// Now check for a subsequent checkin log - we want to ignore those
if (! $checkin_log = Actionlog::where('target_type', '=', \App\Models\User::class)
->where('action_type', '=', 'checkin from')
->where('item_id', '=', $asset->id)
->whereDate('created_at', '>', $checkout_log->created_at)
->orderBy('created_at', 'DESC')
->first()) {
//print_r($asset);
if ($checkout_log->target_id != $asset->assigned_to) {
$this->error('Log ID: '.$checkout_log->id.' -- Asset ID '.$checkout_log->item_id.' SHOULD BE checked out to User '.$checkout_log->target_id.' but its assigned_to is '.$asset->assigned_to);
if (! $this->dryrun) {
$asset->assigned_to = $checkout_log->target_id;
if ($asset->save()) {
$this->info('Asset record updated.');
} else {
$this->error('Error updating asset: '.$asset->getErrors());
}
}
$mismatch_count++;
}
} else {
//$this->info('Asset ID '.$asset->id.': There is a checkin '.$checkin_log->created_at.' after this checkout '.$checkout_log->created_at);
}
}
}
$this->info($mismatch_count.' mismatched assets.');
}
}
@@ -0,0 +1,97 @@
<?php
namespace App\Console\Commands;
use App\Helpers\Helper;
use Illuminate\Console\Command;
use App\Models\User;
use Laravel\Passport\TokenRepository;
use Illuminate\Contracts\Validation\Factory as ValidationFactory;
use DB;
class GeneratePersonalAccessToken extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'snipeit:make-api-key
{--user_id= : The ID of the user to create the token for.}
{--name= : The name of the new API token}
{--key-only : Only return the value of the API key}';
/**
* The console command description.
*
* @var string
*/
protected $description = 'This console command allows you to generate Personal API tokens to be used with the Snipe-IT JSON REST API on behalf of a user.';
/**
* The token repository implementation.
*
* @var \Laravel\Passport\TokenRepository
*/
protected $tokenRepository;
/**
* Create a new command instance.
*
* @return void
*/
public function __construct(TokenRepository $tokenRepository, ValidationFactory $validation)
{
$this->validation = $validation;
$this->tokenRepository = $tokenRepository;
parent::__construct();
}
/**
* Execute the console command.
*
* @return int
*/
public function handle()
{
$accessTokenName = $this->option('name');
if ($accessTokenName=='') {
$accessTokenName = 'CLI Auth Token';
}
if ($this->option('user_id')=='') {
return $this->error('ERROR: user_id cannot be blank.');
}
if ($user = User::find($this->option('user_id'))) {
$createAccessToken = $user->createToken($accessTokenName)->accessToken;
if ($this->option('key-only')) {
$this->info($createAccessToken);
} else {
$this->warn('Your API Token has been created. Be sure to copy this token now, as it will not be accessible again.');
if ($token = DB::table('oauth_access_tokens')->where('user_id', '=', $user->id)->where('name','=',$accessTokenName)->orderBy('created_at', 'desc')->first()) {
$this->info('API Token ID: '.$token->id);
}
$this->info('API Token User: '.$user->present()->fullName.' ('.$user->username.')');
$this->info('API Token Name: '.$accessTokenName);
$this->info('API Token: '.$createAccessToken);
}
} else {
return $this->error('ERROR: Invalid user. API key was not created.');
}
}
}
+150
View File
@@ -0,0 +1,150 @@
<?php
namespace App\Console\Commands;
use App\Models\Location;
use Illuminate\Console\Command;
use League\Csv\Reader;
class ImportLocations extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'snipeit:import-locations {filename}';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Import locations and their parents';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
if (! ini_get('auto_detect_line_endings')) {
ini_set('auto_detect_line_endings', '1');
}
$filename = $this->argument('filename');
$csv = Reader::createFromPath(storage_path('private_uploads/imports/').$filename, 'r');
$this->info('Attempting to process: '.storage_path('private_uploads/imports/').$filename);
$csv->setHeaderOffset(0); //because we don't want to insert the header
$results = $csv->getRecords();
// Import parent location names first if they don't exist
foreach ($results as $parent_index => $parent_row) {
if (array_key_exists('Parent Name', $parent_row)) {
$parent_name = trim($parent_row['Parent Name']);
if (array_key_exists('Name', $parent_row)) {
$this->info('- Parent: '.$parent_name.' in row as: '.trim($parent_row['Parent Name']));
}
// Save parent location name
// This creates a sort of name-stub that we'll update later on in this script
$parent_location = Location::firstOrCreate(['name' => $parent_name]);
if (array_key_exists('Name', $parent_row)) {
$this->info('Parent for '.$parent_row['Name'].' is '.$parent_name.'. Attempting to save '.$parent_name.'.');
}
// Check if the record was updated or created.
// This is mostly for clearer debugging.
if ($parent_location->exists) {
$this->info('- Parent location '.$parent_name.' already exists.');
} else {
$this->info('- Parent location '.$parent_name.' was created.');
}
} else {
$this->info('- No Parent Name provided, so no parent location will be created.');
}
}
$this->info('----- Parents Created.... backfilling additional details... --------');
// Loop through ALL records and add/update them if there are additional fields
// besides name
foreach ($results as $index => $row) {
if (array_key_exists('Parent Name', $row)) {
$parent_name = trim($row['Parent Name']);
} else {
$parent_name = null;
}
// Set the location attributes to save
if (array_key_exists('Name', $row)) {
$location = Location::firstOrCreate(['name' => trim($row['Name'])]);
$location->name = trim($row['Name']);
$this->info('Checking location: '.$location->name);
} else {
$this->error('Location name is required and is missing from at least one row in this dataset. Check your CSV for extra trailing rows and try again.');
return false;
}
if (array_key_exists('Currency', $row)) {
$location->currency = trim($row['Currency']);
}
if (array_key_exists('Address 1', $row)) {
$location->address = trim($row['Address 1']);
}
if (array_key_exists('Address 2', $row)) {
$location->address2 = trim($row['Address 2']);
}
if (array_key_exists('City', $row)) {
$location->city = trim($row['City']);
}
if (array_key_exists('State', $row)) {
$location->state = trim($row['State']);
}
if (array_key_exists('Zip', $row)) {
$location->zip = trim($row['Zip']);
}
if (array_key_exists('Country', $row)) {
$location->country = trim($row['Country']);
}
if (array_key_exists('OU', $row)) {
$location->ldap_ou = trim($row['OU']);
}
// If a parent name is provided, we created it earlier in the script,
// so let's grab that ID
if ($parent_name) {
$this->info('-- Searching for Parent Name: '.$parent_name);
$parent = Location::where('name', '=', $parent_name)->first();
$location->parent_id = $parent->id;
$this->info('Parent: '.$parent_name.' - ID: '.$parent->id);
}
// Make sure the more advanced (non-name) fields pass validation
if (($location->isValid()) && ($location->save())) {
// Check if the record was updated or created.
// This is mostly for clearer debugging.
if ($location->exists) {
$this->info('Location '.$location->name.' already exists. Updating...');
} else {
$this->info('- Location '.$location->name.' was created. ');
}
// If there's a validation error, display that
} else {
$this->error('- Non-parent Location '.$location->name.' could not be created: '.$location->getErrors());
}
}
}
}
+59
View File
@@ -0,0 +1,59 @@
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
class KillAllSessions extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'snipeit:global-logout {--force : Skip the danger prompt; assuming you enter "y"} ';
/**
* The console command description.
*
* @var string
*/
protected $description = 'This command will destroy all web sessions on disk and will force a re-login for all users.';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
if (!$this->option('force') && !$this->confirm("****************************************************\nTHIS WILL FORCE A LOGIN FOR ALL LOGGED IN USERS.\n\nAre you SURE you wish to continue? ")) {
return $this->error("Session loss not confirmed");
}
$session_files = glob(storage_path("framework/sessions/*"));
$count = 0;
foreach ($session_files as $file) {
if (is_file($file))
unlink($file);
$count++;
}
\DB::table('users')->update(['remember_token' => null]);
$this->info($count. ' sessions cleared!');
}
}
+246 -83
View File
@@ -2,6 +2,8 @@
namespace App\Console\Commands;
use App\Models\Department;
use App\Models\Group;
use Illuminate\Console\Command;
use App\Models\Setting;
use App\Models\Ldap;
@@ -16,7 +18,7 @@ class LdapSync extends Command
*
* @var string
*/
protected $signature = 'snipeit:ldap-sync {--location=} {--location_id=} {--base_dn=} {--summary} {--json_summary}';
protected $signature = 'snipeit:ldap-sync {--location=} {--location_id=} {--base_dn=} {--filter=} {--summary} {--json_summary}';
/**
* The console command description.
@@ -42,104 +44,130 @@ class LdapSync extends Command
*/
public function handle()
{
ini_set('max_execution_time', 600); //600 seconds = 10 minutes
ini_set('memory_limit', '500M');
// If LDAP enabled isn't set to 1 (ldap_enabled!=1) then we should cut this short immediately without going any further
if (Setting::getSettings()->ldap_enabled!='1') {
$this->error('LDAP is not enabled. Aborting. See Settings > LDAP to enable it.');
exit();
}
ini_set('max_execution_time', env('LDAP_TIME_LIM', 600)); //600 seconds = 10 minutes
ini_set('memory_limit', env('LDAP_MEM_LIM', '500M'));
$ldap_result_username = Setting::getSettings()->ldap_username_field;
$ldap_result_last_name = Setting::getSettings()->ldap_lname_field;
$ldap_result_first_name = Setting::getSettings()->ldap_fname_field;
$ldap_result_active_flag = Setting::getSettings()->ldap_active_flag_field;
$ldap_result_active_flag = Setting::getSettings()->ldap_active_flag;
$ldap_result_emp_num = Setting::getSettings()->ldap_emp_num;
$ldap_result_email = Setting::getSettings()->ldap_email;
$ldap_result_phone = Setting::getSettings()->ldap_phone_field;
$ldap_result_jobtitle = Setting::getSettings()->ldap_jobtitle;
$ldap_result_country = Setting::getSettings()->ldap_country;
$ldap_result_location = Setting::getSettings()->ldap_location;
$ldap_result_dept = Setting::getSettings()->ldap_dept;
$ldap_result_manager = Setting::getSettings()->ldap_manager;
$ldap_default_group = Setting::getSettings()->ldap_default_group;
try {
$ldapconn = Ldap::connectToLdap();
Ldap::bindAdminToLdap($ldapconn);
} catch (\Exception $e) {
if ($this->option('json_summary')) {
$json_summary = [ "error" => true, "error_message" => $e->getMessage(), "summary" => [] ];
$json_summary = ['error' => true, 'error_message' => $e->getMessage(), 'summary' => []];
$this->info(json_encode($json_summary));
}
LOG::info($e);
Log::info($e);
return [];
}
$summary = array();
$summary = [];
try {
try {
if ($this->option('base_dn') != '') {
$search_base = $this->option('base_dn');
LOG::debug('Importing users from specified base DN: \"'.$search_base.'\".');
Log::debug('Importing users from specified base DN: \"'.$search_base.'\".');
} else {
$search_base = null;
}
$results = Ldap::findLdapUsers($search_base);
if ($this->option('filter') != '') {
$results = Ldap::findLdapUsers($search_base, -1, $this->option('filter'));
} else {
$results = Ldap::findLdapUsers($search_base);
}
} catch (\Exception $e) {
if ($this->option('json_summary')) {
$json_summary = [ "error" => true, "error_message" => $e->getMessage(), "summary" => [] ];
$json_summary = ['error' => true, 'error_message' => $e->getMessage(), 'summary' => []];
$this->info(json_encode($json_summary));
}
LOG::info($e);
Log::info($e);
return [];
}
/* Determine which location to assign users to by default. */
$location = NULL;
$location = null; // TODO - this would be better called "$default_location", which is more explicit about its purpose
if ($this->option('location')!='') {
if ($this->option('location') != '') {
$location = Location::where('name', '=', $this->option('location'))->first();
LOG::debug('Location name '.$this->option('location').' passed');
LOG::debug('Importing to '.$location->name.' ('.$location->id.')');
} elseif ($this->option('location_id')!='') {
Log::debug('Location name '.$this->option('location').' passed');
Log::debug('Importing to '.$location->name.' ('.$location->id.')');
} elseif ($this->option('location_id') != '') {
$location = Location::where('id', '=', $this->option('location_id'))->first();
LOG::debug('Location ID '.$this->option('location_id').' passed');
LOG::debug('Importing to '.$location->name.' ('.$location->id.')');
Log::debug('Location ID '.$this->option('location_id').' passed');
Log::debug('Importing to '.$location->name.' ('.$location->id.')');
}
if (!isset($location)) {
LOG::debug('That location is invalid or a location was not provided, so no location will be assigned by default.');
if (! isset($location)) {
Log::debug('That location is invalid or a location was not provided, so no location will be assigned by default.');
}
/* Process locations with explicitly defined OUs, if doing a full import. */
if ($this->option('base_dn')=='') {
if ($this->option('base_dn') == '' && $this->option('filter') == '') {
// Retrieve locations with a mapped OU, and sort them from the shallowest to deepest OU (see #3993)
$ldap_ou_locations = Location::where('ldap_ou', '!=', '')->get()->toArray();
$ldap_ou_lengths = array();
foreach ($ldap_ou_locations as $location) {
$ldap_ou_lengths[] = strlen($location["ldap_ou"]);
$ldap_ou_lengths = [];
foreach ($ldap_ou_locations as $ou_loc) {
$ldap_ou_lengths[] = strlen($ou_loc['ldap_ou']);
}
array_multisort($ldap_ou_lengths, SORT_ASC, $ldap_ou_locations);
if (sizeof($ldap_ou_locations) > 0) {
LOG::debug('Some locations have special OUs set. Locations will be automatically set for users in those OUs.');
if (count($ldap_ou_locations) > 0) {
Log::debug('Some locations have special OUs set. Locations will be automatically set for users in those OUs.');
}
// Inject location information fields
for ($i = 0; $i < $results["count"]; $i++) {
$results[$i]["ldap_location_override"] = false;
$results[$i]["location_id"] = 0;
for ($i = 0; $i < $results['count']; $i++) {
$results[$i]['ldap_location_override'] = false;
$results[$i]['location_id'] = 0;
}
// Grab subsets based on location-specific DNs, and overwrite location for these users.
foreach ($ldap_ou_locations as $ldap_loc) {
$location_users = Ldap::findLdapUsers($ldap_loc["ldap_ou"]);
$usernames = array();
for ($i = 0; $i < $location_users["count"]; $i++) {
try {
$location_users = Ldap::findLdapUsers($ldap_loc['ldap_ou']);
} catch (\Exception $e) { // TODO: this is stolen from line 77 or so above
if ($this->option('json_summary')) {
$json_summary = ['error' => true, 'error_message' => trans('admin/users/message.error.ldap_could_not_search').' Location: '.$ldap_loc['name'].' (ID: '.$ldap_loc['id'].') cannot connect to "'.$ldap_loc['ldap_ou'].'" - '.$e->getMessage(), 'summary' => []];
$this->info(json_encode($json_summary));
}
Log::info($e);
return [];
}
$usernames = [];
for ($i = 0; $i < $location_users['count']; $i++) {
if (array_key_exists($ldap_result_username, $location_users[$i])) {
$location_users[$i]["ldap_location_override"] = true;
$location_users[$i]["location_id"] = $ldap_loc["id"];
$location_users[$i]['ldap_location_override'] = true;
$location_users[$i]['location_id'] = $ldap_loc['id'];
$usernames[] = $location_users[$i][$ldap_result_username][0];
}
}
// Delete located users from the general group.
foreach ($results as $key => $generic_entry) {
if ((is_array($generic_entry)) && (array_key_exists($ldap_result_username, $generic_entry))) {
if ((is_array($generic_entry)) && (array_key_exists($ldap_result_username, $generic_entry))) {
if (in_array($generic_entry[$ldap_result_username][0], $usernames)) {
unset($results[$key]);
}
@@ -153,92 +181,227 @@ class LdapSync extends Command
}
/* Create user account entries in Snipe-IT */
$tmp_pass = substr(str_shuffle("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, 20);
$tmp_pass = substr(str_shuffle('0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'), 0, 20);
$pass = bcrypt($tmp_pass);
for ($i = 0; $i < $results["count"]; $i++) {
if (empty($ldap_result_active_flag) || $results[$i][$ldap_result_active_flag][0] == "TRUE") {
$manager_cache = [];
$item = array();
$item["username"] = isset($results[$i][$ldap_result_username][0]) ? $results[$i][$ldap_result_username][0] : "";
$item["employee_number"] = isset($results[$i][$ldap_result_emp_num][0]) ? $results[$i][$ldap_result_emp_num][0] : "";
$item["lastname"] = isset($results[$i][$ldap_result_last_name][0]) ? $results[$i][$ldap_result_last_name][0] : "";
$item["firstname"] = isset($results[$i][$ldap_result_first_name][0]) ? $results[$i][$ldap_result_first_name][0] : "";
$item["email"] = isset($results[$i][$ldap_result_email][0]) ? $results[$i][$ldap_result_email][0] : "" ;
$item["ldap_location_override"] = isset($results[$i]["ldap_location_override"]) ? $results[$i]["ldap_location_override"]:"";
$item["location_id"] = isset($results[$i]["location_id"]) ? $results[$i]["location_id"]:"";
if($ldap_default_group != null) {
$default = Group::find($ldap_default_group);
if (!$default) {
$ldap_default_group = null; // un-set the default group if that group doesn't exist
}
}
// This is active directory, not regular LDAP
if ( array_key_exists('useraccountcontrol', $results[$i]) ) {
$enabled_accounts = [
'512', '544', '66048', '66080', '262656', '262688', '328192', '328224'
];
$item['activated'] = ( in_array($results[$i]['useraccountcontrol'][0], $enabled_accounts) ) ? 1 : 0;
for ($i = 0; $i < $results['count']; $i++) {
$item = [];
$item['username'] = $results[$i][$ldap_result_username][0] ?? '';
$item['employee_number'] = $results[$i][$ldap_result_emp_num][0] ?? '';
$item['lastname'] = $results[$i][$ldap_result_last_name][0] ?? '';
$item['firstname'] = $results[$i][$ldap_result_first_name][0] ?? '';
$item['email'] = $results[$i][$ldap_result_email][0] ?? '';
$item['ldap_location_override'] = $results[$i]['ldap_location_override'] ?? '';
$item['location_id'] = $results[$i]['location_id'] ?? '';
$item['telephone'] = $results[$i][$ldap_result_phone][0] ?? '';
$item['jobtitle'] = $results[$i][$ldap_result_jobtitle][0] ?? '';
$item['country'] = $results[$i][$ldap_result_country][0] ?? '';
$item['department'] = $results[$i][$ldap_result_dept][0] ?? '';
$item['manager'] = $results[$i][$ldap_result_manager][0] ?? '';
$item['location'] = $results[$i][$ldap_result_location][0] ?? '';
// Fall through to LDAP
} else {
$item['activated'] = 0;
// ONLY if you are using the "ldap_location" option *AND* you have an actual result
if ($ldap_result_location && $item['location']) {
$location = Location::firstOrCreate([
'name' => $item['location'],
]);
}
$department = Department::firstOrCreate([
'name' => $item['department'],
]);
// User exists
$item["createorupdate"] = 'updated';
if (!$user = User::where('username', $item["username"])->first()) {
$user = User::where('username', $item['username'])->first();
if ($user) {
// Updating an existing user.
$item['createorupdate'] = 'updated';
} else {
// Creating a new user.
$user = new User;
$user->password = $pass;
$item["createorupdate"] = 'created';
$user->activated = 1; // newly created users can log in by default, unless AD's UAC is in use, or an active flag is set (below)
$item['createorupdate'] = 'created';
}
// Create the user if they don't exist.
$user->first_name = e($item["firstname"]);
$user->last_name = e($item["lastname"]);
$user->username = e($item["username"]);
$user->email = e($item["email"]);
$user->employee_num = e($item["employee_number"]);
$user->activated = $item['activated'];
//If a sync option is not filled in on the LDAP settings don't populate the user field
if($ldap_result_username != null){
$user->username = $item['username'];
}
if($ldap_result_last_name != null){
$user->last_name = $item['lastname'];
}
if($ldap_result_first_name != null){
$user->first_name = $item['firstname'];
}
if($ldap_result_emp_num != null){
$user->employee_num = e($item['employee_number']);
}
if($ldap_result_email != null){
$user->email = $item['email'];
}
if($ldap_result_phone != null){
$user->phone = $item['telephone'];
}
if($ldap_result_jobtitle != null){
$user->jobtitle = $item['jobtitle'];
}
if($ldap_result_country != null){
$user->country = $item['country'];
}
if($ldap_result_dept != null){
$user->department_id = $department->id;
}
if($ldap_result_location != null){
$user->location_id = $location ? $location->id : null;
}
if($ldap_result_manager != null){
if($item['manager'] != null) {
// Check Cache first
if (isset($manager_cache[$item['manager']])) {
// found in cache; use that and avoid extra lookups
$user->manager_id = $manager_cache[$item['manager']];
} else {
// Get the LDAP Manager
try {
$ldap_manager = Ldap::findLdapUsers($item['manager'], -1, $this->option('filter'));
} catch (\Exception $e) {
\Log::warning("Manager lookup caused an exception: " . $e->getMessage() . ". Falling back to direct username lookup");
// Hail-mary for Okta manager 'shortnames' - will only work if
// Okta configuration is using full email-address-style usernames
$ldap_manager = [
"count" => 1,
0 => [
$ldap_result_username => [$item['manager']]
]
];
}
if ($ldap_manager["count"] > 0) {
// Get the Manager's username
// PHP LDAP returns every LDAP attribute as an array, and 90% of the time it's an array of just one item. But, hey, it's an array.
$ldapManagerUsername = $ldap_manager[0][$ldap_result_username][0];
// Get User from Manager username.
$ldap_manager = User::where('username', $ldapManagerUsername)->first();
if ($ldap_manager && isset($ldap_manager->id)) {
// Link user to manager id.
$user->manager_id = $ldap_manager->id;
}
}
$manager_cache[$item['manager']] = $ldap_manager && isset($ldap_manager->id) ? $ldap_manager->id : null; // Store results in cache, even if 'failed'
}
}
}
// Sync activated state for Active Directory.
if ( !empty($ldap_result_active_flag)) { // IF we have an 'active' flag set....
// ....then *most* things that are truthy will activate the user. Anything falsey will deactivate them.
// (Specifically, we don't handle a value of '0.0' correctly)
$raw_value = @$results[$i][$ldap_result_active_flag][0];
$filter_var = filter_var($raw_value, FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE);
$boolean_cast = (bool)$raw_value;
$user->activated = $filter_var ?? $boolean_cast; // if filter_var() was true or false, use that. If it's null, use the $boolean_cast
} elseif (array_key_exists('useraccountcontrol', $results[$i]) ) {
// ....otherwise, (ie if no 'active' LDAP flag is defined), IF the UAC setting exists,
// ....then use the UAC setting on the account to determine can-log-in vs. cannot-log-in
/* The following is _probably_ the correct logic, but we can't use it because
some users may have been dependent upon the previous behavior, and this
could cause additional access to be available to users they don't want
to allow to log in.
$useraccountcontrol = $results[$i]['useraccountcontrol'][0];
if(
// based on MS docs at: https://support.microsoft.com/en-us/help/305144/how-to-use-useraccountcontrol-to-manipulate-user-account-properties
($useraccountcontrol & 0x200) && // is a NORMAL_ACCOUNT
!($useraccountcontrol & 0x02) && // *and* _not_ ACCOUNTDISABLE
!($useraccountcontrol & 0x10) // *and* _not_ LOCKOUT
) {
$user->activated = 1;
} else {
$user->activated = 0;
} */
$enabled_accounts = [
'512', // 0x200 NORMAL_ACCOUNT
'544', // 0x220 NORMAL_ACCOUNT, PASSWD_NOTREQD
'66048', // 0x10200 NORMAL_ACCOUNT, DONT_EXPIRE_PASSWORD
'66080', // 0x10220 NORMAL_ACCOUNT, PASSWD_NOTREQD, DONT_EXPIRE_PASSWORD
'262656', // 0x40200 NORMAL_ACCOUNT, SMARTCARD_REQUIRED
'262688', // 0x40220 NORMAL_ACCOUNT, PASSWD_NOTREQD, SMARTCARD_REQUIRED
'328192', // 0x50200 NORMAL_ACCOUNT, SMARTCARD_REQUIRED, DONT_EXPIRE_PASSWORD
'328224', // 0x50220 NORMAL_ACCOUNT, PASSWD_NOT_REQD, SMARTCARD_REQUIRED, DONT_EXPIRE_PASSWORD
'4194816',// 0x400200 NORMAL_ACCOUNT, DONT_REQ_PREAUTH
'4260352', // 0x410200 NORMAL_ACCOUNT, DONT_EXPIRE_PASSWORD, DONT_REQ_PREAUTH
'1049088', // 0x100200 NORMAL_ACCOUNT, NOT_DELEGATED
'1114624', // 0x110200 NORMAL_ACCOUNT, DONT_EXPIRE_PASSWORD, NOT_DELEGATED,
];
$user->activated = (in_array($results[$i]['useraccountcontrol'][0], $enabled_accounts)) ? 1 : 0;
// If we're not using AD, and there isn't an activated flag set, activate all users
} /* implied 'else' here - leave the $user->activated flag alone. Newly-created accounts will be active.
already-existing accounts will be however the administrator has set them */
if ($item['ldap_location_override'] == true) {
$user->location_id = $item['location_id'];
} elseif ((isset($location)) && (!empty($location))) {
} elseif ((isset($location)) && (! empty($location))) {
if ((is_array($location)) && (array_key_exists('id', $location))) {
$user->location_id = $location['id'];
} elseif (is_object($location)) {
$user->location_id = $location->id;
}
}
$user->ldap_import = 1;
$errors = '';
if ($user->save()) {
$item["note"] = $item["createorupdate"];
$item["status"]='success';
$item['note'] = $item['createorupdate'];
$item['status'] = 'success';
if ( $item['createorupdate'] === 'created' && $ldap_default_group) {
$user->groups()->attach($ldap_default_group);
}
} else {
foreach ($user->getErrors()->getMessages() as $key => $err) {
$errors .= $err[0];
}
$item["note"] = $errors;
$item["status"]='error';
$item['note'] = $errors;
$item['status'] = 'error';
}
array_push($summary, $item);
}
}
if ($this->option('summary')) {
for ($x = 0; $x < count($summary); $x++) {
if ($summary[$x]['status']=='error') {
if ($summary[$x]['status'] == 'error') {
$this->error('ERROR: '.$summary[$x]['firstname'].' '.$summary[$x]['lastname'].' (username: '.$summary[$x]['username'].') was not imported: '.$summary[$x]['note']);
} else {
$this->info('User '.$summary[$x]['firstname'].' '.$summary[$x]['lastname'].' (username: '.$summary[$x]['username'].') was '.strtoupper($summary[$x]['createorupdate']).'.');
}
}
} else if ($this->option('json_summary')) {
$json_summary = [ "error" => false, "error_message" => "", "summary" => $summary ];
} elseif ($this->option('json_summary')) {
$json_summary = ['error' => false, 'error_message' => '', 'summary' => $summary]; // hardcoding the error to false and the error_message to blank seems a bit weird
$this->info(json_encode($json_summary));
} else {
return $summary;
+517
View File
@@ -0,0 +1,517 @@
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use App\Models\Setting;
use Exception;
use Crypt;
/**
* Check if a given ip is in a network
* @param string $ip IP to check in IPV4 format eg. 127.0.0.1
* @param string $range IP/CIDR netmask eg. 127.0.0.0/24, also 127.0.0.1 is accepted and /32 assumed
* @return boolean true if the ip is in this range / false if not.
*/
function ip_in_range( $ip, $range ) {
if ( strpos( $range, '/' ) == false ) {
$range .= '/32';
}
// $range is in IP/CIDR format eg 127.0.0.1/24
list( $range, $netmask ) = explode( '/', $range, 2 );
$range_decimal = ip2long( $range );
$ip_decimal = ip2long( $ip );
$wildcard_decimal = pow( 2, ( 32 - $netmask ) ) - 1;
$netmask_decimal = ~ $wildcard_decimal;
return ( ( $ip_decimal & $netmask_decimal ) == ( $range_decimal & $netmask_decimal ) );
}
// NOTE - this function was shamelessly stolen from this gist: https://gist.github.com/tott/7684443
/**
* Ensure LDAP filters are parentheses-wrapped
*/
function parenthesized_filter($filter)
{
if(substr($filter,0,1) == "(" ) {
return $filter;
} else {
return "(".$filter.")";
}
}
class LdapTroubleshooter extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'ldap:troubleshoot
{--ldap-search : Output an ldapsearch command-line for testing your LDAP config}
{--force : Skip the interactive yes/no prompt for confirmation}
{--debug : Include debugging output (verbose)}
{--trace : Include extremely verbose LDAP trace output}
{--timeout=15 : Timeout for LDAP Bind operations}';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Runs a series of non-destructive LDAP commands to help try and determine correct LDAP settings for your environment.';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* Output something *only* if debug is enabled
*
* @return void
*/
public function debugout($string)
{
if($this->option('debug')) {
$this->line($string);
}
}
/**
* Clean the results from ldap_get_entries into something useful
* @param array $array
* @return array
*/
public function ldap_results_cleaner ($array) {
$cleaned = [];
for($i = 0; $i < $array['count']; $i++) {
$row = $array[$i];
$clean_row = [];
foreach($row AS $key => $val ) {
$this->debugout("Key is: ".$key);
if($key == "count" || is_int($key) || $key == "dn") {
$this->debugout(" and we're gonna skip it\n");
continue;
}
$this->debugout(" And that seems fine.\n");
if(array_key_exists('count',$val)) {
if($val['count'] == 1) {
$clean_row[$key] = $val[0];
} else {
unset($val['count']); //these counts are annoying
$elements = [];
foreach($val as $entry) {
if(isset($ldap_constants[$entry])) {
$elements[] = $ldap_constants[$entry];
} else {
$elements[] = $entry;
}
}
$clean_row[$key] = $elements;
}
} else {
$clean_row[$key] = $val;
}
}
$cleaned[$i] = $clean_row;
}
return $cleaned;
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
if($this->option('trace')) {
ldap_set_option(NULL, LDAP_OPT_DEBUG_LEVEL, 7);
}
$settings = Setting::getSettings();
$this->settings = $settings;
if($this->option('ldap-search')) {
if(!$this->option('force')) {
$confirmation = $this->confirm('WARNING: This command will display your LDAP password on your terminal. Are you sure this is ok?');
if(!$confirmation) {
$this->error('ABORTING');
exit(-1);
}
}
$output = [];
if($settings->ldap_server_cert_ignore) {
$this->line("# Ignoring server certificate validity");
$output[] = "LDAPTLS_REQCERT=never";
}
if($settings->ldap_client_tls_cert && $settings->ldap_client_tls_key) {
$this->line("# Adding LDAP Client Certificate and Key");
$output[] = "LDAPTLS_CERT=storage/ldap_client_tls.cert";
$output[] = "LDAPTLS_KEY=storage/ldap_client_tls.key";
}
$output[] = "ldapsearch";
$output[] = "-H ".$settings->ldap_server;
$output[] = "-x";
$output[] = "-b ".escapeshellarg($settings->ldap_basedn);
$output[] = "-D ".escapeshellarg($settings->ldap_uname);
$output[] = "-w ".escapeshellarg(\Crypt::Decrypt($settings->ldap_pword));
$output[] = escapeshellarg(parenthesized_filter($settings->ldap_filter));
if($settings->ldap_tls) {
$this->line("# adding STARTTLS option");
$output[] = "-Z";
}
$output[] = "-v";
$this->line("\n");
$this->line(implode(" \\\n",$output));
exit(0);
}
if(!$this->option('force')) {
$confirmation = $this->confirm('WARNING: This command will make several attempts to connect to your LDAP server. Are you sure this is ok?');
if(!$confirmation) {
$this->error('ABORTING');
exit(-1);
}
}
//$this->line(print_r($settings,true));
$this->info("STAGE 1: Checking settings");
if(!$settings->ldap_enabled) {
$this->error("WARNING: Snipe-IT's LDAP setting is not turned on. (That may be OK if you're still trying to figure out settings)");
}
$ldap_conn = false;
try {
$ldap_conn = ldap_connect($settings->ldap_server);
} catch (Exception $e) {
$this->error("WARNING: Exception caught when executing 'ldap_connect()' - ".$e->getMessage().". We will try to guess.");
}
if(!$ldap_conn) {
$this->error("WARNING: LDAP Server setting of: ".$settings->ldap_server." cannot be parsed. We will try to guess.");
//exit(-1);
}
//since we never use $ldap_conn again, we don't have to ldap_unbind() it (it's not even connected, tbh - that only happens at bind-time)
$parsed = parse_url($settings->ldap_server);
if(@$parsed['scheme'] != 'ldap' && @$parsed['scheme'] != 'ldaps') {
$this->error("WARNING: LDAP URL Scheme of '".@$parsed['scheme']."' is probably incorrect; should usually be ldap or ldaps");
}
if(!@$parsed['host']) {
$this->error("ERROR: Cannot determine hostname or IP from ldap URL: ".$settings->ldap_server.". ABORTING.");
exit(-1);
} else {
$this->info("Determined LDAP hostname to be: ".$parsed['host']);
}
$this->info("Performing DNS lookup of: ".$parsed['host']);
$ips = dns_get_record($parsed['host']);
$raw_ips = [];
//$this->info("Host IP is: ".print_r($ips,true));
if(!$ips || count($ips) == 0) {
$this->error("ERROR: DNS lookup of host: ".$parsed['host']." has failed. ABORTING.");
exit(-1);
}
$this->debugout("IP's? ".print_r($ips,true));
foreach($ips as $ip) {
if(!isset($ip['ip'])) {
continue;
}
$raw_ips[]=$ip['ip'];
if($ip['ip'] == "127.0.0.1") {
$this->error("WARNING: Using the localhost IP as the LDAP server. This is usually wrong");
}
if(ip_in_range($ip['ip'],'10.0.0.0/8') || ip_in_range($ip['ip'],'192.168.0.0/16') || ip_in_range($ip['ip'], '172.16.0.0/12')) {
$this->error("WARNING: Using an RFC1918 Private address for LDAP server. This may be correct, but it can be a problem if your Snipe-IT instance is not hosted on your private network");
}
}
$this->info("STAGE 2: Checking basic network connectivity");
$ports = [389,636];
if(@$parsed['port'] && !in_array($parsed['port'],$ports)) {
$ports[] = $parsed['port'];
}
$open_ports=[];
foreach($ports as $port ) {
$errno = 0;
$errstr = '';
$timeout = 30.0;
$result = '';
$this->info("Attempting to connect to port: ".$port." - may take up to $timeout seconds");
try {
$result = fsockopen($parsed['host'], $port, $errno, $errstr, 30.0);
} catch(Exception $e) {
$this->error("Exception: ".$e->getMessage());
}
if($result) {
$this->info("Success!");
$open_ports[] = $port;
} else {
$this->error("WARNING: Cannot connect to port: $port - $errstr ($errno)");
}
}
if(count($open_ports) == 0) {
$this->error("ERROR - no open ports. ABORTING.");
exit(-1);
}
$this->info("STAGE 3: Determine encryption algorithm, if any");
$ldap_urls = [];
$pretty_ldap_urls = [];
foreach($open_ports as $port) {
$this->line("Trying TLS first for port $port");
$ldap_url = "ldaps://".$parsed['host'].":$port";
if($this->test_anonymous_bind($ldap_url)) {
$this->info("Anonymous bind succesful to $ldap_url!");
$ldap_urls[] = [ $ldap_url, true, false ];
$pretty_ldap_urls[] = [ $ldap_url, "YES", "no" ];
continue; // TODO - lots of copypasta in these if(test_anonymous_bind()) routines...
} else {
$this->error("WARNING: Failed to bind to $ldap_url - trying without certificate checks.");
}
if($this->test_anonymous_bind($ldap_url, false)) {
$this->info("Anonymous bind succesful to $ldap_url with certifcate-checks disabled");
$ldap_urls[] = [ $ldap_url, false, false ];
$pretty_ldap_urls[] = [ $ldap_url, "no", "no" ];
continue;
} else {
$this->error("WARNING: Failed to bind to $ldap_url with certificate checks disabled. Trying unencrypted with STARTTLS");
}
$ldap_url = "ldap://".$parsed['host'].":$port";
if($this->test_anonymous_bind($ldap_url, true, true)) {
$this->info("Plain connection to $ldap_url with STARTTLS succesful!");
$ldap_urls[] = [ $ldap_url, true, true ];
$pretty_ldap_urls[] = [ $ldap_url, "YES", "YES" ];
continue;
} else {
$this->error("WARNING: Failed to bind to $ldap_url with STARTTLS enabled. Trying without STARTTLS");
}
if($this->test_anonymous_bind($ldap_url)) {
$this->info("Plain connection to $ldap_url succesful!");
$ldap_urls[] = [ $ldap_url, true, false ];
$pretty_ldap_urls[] = [ $ldap_url, "YES", "no" ];
continue;
} else {
$this->error("WARNING: Failed to bind to $ldap_url. Giving up on port $port");
}
}
$this->debugout(print_r($ldap_urls,true));
if(count($ldap_urls) > 0 ) {
$this->info("Found working LDAP URL's: ");
foreach($ldap_urls as $ldap_url) { // TODO maybe do this as a $this->table() instead?
$this->info("LDAP URL: ".$ldap_url[0]);
$this->info($ldap_url[0]. ($ldap_url[1] ? " certificate checks enabled" : " certificate checks disabled"). ($ldap_url[2] ? " STARTTLS Enabled ": " STARTTLS Disabled"));
}
$this->table(["URL", "Cert Checks Enabled?", "STARTTLS Enabled?"],$pretty_ldap_urls);
} else {
$this->error("ERROR - no valid LDAP URL's available - ABORTING");
exit(1);
}
$this->info("STAGE 4: Test Administrative Bind for LDAP Sync");
foreach($ldap_urls AS $ldap_url) {
$this->test_authed_bind($ldap_url[0], $ldap_url[1], $ldap_url[2], $settings->ldap_uname, Crypt::decrypt($settings->ldap_pword));
}
$this->info("STAGE 5: Test BaseDN");
//grab all LDAP_ constants and fill up a reversed array mapping from weird LDAP dotted-strings to (Constant Name)
$all_defined_constants = get_defined_constants();
$ldap_constants = [];
foreach($all_defined_constants AS $key => $val) {
if(starts_with($key,"LDAP_") && is_string($val)) {
$ldap_constants[$val] = $key; // INVERT the meaning here!
}
}
$this->debugout("LDAP constants are: ".print_r($ldap_constants,true));
foreach($ldap_urls AS $ldap_url) {
if($this->test_informational_bind($ldap_url[0],$ldap_url[1],$ldap_url[2],$settings->ldap_uname,Crypt::decrypt($settings->ldap_pword),$settings)) {
$this->info("Success getting informational bind!");
} else {
$this->error("Unable to get information from bind.");
}
}
$this->info("STAGE 6: Test LDAP Login to Snipe-IT");
foreach($ldap_urls AS $ldap_url) {
$this->info("Starting auth to ".$ldap_url[0]);
while(true) {
$with_tls = $ldap_url[1] ? "with": "without";
$with_startssl = $ldap_url[2] ? "using": "not using";
if(!$this->confirm('Do you wish to try to authenticate to this directory: '.$ldap_url[0]." $with_tls TLS and $with_startssl STARTSSL?")) {
break;
}
$username = $this->ask("Username");
$password = $this->secret("Password");
$this->test_authed_bind($ldap_url[0], $ldap_url[1], $ldap_url[2], $username, $password); // FIXME - should do some other stuff here, maybe with the concatenating or something? maybe? and/or should put up some results?
}
}
$this->info("LDAP TROUBLESHOOTING COMPLETE!");
}
public function connect_to_ldap($ldap_url, $check_cert, $start_tls)
{
$lconn = ldap_connect($ldap_url);
ldap_set_option($lconn, LDAP_OPT_PROTOCOL_VERSION, 3); // should we 'test' different protocol versions here? Does anyone even use anything other than LDAPv3?
// no - it's formally deprecated: https://tools.ietf.org/html/rfc3494
if(!$check_cert) {
putenv('LDAPTLS_REQCERT=never'); // This is horrible; is this *really* the only way to do it?
} else {
putenv('LDAPTLS_REQCERT'); // have to very explicitly and manually *UN* set the env var here to ensure it works
}
if($this->settings->ldap_client_tls_cert && $this->settings->ldap_client_tls_key) {
// client-side TLS certificate support for LDAP (Google Secure LDAP)
putenv('LDAPTLS_CERT=storage/ldap_client_tls.cert');
putenv('LDAPTLS_KEY=storage/ldap_client_tls.key');
}
if($start_tls) {
if(!ldap_start_tls($lconn)) {
$this->error("WARNING: Unable to start TLS");
return false;
}
}
if(!$lconn) {
$this->error("WARNING: Failed to generate connection string - using: ".$ldap_url);
return false;
}
$net = ldap_set_option($lconn, LDAP_OPT_NETWORK_TIMEOUT, $this->option('timeout'));
$time = ldap_set_option($lconn, LDAP_OPT_TIMELIMIT, $this->option('timeout'));
if(!$net || !$time) {
$this->error("Unable to set timeouts!");
}
return $lconn;
}
public function test_anonymous_bind($ldap_url, $check_cert = true, $start_tls = false)
{
return $this->timed_boolean_execute(function () use ($ldap_url, $check_cert , $start_tls) {
try {
$lconn = $this->connect_to_ldap($ldap_url, $check_cert, $start_tls);
$this->info("gonna try to bind now, this can take a while if we mess it up");
$bind_results = ldap_bind($lconn);
$this->info("Bind results are: ".$bind_results." which translate into boolean: ".(bool)$bind_results);
return (bool)$bind_results;
} catch (Exception $e) {
$this->error("WARNING: Exception caught during bind - ".$e->getMessage());
return false;
}
});
}
public function test_authed_bind($ldap_url, $check_cert, $start_tls, $username, $password)
{
return $this->timed_boolean_execute(function () use ($ldap_url, $check_cert, $start_tls, $username, $password) {
try {
$lconn = $this->connect_to_ldap($ldap_url, $check_cert, $start_tls);
$bind_results = ldap_bind($lconn, $username, $password);
if(!$bind_results) {
$this->error("WARNING: Failed to bind to $ldap_url as $username");
return false;
} else {
$this->info("SUCCESS - Able to bind to $ldap_url as $username");
return (bool)$lconn;
}
} catch (Exception $e) {
$this->error("WARNING: Exception caught during Authed bind to $username - ".$e->getMessage());
return false;
}
});
}
public function test_informational_bind($ldap_url, $check_cert, $start_tls, $username, $password,$settings)
{
return $this->timed_boolean_execute(function () use ($ldap_url, $check_cert, $start_tls, $username, $password, $settings) {
try { // TODO - copypasta'ed from test_authed_bind
$conn = $this->connect_to_ldap($ldap_url, $check_cert, $start_tls);
$bind_results = ldap_bind($conn, $username, $password);
if(!$bind_results) {
$this->error("WARNING: Failed to bind to $ldap_url as $username");
return false;
}
$this->info("SUCCESS - Able to bind to $ldap_url as $username");
$result = ldap_read($conn, '', '(objectClass=*)'/* , ['supportedControl']*/);
$results = ldap_get_entries($conn, $result);
$cleaned_results = $this->ldap_results_cleaner($results);
$this->line(print_r($cleaned_results,true));
//okay, great - now how do we display those results? I have no idea.
// I don't see why this throws an Exception for Google LDAP, but I guess we ought to try and catch it?
$this->comment("I guess we're trying to do the ldap search here, but sometimes it takes too long?");
$this->debugout("Base DN is: ".$settings->ldap_basedn." and filter is: ".parenthesized_filter($settings->ldap_filter));
$search_results = ldap_search($conn, $settings->ldap_basedn, parenthesized_filter($settings->ldap_filter));
$this->info("Printing first 10 results: ");
for($i=0;$i<10;$i++) {
$this->info($search_results[$i]);
}
} catch (\Exception $e) {
$this->error("WARNING: Exception caught during Authed bind to $username - ".$e->getMessage());
return false;
}
});
}
/***********************************************
*
* This function executes $function - which is expected to be some kind of executable function -
* with a timeout set. It respects the timeout by forking execution and setting a strict timer
* for which to get back a SIGUSR1 or SIGUSR2 signal from the forked process.
*
***********************************************/
private function timed_boolean_execute($function)
{
if(!(function_exists('pcntl_sigtimedwait') && function_exists('posix_getpid') && function_exists('pcntl_fork') && function_exists('posix_kill') && function_exists('pcntl_wifsignaled'))) {
// POSIX functions needed for forking aren't present, just run the function inline (ignoring timeout)
$this->info('WARNING: Unable to execute POSIX fork() commands, timeout may not be respected');
return $function();
} else {
$parent_pid = posix_getpid();
$pid = pcntl_fork();
switch($pid) {
case 0:
//we're the 'child'
if($function()) {
//SUCCESS = SIGUSR1
posix_kill($parent_pid, SIGUSR1);
} else {
//FAILURE = SIGUSR2
posix_kill($parent_pid, SIGUSR2);
}
exit();
break; //yes I know we don't need it.
case -1:
//couldn't fork
$this->error("COULD NOT FORK - assuming failure");
return false;
break; //I still know that we don't need it
default:
//we remain the 'parent', $pid is the PID of the forked process.
$siginfo = [];
$exit_status = pcntl_sigtimedwait ([SIGUSR1, SIGUSR2], $siginfo, $this->option('timeout'));
if ($exit_status == SIGUSR1) {
return true;
} else {
posix_kill($pid, SIGKILL); //make sure we don't have processes hanging around that might try and send signals during later executions, confusing us
return false;
}
break; //Yeah I get it already, shush.
}
}
}
}
@@ -0,0 +1,115 @@
<?php
namespace App\Console\Commands;
use App\Models\User;
use Carbon\Carbon;
use Illuminate\Console\Command;
class MergeUsersByUsername extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'snipeit:merge-users';
/**
* The console command description.
*
* @var string
*/
protected $description = 'This command allows you to merge the history of users. It looks for users without an email address as their username and merges them into the version that does have an email username.';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
// Get the list of users who have an email address as their username
$users = User::where('username', 'LIKE', '%@%')->whereNull('deleted_at')->get();
$this->info($users->count().' total non-deleted users whose usernames contain a @ symbol.');
foreach ($users as $user) {
$parts = explode('@', trim($user->username));
$this->info('Checking against username '.trim($parts[0]).'.');
$bad_users = User::where('username', '=', trim($parts[0]))
->whereNull('deleted_at')
->with('assets', 'manager', 'userlog', 'licenses', 'consumables', 'accessories', 'managedLocations')
->get();
foreach ($bad_users as $bad_user) {
$this->info($bad_user->username.' ('.$bad_user->id.') will be merged into '.$user->username.' ('.$user->id.') ');
// Walk the list of assets
foreach ($bad_user->assets as $asset) {
$this->info('Updating asset '.$asset->asset_tag.' '.$asset->id.' to user '.$user->id);
$asset->assigned_to = $user->id;
if (! $asset->save()) {
$this->error('Could not update assigned_to field on asset '.$asset->asset_tag.' '.$asset->id.' to user '.$user->id);
$this->error('Error saving: '.$asset->getErrors());
}
}
// Walk the list of licenses
foreach ($bad_user->licenses as $license) {
$this->info('Updating license '.$license->name.' '.$license->id.' to user '.$user->id);
$bad_user->licenses()->updateExistingPivot($license->id, ['assigned_to' => $user->id]);
}
// Walk the list of consumables
foreach ($bad_user->consumables as $consumable) {
$this->info('Updating consumable '.$consumable->id.' to user '.$user->id);
$bad_user->consumables()->updateExistingPivot($consumable->id, ['assigned_to' => $user->id]);
}
// Walk the list of accessories
foreach ($bad_user->accessories as $accessory) {
$this->info('Updating accessory '.$accessory->id.' to user '.$user->id);
$bad_user->accessories()->updateExistingPivot($accessory->id, ['assigned_to' => $user->id]);
}
// Walk the list of logs
foreach ($bad_user->userlog as $log) {
$this->info('Updating action log record '.$log->id.' to user '.$user->id);
$log->target_id = $user->id;
$log->save();
}
// Update any manager IDs
$this->info('Updating managed user records to user '.$user->id);
User::where('manager_id', '=', $bad_user->id)->update(['manager_id' => $user->id]);
// Update location manager IDs
foreach ($bad_user->managedLocations as $managedLocation) {
$this->info('Updating managed location record '.$managedLocation->name.' to manager '.$user->id);
$managedLocation->manager_id = $user->id;
$managedLocation->save();
}
// Mark the user as deleted
$this->info('Marking the user as deleted');
$bad_user->deleted_at = Carbon::now()->timestamp;
$bad_user->save();
}
}
}
}
@@ -0,0 +1,167 @@
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\Storage;
class MoveUploadsToNewDisk extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'snipeit:move-uploads {delete_local?}';
/**
* The console command description.
*
* @var string
*/
protected $description = 'This will move your locally uploaded files to whatever your current disk is.';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
if (config('filesystems.default') == 'local') {
$this->error('Your current disk is set to local so we cannot proceed.');
$this->warn("Please configure your .env settings for S3. \nChange your PUBLIC_FILESYSTEM_DISK value to 's3_public' and your PRIVATE_FILESYSTEM_DISK to s3_private.");
return false;
}
$delete_local = $this->argument('delete_local');
$public_uploads['accessories'] = glob('public/uploads/accessories'."/*.*");
$public_uploads['assets'] = glob('public/uploads/assets'."/*.*");
$public_uploads['avatars'] = glob('public/uploads/avatars'."/*.*");
$public_uploads['categories'] = glob('public/uploads/categories'."/*.*");
$public_uploads['companies'] = glob('public/uploads/companies'."/*.*");
$public_uploads['components'] = glob('public/uploads/components'."/*.*");
$public_uploads['consumables'] = glob('public/uploads/consumables'."/*.*");
$public_uploads['departments'] = glob('public/uploads/departments'."/*.*");
$public_uploads['locations'] = glob('public/uploads/locations'."/*.*");
$public_uploads['manufacturers'] = glob('public/uploads/manufacturers'."/*.*");
$public_uploads['suppliers'] = glob('public/uploads/suppliers'."/*.*");
$public_uploads['assetmodels'] = glob('public/uploads/models'."/*.*");
// iterate files
foreach ($public_uploads as $public_type => $public_upload) {
$type_count = 0;
$this->info('- There are ' . count($public_upload) . ' PUBLIC ' . $public_type . ' files.');
for ($i = 0; $i < count($public_upload); $i++) {
$type_count++;
$filename = basename($public_upload[$i]);
try {
Storage::disk('public')->put('uploads/'.$public_type.'/'.$filename, file_get_contents($public_upload[$i]));
$new_url = Storage::disk('public')->url('uploads/'.$public_type.'/'.$filename, $filename);
$this->info($type_count.'. PUBLIC: '.$filename.' was copied to '.$new_url);
} catch (\Exception $e) {
\Log::debug($e);
$this->error($e);
}
}
}
$logos = glob("public/uploads/setting*.*");
$this->info("- There are ".count($logos).' files that might be logos.');
$type_count = 0;
foreach ($logos as $logo) {
$this->info($logo);
$type_count++;
$filename = basename($logo);
Storage::disk('public')->put('uploads/' . $filename, file_get_contents($logo));
$this->info($type_count . '. LOGO: ' . $filename . ' was copied to ' . env('PUBLIC_AWS_URL') . '/uploads/' . $filename);
}
$private_uploads['assets'] = glob('storage/private_uploads/assets'."/*.*");
$private_uploads['signatures'] = glob('storage/private_uploads/signatures'."/*.*");
$private_uploads['audits'] = glob('storage/private_uploads/audits'."/*.*");
$private_uploads['assetmodels'] = glob('storage/private_uploads/assetmodels'."/*.*");
$private_uploads['imports'] = glob('storage/private_uploads/imports'."/*.*");
$private_uploads['licenses'] = glob('storage/private_uploads/licenses'."/*.*");
$private_uploads['users'] = glob('storage/private_uploads/users'."/*.*");
$private_uploads['backups'] = glob('storage/private_uploads/backups'."/*.*");
foreach ($private_uploads as $private_type => $private_upload) {
{
$this->info('- There are ' . count($private_upload) . ' PRIVATE ' . $private_type . ' files.');
$type_count = 0;
for ($x = 0; $x < count($private_upload); $x++) {
$type_count++;
$filename = basename($private_upload[$x]);
try {
Storage::put($private_type . '/' . $filename, file_get_contents($private_upload[$i]));
$new_url = Storage::url($private_type . '/' . $filename, $filename);
$this->info($type_count . '. PRIVATE: ' . $filename . ' was copied to ' . $new_url);
} catch (\Exception $e) {
\Log::debug($e);
$this->error($e);
}
}
}
if ($delete_local == 'true') {
$public_delete_count = 0;
$private_delete_count = 0;
$this->info("\n\n");
$this->error('!!!!!!!!!!!!!!!!!!!!!!!!!!!!! WARNING!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!');
$this->warn("\nTHIS WILL DELETE ALL OF YOUR LOCAL UPLOADED FILES. \n\nThis cannot be undone, so you should take a backup of your system before you proceed.\n");
$this->error('!!!!!!!!!!!!!!!!!!!!!!!!!!!!! WARNING!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!');
if ($this->confirm('Do you wish to continue?')) {
foreach ($public_uploads as $public_type => $public_upload) {
for ($i = 0; $i < count($public_upload); $i++) {
$filename = $public_upload[$i];
try {
unlink($filename);
$public_delete_count++;
} catch (\Exception $e) {
\Log::debug($e);
$this->error($e);
}
}
}
foreach ($private_uploads as $private_type => $private_upload) {
for ($i = 0; $i < count($private_upload); $i++) {
$filename = $private_upload[$i];
try {
unlink($filename);
$private_delete_count++;
} catch (\Exception $e) {
\Log::debug($e);
$this->error($e);
}
}
}
$this->info($public_delete_count . ' PUBLIC local files and ' . $private_delete_count . ' PRIVATE local files were deleted from your filesystem.');
}
}
}
}
}
@@ -0,0 +1,52 @@
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use App\Models\User;
class NormalizeUserNames extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'snipeit:normalize-names';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Normalizes weirdly formatted names as first-letter upercased';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* Execute the console command.
*
* @return int
*/
public function handle()
{
$users = User::get();
$this->info($users->count() . ' users');
foreach ($users as $user) {
$user->first_name = ucwords(strtolower($user->first_name));
$user->last_name = ucwords(strtolower($user->last_name));
$user->email = strtolower($user->email);
$user->save();
}
}
}
+33 -54
View File
@@ -1,41 +1,19 @@
<?php
namespace App\Console\Commands;
use App\Helpers\Helper;
use App\Importer\AccessoryImporter;
use App\Importer\AssetImporter;
use App\Importer\ConsumableImporter;
use App\Importer\Importer;
use App\Models\Accessory;
use App\Models\Asset;
use App\Models\AssetModel;
use App\Models\Category;
use App\Models\Company;
use App\Models\Consumable;
use App\Models\CustomField;
use App\Models\Location;
use App\Models\Manufacturer;
use App\Models\Setting;
use App\Models\Statuslabel;
use App\Models\Supplier;
use App\Models\User;
use DB;
use Illuminate\Console\Command;
use Illuminate\Database\Eloquent\Model;
use League\Csv\Reader;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputOption;
use ForceUTF8\Encoding;
ini_set('max_execution_time', 600); //600 seconds = 10 minutes
ini_set('memory_limit', '500M');
ini_set('max_execution_time', env('IMPORT_TIME_LIMIT', 600)); //600 seconds = 10 minutes
ini_set('memory_limit', env('IMPORT_MEMORY_LIMIT', '500M'));
/**
* Class ObjectImportCommand
*/
class ObjectImportCommand extends Command
{
/**
* The console command name.
*
@@ -59,13 +37,15 @@ class ObjectImportCommand extends Command
{
parent::__construct();
}
private $bar;
/**
* Execute the console command.
*
* @return mixed
*/
public function fire()
public function handle()
{
$filename = $this->argument('filename');
$class = title_case($this->option('item-type'));
@@ -77,36 +57,36 @@ class ObjectImportCommand extends Command
->setShouldNotify($this->option('send-welcome'))
->setUsernameFormat($this->option('username_format'));
$logFile = $this->option('logfile');
\Log::useFiles($logFile);
// This $logFile/useFiles() bit is currently broken, so commenting it out for now
// $logFile = $this->option('logfile');
// \Log::useFiles($logFile);
$this->comment('======= Importing Items from '.$filename.' =========');
$importer->import();
$this->bar = null;
if (!empty($this->errors)) {
$this->comment("The following Errors were encountered.");
if (! empty($this->errors)) {
$this->comment('The following Errors were encountered.');
foreach ($this->errors as $asset => $error) {
$this->comment('Error: Item: ' . $asset . ' failed validation: ' . json_encode($error));
$this->comment('Error: Item: '.$asset.' failed validation: '.json_encode($error));
}
} else {
$this->comment("All Items imported successfully!");
$this->comment('All Items imported successfully!');
}
$this->comment("");
return;
$this->comment('');
}
public function errorCallback($item, $field, $errorString)
{
$this->errors[$item->name][$field] = $errorString;
}
public function progress($count)
{
if (!$this->bar) {
if (! $this->bar) {
$this->bar = $this->output->createProgressBar($count);
}
static $index =0;
static $index = 0;
$index++;
if ($index < $count) {
$this->bar->advance();
@@ -114,12 +94,12 @@ class ObjectImportCommand extends Command
$this->bar->finish();
}
}
// Tracks the current item for error messages
private $updating;
// An array of errors encountered while parsing
private $errors;
/**
* Log a message to file, configurable by the --log-file parameter.
* If a warning message is passed, we'll spit it to the console as well.
@@ -128,7 +108,7 @@ class ObjectImportCommand extends Command
* @since 3.0
* @param string $string
* @param string $level
*/
*/
public function log($string, $level = 'info')
{
if ($level === 'warning') {
@@ -141,6 +121,7 @@ class ObjectImportCommand extends Command
}
}
}
/**
* Get the console command arguments.
*
@@ -150,12 +131,11 @@ class ObjectImportCommand extends Command
*/
protected function getArguments()
{
return array(
array('filename', InputArgument::REQUIRED, 'File for the CSV import.'),
);
return [
['filename', InputArgument::REQUIRED, 'File for the CSV import.'],
];
}
/**
* Get the console command options.
*
@@ -165,16 +145,15 @@ class ObjectImportCommand extends Command
*/
protected function getOptions()
{
return array(
array('email_format', null, InputOption::VALUE_REQUIRED, 'The format of the email addresses that should be generated. Options are firstname.lastname, firstname, filastname', null),
array('username_format', null, InputOption::VALUE_REQUIRED, 'The format of the username that should be generated. Options are firstname.lastname, firstname, filastname, email', null),
array('logfile', null, InputOption::VALUE_REQUIRED, 'The path to log output to. storage/logs/importer.log by default', storage_path('logs/importer.log') ),
array('item-type', null, InputOption::VALUE_REQUIRED, 'Item Type To import. Valid Options are Asset, Consumable, Accessory, License, or User', 'Asset'),
array('web-importer', null, InputOption::VALUE_NONE, 'Internal: packages output for use with the web importer'),
array('user_id', null, InputOption::VALUE_REQUIRED, 'ID of user creating items', 1),
array('update', null, InputOption::VALUE_NONE, 'If a matching item is found, update item information'),
array('send-welcome', null, InputOption::VALUE_NONE, 'Whether to send a welcome email to any new users that are created.'),
);
return [
['email_format', null, InputOption::VALUE_REQUIRED, 'The format of the email addresses that should be generated. Options are firstname.lastname, firstname, filastname', null],
['username_format', null, InputOption::VALUE_REQUIRED, 'The format of the username that should be generated. Options are firstname.lastname, firstname, filastname, email', null],
['logfile', null, InputOption::VALUE_REQUIRED, 'The path to log output to. storage/logs/importer.log by default', storage_path('logs/importer.log')],
['item-type', null, InputOption::VALUE_REQUIRED, 'Item Type To import. Valid Options are Asset, Consumable, Accessory, License, or User', 'Asset'],
['web-importer', null, InputOption::VALUE_NONE, 'Internal: packages output for use with the web importer'],
['user_id', null, InputOption::VALUE_REQUIRED, 'ID of user creating items', 1],
['update', null, InputOption::VALUE_NONE, 'If a matching item is found, update item information'],
['send-welcome', null, InputOption::VALUE_NONE, 'Whether to send a welcome email to any new users that are created.'],
];
}
}
+48 -100
View File
@@ -2,23 +2,9 @@
namespace App\Console\Commands;
use App\Models\Accessory;
use App\Models\Asset;
use App\Models\AssetModel;
use App\Models\Category;
use App\Models\Company;
use App\Models\Component;
use App\Models\Consumable;
use App\Models\Department;
use App\Models\Depreciation;
use App\Models\Group;
use App\Models\Import;
use App\Models\License;
use App\Models\LicenseSeat;
use App\Models\Location;
use App\Models\Manufacturer;
use App\Models\Statuslabel;
use App\Models\Supplier;
use App\Models\CustomField;
use Schema;
use DB;
use Illuminate\Console\Command;
@@ -29,15 +15,14 @@ class PaveIt extends Command
*
* @var string
*/
protected $signature = 'snipeit:pave
{--soft : Perform a "Soft" Delete, leaving all migrations, table structure, and the first user in place.}';
protected $signature = 'snipeit:pave {--force : Skip the interactive yes/no prompt for confirmation}';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Pave the database to start over. This should ALMOST NEVER BE USED. (It is primarily a quick tool for developers.)';
protected $description = 'Clear the database tables, leaving all migrations, table structure, and the first user in place. (It is primarily a quick tool for developers.) If you want to destroy all tables as well, use php artisan db:wipe.';
/**
* Create a new command instance.
@@ -56,88 +41,51 @@ class PaveIt extends Command
*/
public function handle()
{
if ($this->confirm("\n****************************************************\nTHIS WILL DELETE ALL OF THE DATA IN YOUR DATABASE. \nThere is NO undo. This WILL destroy ALL of your data. \n****************************************************\n\nDo you wish to continue? No backsies! [y|N]")) {
if ($this->option('soft')) {
Accessory::getQuery()->delete();
Asset::getQuery()->delete();
Category::getQuery()->delete();
Company::getQuery()->delete();
Component::getQuery()->delete();
Consumable::getQuery()->delete();
Department::getQuery()->delete();
Depreciation::getQuery()->delete();
License::getQuery()->delete();
LicenseSeat::getQuery()->delete();
Location::getQuery()->delete();
Manufacturer::getQuery()->delete();
AssetModel::getQuery()->delete();
Statuslabel::getQuery()->delete();
Supplier::getQuery()->delete();
Group::getQuery()->delete();
Import::getQuery()->delete();
DB::statement('delete from accessories_users');
DB::statement('delete from asset_logs');
DB::statement('delete from asset_maintenances');
DB::statement('delete from login_attempts');
DB::statement('delete from asset_uploads');
DB::statement('delete from action_logs');
DB::statement('delete from checkout_requests');
DB::statement('delete from consumables_users');
DB::statement('delete from custom_field_custom_fieldset');
DB::statement('delete from custom_fields');
DB::statement('delete from custom_fieldsets');
DB::statement('delete from components_assets');
DB::statement('delete from password_resets');
DB::statement('delete from requested_assets');
DB::statement('delete from requests');
DB::statement('delete from throttle');
DB::statement('delete from users_groups');
DB::statement('delete from users WHERE id!=1');
} else {
\DB::statement('drop table IF EXISTS accessories_users');
\DB::statement('drop table IF EXISTS accessories');
\DB::statement('drop table IF EXISTS asset_logs');
\DB::statement('drop table IF EXISTS action_logs');
\DB::statement('drop table IF EXISTS asset_maintenances');
\DB::statement('drop table IF EXISTS asset_uploads');
\DB::statement('drop table IF EXISTS assets');
\DB::statement('drop table IF EXISTS categories');
\DB::statement('drop table IF EXISTS checkout_requests');
\DB::statement('drop table IF EXISTS companies');
\DB::statement('drop table IF EXISTS consumables_users');
\DB::statement('drop table IF EXISTS consumables');
\DB::statement('drop table IF EXISTS custom_field_custom_fieldset');
\DB::statement('drop table IF EXISTS custom_fields');
\DB::statement('drop table IF EXISTS custom_fieldsets');
\DB::statement('drop table IF EXISTS depreciations');
\DB::statement('drop table IF EXISTS departments');
\DB::statement('drop table IF EXISTS groups');
\DB::statement('drop table IF EXISTS history');
\DB::statement('drop table IF EXISTS components');
\DB::statement('drop table IF EXISTS components_assets');
\DB::statement('drop table IF EXISTS license_seats');
\DB::statement('drop table IF EXISTS licenses');
\DB::statement('drop table IF EXISTS locations');
\DB::statement('drop table IF EXISTS manufacturers');
\DB::statement('drop table IF EXISTS models');
\DB::statement('drop table IF EXISTS migrations');
\DB::statement('drop table IF EXISTS oauth_access_tokens');
\DB::statement('drop table IF EXISTS oauth_auth_codes');
\DB::statement('drop table IF EXISTS oauth_clients');
\DB::statement('drop table IF EXISTS oauth_personal_access_clients');
\DB::statement('drop table IF EXISTS oauth_refresh_tokens');
\DB::statement('drop table IF EXISTS password_resets');
\DB::statement('drop table IF EXISTS requested_assets');
\DB::statement('drop table IF EXISTS requests');
\DB::statement('drop table IF EXISTS settings');
\DB::statement('drop table IF EXISTS status_labels');
\DB::statement('drop table IF EXISTS suppliers');
\DB::statement('drop table IF EXISTS throttle');
\DB::statement('drop table IF EXISTS users_groups');
\DB::statement('drop table IF EXISTS users');
\DB::statement('drop table IF EXISTS imports');
if (!$this->option('force')) {
$confirmation = $this->confirm("\n****************************************************\nTHIS WILL DELETE ALL OF THE DATA IN YOUR DATABASE. \nThere is NO undo. This WILL destroy ALL of your data, \nINCLUDING ANY non-Snipe-IT tables you have in this database. \n****************************************************\n\nDo you wish to continue? No backsies! ");
if (!$confirmation) {
$this->error('ABORTING');
exit(-1);
}
}
// List all the tables in the database so we don't have to worry about missing some as the app grows
$tables = DB::connection()->getDoctrineSchemaManager()->listTableNames();
$except_tables = [
'oauth_access_tokens',
'oauth_clients',
'oauth_personal_access_clients',
'migrations',
'settings',
'users',
];
// We only need to find out what these are so we can nuke these columns on the assets table.
$custom_fields = CustomField::get();
foreach ($custom_fields as $custom_field) {
$this->info('DROP the '.$custom_field->db_column.' column from assets as well.');
if (\Schema::hasColumn('assets', $custom_field->db_column)) {
\Schema::table('assets', function ($table) use ($custom_field) {
$table->dropColumn($custom_field->db_column);
});
}
}
foreach ($tables as $table) {
if (in_array($table, $except_tables)) {
$this->info($table. ' is SKIPPED.');
} else {
\DB::statement('truncate '.$table);
$this->info($table. ' is TRUNCATED.');
}
}
// Leave in the demo oauth keys so we don't have to reset them every day in the demos
\DB::statement('delete from oauth_clients WHERE id > 2');
\DB::statement('delete from oauth_access_tokens WHERE id > 2');
}
}
}
+15 -25
View File
@@ -2,22 +2,19 @@
namespace App\Console\Commands;
use App\Models\Accessory;
use App\Models\Asset;
use App\Models\AssetModel;
use App\Models\Category;
use App\Models\Component;
use App\Models\Consumable;
use App\Models\License;
use App\Models\Location;
use App\Models\Manufacturer;
use App\Models\Statuslabel;
use App\Models\Supplier;
use App\Models\User;
use Illuminate\Console\Command;
use DB;
use \App\Models\Asset;
use \App\Models\AssetModel;
use \App\Models\Location;
use \App\Models\Company;
use \App\Models\License;
use \App\Models\Accessory;
use \App\Models\Component;
use \App\Models\Consumable;
use \App\Models\Category;
use \App\Models\User;
use \App\Models\Supplier;
use \App\Models\Manufacturer;
use \App\Models\Depreciation;
use \App\Models\Statuslabel;
class Purge extends Command
{
@@ -33,7 +30,7 @@ class Purge extends Command
*
* @var string
*/
protected $description = 'Purge all soft-deleted deleted records in the database. This will rewrite history for items that have been edited, or checked in or out. It will also reqrite history for users associated with deleted items.';
protected $description = 'Purge all soft-deleted deleted records in the database. This will rewrite history for items that have been edited, or checked in or out. It will also rewrite history for users associated with deleted items.';
/**
* Create a new command instance.
@@ -53,7 +50,7 @@ class Purge extends Command
public function handle()
{
$force = $this->option('force');
if (($this->confirm("\n****************************************************\nTHIS WILL PURGE ALL SOFT-DELETED ITEMS IN YOUR SYSTEM. \nThere is NO undo. This WILL permanently destroy \nALL of your deleted data. \n****************************************************\n\nDo you wish to continue? No backsies! [y|N]")) || $force == 'true') {
if (($this->confirm("\n****************************************************\nTHIS WILL PURGE ALL SOFT-DELETED ITEMS IN YOUR SYSTEM. \nThere is NO undo. This WILL permanently destroy \nALL of your deleted data. \n****************************************************\n\nDo you wish to continue? No backsies! [y|N]")) || $force == 'true') {
/**
* Delete assets
@@ -83,9 +80,8 @@ class Purge extends Command
$location->forceDelete();
}
$accessories = Accessory::whereNotNull('deleted_at')->withTrashed()->get();
$accessory_assoc=0;
$accessory_assoc = 0;
$this->info($accessories->count().' accessories purged.');
foreach ($accessories as $accessory) {
$this->info('- Accessory "'.$accessory->name.'" deleted.');
@@ -95,7 +91,6 @@ class Purge extends Command
}
$this->info($accessory_assoc.' corresponding log records purged.');
$consumables = Consumable::whereNotNull('deleted_at')->withTrashed()->get();
$this->info($consumables->count().' consumables purged.');
foreach ($consumables as $consumable) {
@@ -104,7 +99,6 @@ class Purge extends Command
$consumable->forceDelete();
}
$components = Component::whereNotNull('deleted_at')->withTrashed()->get();
$this->info($components->count().' components purged.');
foreach ($components as $component) {
@@ -129,7 +123,6 @@ class Purge extends Command
$model->forceDelete();
}
$categories = Category::whereNotNull('deleted_at')->withTrashed()->get();
$this->info($categories->count().' categories purged.');
foreach ($categories as $category) {
@@ -168,11 +161,8 @@ class Purge extends Command
$this->info('- Status Label "'.$status_label->name.'" deleted.');
$status_label->forceDelete();
}
} else {
$this->info('Action canceled. Nothing was purged.');
}
}
}
@@ -0,0 +1,44 @@
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
class PurgeLoginAttempts extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'snipeit:purge-logins';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Clears the login_attempts table';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
if ($this->confirm("\n****************************************************\nTHIS WILL DELETE ALL OF THE YOUR LOGIN ATTEMPT RECORDS. \nThere is NO undo! \n****************************************************\n\nDo you wish to continue? No backsies! [y|N]")) {
\DB::statement('delete from login_attempts');
}
}
}
@@ -0,0 +1,131 @@
<?php
namespace App\Console\Commands;
use App\Models\CustomField;
use Illuminate\Console\Command;
class ReEncodeCustomFieldNames extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'snipeit:regenerate-fieldnames';
/**
* The console command description.
*
* @var string
*/
protected $description = 'This utility will regenerate the column names for custom fields. It should typically only be needed when a PHP upgrade changed the behavior of the unicode conversion between versions.';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* All three of these things must match for the custom fields system to work as expected:
*
* - what the system thinks the output of $field->convertUnicodeDbSlug() is
* - the actual db_column name in the customfields table
* - the physical column name that was created on the assets table
*
* For some people who upgraded their version of PHP, the unicode converter now behaves
* differently in than it did when their custom fields were first created, specifically as it
* relates to handling slashes, ampersands, etc. This can result in the field names no longer
* matching up, as an older version of the PHP extension simply dropped slashes, etc, while the
* newer version of the PHP extension will convert them to underscores.
*
* @return mixed
*/
public function handle()
{
if ($this->confirm('This will regenerate all of the custom field database fieldnames in your database. THIS WILL CHANGE YOUR SCHEMA AND SHOULD NOT BE DONE WITHOUT MAKING A BACKUP FIRST. Do you wish to continue?')) {
/** Get all of the custom fields */
$fields = CustomField::get();
$asset_columns = \DB::getSchemaBuilder()->getColumnListing('assets');
$custom_field_columns = [];
/** Loop through the columns on the assets table */
foreach ($asset_columns as $asset_column) {
/** Add ones that start with _snipeit_ to an array for handling */
if (strpos($asset_column, '_snipeit_') === 0) {
/**
* Get the ID of the custom field based on the fieldname.
* For example, in _snipeit_mac_address_1, we grab the 1 because we know
* that's the ID of the custom field that created the column.
* Then use that ID as the array key for use comparing the actual assets field name
* and the db_column value from the custom fields table.
*/
$last_part = substr(strrchr($asset_column, '_snipeit_'), 1);
$custom_field_columns[$last_part] = $asset_column;
}
}
foreach ($fields as $field) {
$this->info($field->name.' ('.$field->id.') column should be '.$field->convertUnicodeDbSlug());
/** The assets table has the column it should have, all is well */
if ($field->db_column == $field->convertUnicodeDbSlug() && \Schema::hasColumn('assets', $field->convertUnicodeDbSlug())) {
$this->info('-- ✓ This field exists on the assets table and the value for db_column matches in the custom_fields table.');
/**
* There is a mismatch between the fieldname on the assets table and
* what $field->convertUnicodeDbSlug() is *now* expecting.
*/
} else {
if ($field->db_column != $field->convertUnicodeDbSlug()) {
$this->error('-- ✘ Field mismatch: '.$field->name.' value should be '.$field->convertUnicodeDbSlug().' but is '.$field->db_column.' in the custom_fields table');
} else {
$this->error('-- ✘ Field mismatch: '.$field->name.' column should be '.$field->convertUnicodeDbSlug().' but is '.$custom_field_columns[$field->id].' on the assets table.');
}
/** Make sure the custom_field_columns array has the ID */
if (array_key_exists($field->id, $custom_field_columns)) {
/**
* Update the asset schema to the corrected fieldname that will be recognized by the
* system elsewhere that we use $field->convertUnicodeDbSlug()
*/
$this->info('-- ✓ Updating field from '.$field->db_column.' to '.$field->convertUnicodeDbSlug().' in the assets table');
\Schema::table('assets', function ($table) use ($custom_field_columns, $field) {
$table->renameColumn($custom_field_columns[$field->id], $field->convertUnicodeDbSlug());
});
$this->info('-- ✓ Updating field from '.$field->db_column.' to '.$field->convertUnicodeDbSlug().' in the custom fields table');
$field->db_column = $field->convertUnicodeDbSlug();
$field->save();
} else {
$this->warn('-- ✘ WARNING: There is no field on the assets table ending in '.$field->id.'. This may require more in-depth investigation and may mean the schema was altered manually.');
}
}
/** Update the db_column property in the custom fields table, just in case it doesn't match the other
* things.
*/
$field->db_column = $field->convertUnicodeDbSlug();
$field->save();
}
}
}
}
+17 -27
View File
@@ -2,11 +2,11 @@
namespace App\Console\Commands;
use App\Models\CustomField;
use Illuminate\Console\Command;
use App\LegacyEncrypter\McryptEncrypter;
use App\Models\Setting;
use App\Models\Asset;
use App\Models\CustomField;
use App\Models\Setting;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\Storage;
class RecryptFromMcrypt extends Command
@@ -44,37 +44,35 @@ class RecryptFromMcrypt extends Command
public function handle()
{
// Check and see if they have a legacy app key listed in their .env
// If not, we can try to use the current APP_KEY if looks like it's old
$legacy_key = env('LEGACY_APP_KEY');
$key_parts = explode(':', $legacy_key);
$legacy_cipher = env('LEGACY_CIPHER', 'rijndael-256');
$errors = array();
$errors = [];
if (!$legacy_key) {
if (! $legacy_key) {
$this->error('ERROR: You do not have a LEGACY_APP_KEY set in your .env file. Please locate your old APP_KEY and ADD a line to your .env file like: LEGACY_APP_KEY=YOUR_OLD_APP_KEY');
return false;
}
// Do some basic legacy app key length checks
if (strlen($legacy_key) == 32) {
$legacy_length_check = true;
} elseif (array_key_exists('1', $key_parts) && (strlen($key_parts[1])==44)) {
$legacy_key = base64_decode($key_parts[1],true);
} elseif (array_key_exists('1', $key_parts) && (strlen($key_parts[1]) == 44)) {
$legacy_key = base64_decode($key_parts[1], true);
$legacy_length_check = true;
} else {
$legacy_length_check = false;
}
// Check that the app key is 32 characters
if ($legacy_length_check === true) {
$this->comment('INFO: Your LEGACY_APP_KEY looks correct. Okay to continue.');
} else {
$this->error('ERROR: Your LEGACY_APP_KEY is not the correct length (32 characters or base64 followed by 44 characters for later versions). Please locate your old APP_KEY and use that as your LEGACY_APP_KEY in your .env file to continue.');
return false;
}
@@ -84,8 +82,7 @@ class RecryptFromMcrypt extends Command
$force = ($this->option('force')) ? true : false;
if ($force || ($this->confirm("Are you SURE you wish to continue?"))) {
if ($force || ($this->confirm('Are you SURE you wish to continue?'))) {
$backup_file = 'backups/env-backups/'.'app_key-'.date('Y-m-d-gis');
try {
@@ -95,15 +92,14 @@ class RecryptFromMcrypt extends Command
$this->info('WARNING: Could not backup app keys');
}
if ($legacy_cipher){
$mcrypter = new McryptEncrypter($legacy_key,$legacy_cipher);
}else{
if ($legacy_cipher) {
$mcrypter = new McryptEncrypter($legacy_key, $legacy_cipher);
} else {
$mcrypter = new McryptEncrypter($legacy_key);
}
$settings = Setting::getSettings();
if ($settings->ldap_pword=='') {
if ($settings->ldap_pword == '') {
$this->comment('INFO: No LDAP password found. Skipping... ');
} else {
$decrypted_ldap_pword = $mcrypter->decrypt($settings->ldap_pword);
@@ -111,30 +107,28 @@ class RecryptFromMcrypt extends Command
$settings->save();
}
/** @var CustomField[] $custom_fields */
$custom_fields = CustomField::where('field_encrypted','=', 1)->get();
$custom_fields = CustomField::where('field_encrypted', '=', 1)->get();
$this->comment('INFO: Retrieving encrypted custom fields...');
$query = Asset::withTrashed();
foreach ($custom_fields as $custom_field) {
$this->comment('FIELD TO RECRYPT: '.$custom_field->name .' ('.$custom_field->db_column.')');
$this->comment('FIELD TO RECRYPT: '.$custom_field->name.' ('.$custom_field->db_column.')');
$query->orWhereNotNull($custom_field->db_column);
}
// Get all assets with a value in any of the fields that were encrypted
/** @var Asset[] $assets */
$assets = $query->get();
$bar = $this->output->createProgressBar(count($assets));
foreach ($assets as $asset) {
foreach ($custom_fields as $encrypted_field) {
$columnName = $encrypted_field->db_column;
// Make sure the value isn't null
if ($asset->{$columnName}!='') {
if ($asset->{$columnName} != '') {
// Try to decrypt the payload using the legacy app key
try {
$decrypted_field = $mcrypter->decrypt($asset->{$columnName});
@@ -144,14 +138,11 @@ class RecryptFromMcrypt extends Command
$errors[] = ' - ERROR: Could not decrypt field ['.$encrypted_field->name.']: '.$e->getMessage();
}
}
}
$asset->save();
$bar->advance();
}
$bar->finish();
if (count($errors) > 0) {
@@ -162,6 +153,5 @@ class RecryptFromMcrypt extends Command
}
}
}
}
}
+16 -17
View File
@@ -2,11 +2,10 @@
namespace App\Console\Commands;
use Illuminate\Console\Command;
use App\Models\Asset;
use App\Models\Setting;
use DB;
use Artisan;
use Illuminate\Console\Command;
class RegenerateAssetTags extends Command
{
@@ -41,31 +40,27 @@ class RegenerateAssetTags extends Command
*/
public function handle()
{
if ($this->confirm('This will regenerate all of the asset tags within your system. This action is data-destructive and should be used with caution. Do you wish to continue?'))
{
if ($this->confirm('This will regenerate all of the asset tags within your system. This action is data-destructive and should be used with caution. Do you wish to continue?')) {
$output['info'] = [];
$output['warn'] = [];
$output['error'] = [];
$settings = Setting::getSettings();
$start_tag = ($this->option('start')) ? $this->option('start') : (($settings->next_auto_tag_base) ? Setting::getSettings()->next_auto_tag_base : 1) ;
$start_tag = ($this->option('start')) ? $this->option('start') : (($settings->next_auto_tag_base) ? Setting::getSettings()->next_auto_tag_base : 1);
$this->info('Starting at '.$start_tag);
$total_assets = Asset::orderBy('id','asc')->get();
$total_assets = Asset::orderBy('id', 'asc')->get();
$bar = $this->output->createProgressBar(count($total_assets));
try {
try {
Artisan::call('backup:run');
} catch (\Exception $e) {
$output['error'][] = $e;
}
foreach ($total_assets as $asset) {
$start_tag++;
$output['info'][] = 'Asset tag:'.$asset->asset_tag;
$asset->asset_tag = $settings->auto_increment_prefix.$settings->auto_increment_prefix.$start_tag;
@@ -77,29 +72,33 @@ class RegenerateAssetTags extends Command
// Use forceSave here to override model level validation
$asset->forceSave();
$start_tag++;
if ($bar) {
$bar->advance();
}
}
$settings->next_auto_tag_base = Asset::zerofill($start_tag, $settings->zerofill_count);
$settings->save();
$bar->finish();
$this->info("\n");
if (($this->option('output')=='all') || ($this->option('output')=='info')) {
if (($this->option('output') == 'all') || ($this->option('output') == 'info')) {
foreach ($output['info'] as $key => $output_text) {
$this->info($output_text);
}
}
if (($this->option('output')=='all') || ($this->option('output')=='warn')) {
if (($this->option('output') == 'all') || ($this->option('output') == 'warn')) {
foreach ($output['warn'] as $key => $output_text) {
$this->warn($output_text);
}
}
if (($this->option('output')=='all') || ($this->option('output')=='error')) {
if (($this->option('output') == 'all') || ($this->option('output') == 'error')) {
foreach ($output['error'] as $key => $output_text) {
$this->error($output_text);
}
}
}
}
}
+17 -5
View File
@@ -3,9 +3,9 @@
namespace App\Console\Commands;
use Illuminate\Console\Command;
use App\Models\Setting;
use App\Models\User;
use Illuminate\Console\Command;
class ResetDemoSettings extends Command
{
@@ -48,12 +48,13 @@ class ResetDemoSettings extends Command
$settings->auto_increment_assets = 1;
$settings->logo = 'snipe-logo.png';
$settings->alert_email = 'service@snipe-it.io';
$settings->login_note = 'Use `admin` / `password` to login to the demo.';
$settings->header_color = null;
$settings->barcode_type = 'QRCODE';
$settings->default_currency = 'USD';
$settings->brand = 3;
$settings->brand = 2;
$settings->ldap_enabled = 0;
$settings->full_multiple_companies_support = 1;
$settings->full_multiple_companies_support = 0;
$settings->alt_barcode = 'C128';
$settings->skin = '';
$settings->email_domain = 'snipeitapp.com';
@@ -64,7 +65,16 @@ class ResetDemoSettings extends Command
$settings->thumbnail_max_h = '30';
$settings->locale = 'en';
$settings->version_footer = 'on';
$settings->support_footer = 'on';
$settings->support_footer = null;
$settings->saml_enabled = '0';
$settings->saml_sp_x509cert = null;
$settings->saml_idp_metadata = null;
$settings->saml_attr_mapping_username = null;
$settings->saml_forcelogin = '0';
$settings->saml_slo = null;
$settings->saml_custom_settings = null;
$settings->save();
if ($user = User::where('username', '=', 'admin')->first()) {
@@ -72,7 +82,9 @@ class ResetDemoSettings extends Command
$user->save();
}
\Storage::disk('public')->put('snipe-logo.png', file_get_contents(public_path('img/demo/snipe-logo.png')));
\Storage::disk('public')->put('snipe-logo-lg.png', file_get_contents(public_path('img/demo/snipe-logo-lg.png')));
}
}
+11 -26
View File
@@ -2,16 +2,13 @@
namespace App\Console\Commands;
use Illuminate\Console\Command;
use App\Models\User;
use App\Models\Actionlog;
use App\Models\Asset;
use App\Models\Consumable;
use App\Models\Accessory;
use App\Models\LicenseSeat;
use App\Models\License;
use DB;
use App\Models\User;
use Artisan;
use DB;
use Illuminate\Console\Command;
class RestoreDeletedUsers extends Command
{
@@ -46,16 +43,15 @@ class RestoreDeletedUsers extends Command
*/
public function handle()
{
$start_date = $this->option('start_date');
$end_date = $this->option('end_date');
$asset_totals = 0;
$license_totals = 0;
$user_count = 0;
if (($start_date=='') || ($end_date=='')) {
if (($start_date == '') || ($end_date == '')) {
$this->info('ERROR: All fields are required.');
return false;
}
@@ -66,15 +62,15 @@ class RestoreDeletedUsers extends Command
foreach ($users as $user) {
$user_count++;
$user_logs = Actionlog::where('target_id', $user->id)->where('target_type',User::class)
->where('action_type','checkout')->with('item')->get();
$user_logs = Actionlog::where('target_id', $user->id)->where('target_type', User::class)
->where('action_type', 'checkout')->with('item')->get();
$this->info($user_count.'. '.$user->username.' ('.$user->id.') was deleted at '.$user->deleted_at. ' and has '.$user_logs->count().' checkouts associated.');
$this->info($user_count.'. '.$user->username.' ('.$user->id.') was deleted at '.$user->deleted_at.' and has '.$user_logs->count().' checkouts associated.');
foreach ($user_logs as $user_log) {
$this->info(' * '.$user_log->item_type.': '.$user_log->item->name.' - item_id: '.$user_log->item_id);
if ($user_log->item_type==Asset::class) {
if ($user_log->item_type == Asset::class) {
$asset_totals++;
DB::table('assets')
@@ -82,11 +78,10 @@ class RestoreDeletedUsers extends Command
->update(['assigned_to' => $user->id, 'assigned_type'=> User::class]);
$this->info(' ** Asset '.$user_log->item->id.' ('.$user_log->item->asset_tag.') restored to user '.$user->id.'');
} elseif ($user_log->item_type==License::class) {
} elseif ($user_log->item_type == License::class) {
$license_totals++;
$avail_seat = DB::table('license_seats')->where('license_id','=',$user_log->item->id)
$avail_seat = DB::table('license_seats')->where('license_id', '=', $user_log->item->id)
->whereNull('assigned_to')->whereNull('asset_id')->whereBetween('updated_at', [$start_date, $end_date])->first();
if ($avail_seat) {
$this->info(' ** Allocating seat '.$avail_seat->id.' for this License');
@@ -94,27 +89,17 @@ class RestoreDeletedUsers extends Command
DB::table('license_seats')
->where('id', $avail_seat->id)
->update(['assigned_to' => $user->id]);
} else {
$this->warn('ERROR: No available seats for '.$user_log->item->name);
}
}
}
$this->warn('Restoring user '.$user->username.'!');
$user->restore();
}
$this->info($asset_totals.' assets affected');
$this->info($license_totals.' licenses affected');
}
}
+325
View File
@@ -0,0 +1,325 @@
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use ZipArchive;
class RestoreFromBackup extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'snipeit:restore
{--force : Skip the danger prompt; assuming you enter "y"}
{filename : The zip file to be migrated}
{--no-progress : Don\'t show a progress bar}';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Restore from a previously created Snipe-IT backup file';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
public static $buffer_size = 1024 * 1024; // use a 1MB buffer, ought to work fine for most cases?
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
$dir = getcwd();
if( $dir != base_path() ) { // usually only the case when running via webserver, not via command-line
\Log::debug("Current working directory is: $dir, changing directory to: ".base_path());
chdir(base_path()); // TODO - is this *safe* to change on a running script?!
}
//
$filename = $this->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 */); // that constant only exists in PHP 7.4 and higher
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 ('.$filename.') in directory '.$dir.'.',
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', // these are asset _files_, not the pictures.
'storage/private_uploads/audits',
'storage/private_uploads/imports',
'storage/private_uploads/assetmodels',
'storage/private_uploads/users',
'storage/private_uploads/licenses',
'storage/private_uploads/signatures',
];
$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', // we don't want this, let the barcodes be regenerated
'public/uploads/consumables',
'public/uploads/departments',
'public/uploads/avatars',
'public/uploads/suppliers',
'public/uploads/assets', // these are asset _pictures_, not asset files
'public/uploads/locations',
'public/uploads/accessories',
'public/uploads/models',
'public/uploads/categories',
'public/uploads/avatars',
'public/uploads/manufacturers',
];
$public_files = [
'public/uploads/logo.*',
'public/uploads/setting-email_logo*',
'public/uploads/setting-label_logo*',
'public/uploads/setting-logo*',
'public/uploads/favicon.*',
'public/uploads/favicon-uploaded.*',
];
$all_files = $private_dirs + $public_dirs;
$sqlfiles = [];
$sqlfile_indices = [];
$interesting_files = [];
$boring_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'];
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";
}
// skip macOS resource fork files (?!?!?!)
if (strpos($raw_path, '__MACOSX') !== false && strpos($raw_path, '._') !== false) {
//print "SKIPPING macOS Resource fork file: $raw_path\n";
$boring_files[] = $raw_path;
continue;
}
if (@pathinfo($raw_path, PATHINFO_EXTENSION) == 'sql') {
\Log::debug("Found a sql file!");
$sqlfiles[] = $raw_path;
$sqlfile_indices[] = $i;
continue;
}
foreach (array_merge($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];
continue 2;
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");
}
}
}
$good_extensions = ['png', 'gif', 'jpg', 'svg', 'jpeg', 'doc', 'docx', 'pdf', 'txt',
'zip', 'rar', 'xls', 'xlsx', 'lic', 'xml', 'rtf', 'webp', 'key', 'ico', ];
foreach (array_merge($private_files, $public_files) as $file) {
$has_wildcard = (strpos($file, '*') !== false);
if ($has_wildcard) {
$file = substr($file, 0, -1); //trim last character (which should be the wildcard)
}
$last_pos = strrpos($raw_path, $file); // no trailing slash!
if ($last_pos !== false) {
$extension = strtolower(pathinfo($raw_path, PATHINFO_EXTENSION));
if (! in_array($extension, $good_extensions)) {
$this->warn('Potentially unsafe file '.$raw_path.' is being skipped');
$boring_files[] = $raw_path;
continue 2;
}
//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");
//no wildcards found in $file, process 'normally'
if ($last_pos + strlen($file) == strlen($raw_path) || $has_wildcard) { //again, no trailing slash. or this is a wildcard and we just take it.
// 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];
continue 2;
}
}
}
$boring_files[] = $raw_path; //if we've gotten to here and haven't continue'ed our way into the next iteration, we don't want this file
} // end of pre-processing the ZIP file for-loop
// 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 = [];
$env_vars = getenv();
$env_vars['MYSQL_PWD'] = config('database.connections.mysql.password');
// TODO notes: we are stealing the dump_binary_path (which *probably* also has your copy of the mysql binary in it. But it might not, so we might need to extend this)
// we unilaterally prepend a slash to the `mysql` command. This might mean your path could look like /blah/blah/blah//mysql - which should be fine. But maybe in some environments it isn't?
$mysql_binary = config('database.connections.mysql.dump.dump_binary_path').\DIRECTORY_SEPARATOR.'mysql'.(\DIRECTORY_SEPARATOR == '\\' ? ".exe" : "");
if( ! file_exists($mysql_binary) ) {
return $this->error("mysql tool at: '$mysql_binary' does not exist, cannot restore. Please edit DB_DUMP_PATH in your .env to point to a directory that contains the mysqldump and mysql binary");
}
$proc_results = proc_open("$mysql_binary -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');
}
stream_set_blocking($pipes[1], false); // use non-blocking reads for stdout
stream_set_blocking($pipes[2], false); // use non-blocking reads for stderr
// $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;
}
$bytes_read = 0;
try {
while (($buffer = fgets($sql_contents, self::$buffer_size)) !== false) {
$bytes_read += strlen($buffer);
// \Log::debug("Buffer is: '$buffer'");
$bytes_written = fwrite($pipes[0], $buffer);
if ($bytes_written === false) {
throw new Exception("Unable to write to pipe");
}
}
} catch (\Exception $e) {
\Log::error("Error during restore!!!! ".$e->getMessage());
$err_out = fgets($pipes[1]);
$err_err = fgets($pipes[2]);
\Log::error("Error OUTPUT: ".$err_out);
$this->info($err_out);
\Log::error("Error ERROR : ".$err_err);
$this->error($err_err);
throw $e;
}
if (!feof($sql_contents) || $bytes_read == 0) {
return $this->error("Not at end of file for sql file, or zero bytes read. aborting!");
}
fclose($pipes[0]);
fclose($sql_contents);
$this->line(stream_get_contents($pipes[1]));
fclose($pipes[1]);
$this->error(stream_get_contents($pipes[2]));
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!!!!
if ($this->option('no-progress')) {
$bar = null;
} else {
$bar = $this->output->createProgressBar(count($interesting_files));
}
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, self::$buffer_size)) !== false) {
fwrite($migrated_file, $buffer);
}
fclose($migrated_file);
fclose($fp);
//$this->info("Wrote $ugly_file_name to $pretty_file_name");
if ($bar) {
$bar->advance();
}
}
if ($bar) {
$bar->finish();
$this->line('');
} else {
$this->info(count($interesting_files).' files were succesfully transferred');
}
foreach ($boring_files as $boring_file) {
$this->warn($boring_file.' was skipped.');
}
}
}
+125
View File
@@ -0,0 +1,125 @@
<?php
namespace App\Console\Commands;
use App\Models\Asset;
use App\Models\CustomField;
use App\Models\Setting;
use Artisan;
use Illuminate\Console\Command;
use Illuminate\Encryption\Encrypter;
class RotateAppKey extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'snipeit:rotate-key';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Command description';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
if ($this->confirm("\n****************************************************\nTHIS WILL MODIFY YOUR APP_KEY AND DE-CRYPT YOUR ENCRYPTED CUSTOM FIELDS AND \nRE-ENCRYPT THEM WITH A NEWLY GENERATED KEY. \n\nThere is NO undo. \n\nMake SURE you have a database backup and a backup of your .env generated BEFORE running this command. \n\nIf you do not save the newly generated APP_KEY to your .env in this process, \nyour encrypted data will no longer be decryptable. \n\nAre you SURE you wish to continue, and have confirmed you have a database backup and an .env backup? ")) {
// Get the existing app_key and ciphers
// We put them in a variable since we clear the cache partway through here.
$old_app_key = config('app.key');
$cipher = config('app.cipher');
// Generate a new one
Artisan::call('key:generate', ['--show' => true]);
$new_app_key = Artisan::output();
// Clear the config cache
Artisan::call('config:clear');
$this->warn('Your app cipher is: '.$cipher);
$this->warn('Your old APP_KEY is: '.$old_app_key);
$this->warn('Your new APP_KEY is: '.$new_app_key);
// Write the new app key to the .env file
$this->writeNewEnvironmentFileWith($new_app_key);
// Manually create an old encrypter instance using the old app key
// and also create a new encrypter instance so we can re-crypt the field
// using the newly generated app key
$oldEncrypter = new Encrypter(base64_decode(substr($old_app_key, 7)), $cipher);
$newEncrypter = new Encrypter(base64_decode(substr($new_app_key, 7)), $cipher);
$fields = CustomField::where('field_encrypted', '1')->get();
foreach ($fields as $field) {
$assets = Asset::whereNotNull($field->db_column)->get();
foreach ($assets as $asset) {
$asset->{$field->db_column} = $oldEncrypter->decrypt($asset->{$field->db_column});
$this->line('DECRYPTED: '.$field->db_column);
$asset->{$field->db_column} = $newEncrypter->encrypt($asset->{$field->db_column});
$this->line('ENCRYPTED: '.$field->db_column);
$asset->save();
}
}
// Handle the LDAP password if one is provided
$setting = Setting::first();
if ($setting->ldap_pword != '') {
$setting->ldap_pword = $oldEncrypter->decrypt($setting->ldap_pword);
$setting->ldap_pword = $newEncrypter->encrypt($setting->ldap_pword);
$setting->save();
$this->warn('LDAP password has been re-encrypted.');
}
} else {
$this->info('This operation has been canceled. No changes have been made.');
}
}
/**
* Write a new environment file with the given key.
*
* @param string $key
* @return void
*/
protected function writeNewEnvironmentFileWith($key)
{
file_put_contents($this->laravel->environmentFilePath(), preg_replace(
$this->keyReplacementPattern(),
'APP_KEY='.$key,
file_get_contents($this->laravel->environmentFilePath())
));
}
/**
* Get a regex pattern that will match env APP_KEY with any random key.
*
* @return string
*/
protected function keyReplacementPattern()
{
$escaped = preg_quote('='.$this->laravel['config']['app.key'], '/');
return "/^APP_KEY{$escaped}/m";
}
}
@@ -0,0 +1,54 @@
<?php
namespace App\Console\Commands;
use App\Models\User;
use App\Notifications\CurrentInventory;
use Illuminate\Console\Command;
class SendCurrentInventoryToUsers extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'snipeit:user-inventory';
/**
* The console command description.
*
* @var string
*/
protected $description = 'This will send users a report of all of the items currently checked out to them.';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
$users = User::whereNull('deleted_at')->whereNotNull('email')->with('assets', 'accessories', 'licenses')->get();
$count = 0;
foreach ($users as $user) {
if (($user->assets->count() > 0) || ($user->accessories->count() > 0) || ($user->licenses->count() > 0)) {
$count++;
$user->notify((new CurrentInventory($user)));
}
}
$this->info($count.' users notified.');
}
}
@@ -2,17 +2,16 @@
namespace App\Console\Commands;
use App\Models\Asset;
use App\Models\Recipients\AlertRecipient;
use App\Models\Setting;
use Illuminate\Console\Command;
use App\Notifications\ExpectedCheckinNotification;
use App\Notifications\ExpectedCheckinAdminNotification;
use App\Notifications\ExpectedCheckinNotification;
use Carbon\Carbon;
use Illuminate\Console\Command;
class SendExpectedCheckinAlerts extends Command
{
/**
* The console command name.
*
@@ -29,8 +28,6 @@ class SendExpectedCheckinAlerts extends Command
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
@@ -42,7 +39,7 @@ class SendExpectedCheckinAlerts extends Command
*
* @return mixed
*/
public function fire()
public function handle()
{
$settings = Setting::getSettings();
$whenNotify = Carbon::now()->addDays(7);
@@ -52,7 +49,7 @@ class SendExpectedCheckinAlerts extends Command
$this->info($assets->count().' assets');
foreach ($assets as $asset) {
if ($asset->assigned && $asset->checkedOutToUser()) {
if ($asset->assigned && $asset->checkedOutToUser()) {
$asset->assigned->notify((new ExpectedCheckinNotification($asset)));
}
}
@@ -60,14 +57,9 @@ class SendExpectedCheckinAlerts extends Command
if (($assets) && ($assets->count() > 0) && ($settings->alert_email != '')) {
// Send a rollup to the admin, if settings dictate
$recipients = collect(explode(',', $settings->alert_email))->map(function ($item, $key) {
return new \App\Models\Recipients\AlertRecipient($item);
return new AlertRecipient($item);
});
\Notification::send($recipients, new ExpectedCheckinAdminNotification($assets));
}
}
}
+8 -25
View File
@@ -4,16 +4,14 @@ namespace App\Console\Commands;
use App\Models\Asset;
use App\Models\License;
use App\Models\Recipients\AlertRecipient;
use App\Models\Setting;
use DB;
use App\Notifications\ExpiringLicenseNotification;
use App\Notifications\ExpiringAssetsNotification;
use App\Notifications\ExpiringLicenseNotification;
use Illuminate\Console\Command;
class SendExpirationAlerts extends Command
{
/**
* The console command name.
*
@@ -30,8 +28,6 @@ class SendExpirationAlerts extends Command
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
@@ -43,50 +39,37 @@ class SendExpirationAlerts extends Command
*
* @return mixed
*/
public function fire()
public function handle()
{
$settings = Setting::getSettings();
$threshold = $settings->alert_interval;
if (($settings->alert_email != '') && ($settings->alerts_enabled == 1)) {
// Send a rollup to the admin, if settings dictate
$recipients = collect(explode(',', $settings->alert_email))->map(function ($item, $key) {
return new \App\Models\Recipients\AlertRecipient($item);
return new AlertRecipient($item);
});
// Expiring Assets
$assets = Asset::getExpiringWarrantee(Setting::getSettings()->alert_interval);
$assets = Asset::getExpiringWarrantee($threshold);
if ($assets->count() > 0) {
$this->info(trans_choice('mail.assets_warrantee_alert', $assets->count(),
['count' => $assets->count(), 'threshold' => $threshold]));
$this->info(trans_choice('mail.assets_warrantee_alert', $assets->count(), ['count' => $assets->count(), 'threshold' => $threshold]));
\Notification::send($recipients, new ExpiringAssetsNotification($assets, $threshold));
}
// Expiring licenses
$licenses = License::getExpiringLicenses($threshold);
if ($licenses->count() > 0) {
$this->info(trans_choice('mail.license_expiring_alert', $licenses->count(), ['count' => $licenses->count(), 'threshold' => $threshold]));
\Notification::send($recipients, new ExpiringLicenseNotification($licenses, $threshold));
}
} else {
if ($settings->alert_email=='') {
if ($settings->alert_email == '') {
$this->error('Could not send email. No alert email configured in settings');
} elseif ($settings->alerts_enabled!=1) {
} elseif (1 != $settings->alerts_enabled) {
$this->info('Alerts are disabled in the settings. No mail will be sent');
}
}
}
}
+8 -16
View File
@@ -2,13 +2,12 @@
namespace App\Console\Commands;
use App\Models\Setting;
use DB;
use Mail;
use App\Helpers\Helper;
use App\Models\Recipients\AlertRecipient;
use App\Models\Setting;
use App\Notifications\InventoryAlert;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\Notification;
class SendInventoryAlerts extends Command
{
@@ -28,8 +27,6 @@ class SendInventoryAlerts extends Command
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
@@ -45,29 +42,24 @@ class SendInventoryAlerts extends Command
{
$settings = Setting::getSettings();
if (($settings->alert_email!='') && ($settings->alerts_enabled==1)) {
if (($settings->alert_email != '') && ($settings->alerts_enabled == 1)) {
$items = Helper::checkLowInventory();
// Send a rollup to the admin, if settings dictate
if (($items) && (count($items) > 0)) {
$this->info(trans_choice('mail.low_inventory_alert', count($items)));
// Send a rollup to the admin, if settings dictate
$recipients = collect(explode(',', $settings->alert_email))->map(function ($item, $key) {
return new \App\Models\Recipients\AlertRecipient($item);
return new AlertRecipient($item);
});
\Notification::send($recipients, new InventoryAlert($items, $settings->alert_threshold));
}
} else {
if (Setting::getSettings()->alert_email=='') {
if ($settings->alert_email == '') {
$this->error('Could not send email. No alert email configured in settings');
} elseif (Setting::getSettings()->alerts_enabled!=1) {
} elseif (1 != $settings->alerts_enabled) {
$this->info('Alerts are disabled in the settings. No mail will be sent');
}
}
}
}
@@ -4,13 +4,13 @@ namespace App\Console\Commands;
use App\Models\Asset;
use App\Models\License;
use App\Models\Recipients;
use App\Models\Setting;
use App\Notifications\ExpiringAssetsNotification;
use App\Models\Recipients;
use DB;
use Illuminate\Console\Command;
use App\Notifications\SendUpcomingAuditNotification;
use Carbon\Carbon;
use DB;
use Illuminate\Console\Command;
class SendUpcomingAuditReport extends Command
{
@@ -54,7 +54,6 @@ class SendUpcomingAuditReport extends Command
return new \App\Models\Recipients\AlertRecipient($item);
});
// Assets due for auditing
$assets = Asset::whereNotNull('next_audit_date')
@@ -62,7 +61,6 @@ class SendUpcomingAuditReport extends Command
->orderBy('last_audit_date', 'asc')->get();
if ($assets->count() > 0) {
$this->info(trans_choice('mail.upcoming-audits', $assets->count(),
['count' => $assets->count(), 'threshold' => $settings->audit_warning_days]));
\Notification::send($recipients, new SendUpcomingAuditNotification($assets, $settings->audit_warning_days));
@@ -70,14 +68,11 @@ class SendUpcomingAuditReport extends Command
} else {
$this->info('No assets to be audited. No report sent.');
}
} elseif ($settings->alert_email=='') {
} elseif ($settings->alert_email == '') {
$this->error('Could not send email. No alert email configured in settings');
} elseif (!$settings->audit_warning_days) {
} elseif (! $settings->audit_warning_days) {
$this->error('No audit warning days set in Admin Notifications. No mail will be sent.');
} elseif ($settings->alerts_enabled!=1) {
} elseif ($settings->alerts_enabled != 1) {
$this->info('Alerts are disabled in the settings. No mail will be sent');
} else {
$this->error('Something went wrong. :( ');
@@ -85,7 +80,5 @@ class SendUpcomingAuditReport extends Command
$this->error('Admin Audit Warning Setting: '.$settings->audit_warning_days);
$this->error('Admin Alerts Emnabled: '.$settings->alerts_enabled);
}
}
}
+25 -24
View File
@@ -2,8 +2,8 @@
namespace App\Console\Commands;
use Illuminate\Console\Command;
use App\Models\Asset;
use Illuminate\Console\Command;
class SyncAssetCounters extends Command
{
@@ -39,37 +39,38 @@ class SyncAssetCounters extends Command
public function handle()
{
$start = microtime(true);
$assets = Asset::withCount('checkins', 'checkouts', 'userRequests')
->withTrashed()->get();
if ($assets) {
if ($assets->count() > 0) {
$bar = $this->output->createProgressBar($assets->count());
foreach ($assets as $asset) {
$asset->checkin_counter = (int) $asset->checkins_count;
$asset->checkout_counter = (int) $asset->checkouts_count;
$asset->requests_counter = (int) $asset->user_requests_count;
$asset->unsetEventDispatcher();
$asset->save();
$output['info'][] = 'Asset: ' . $asset->id . ' has ' . $asset->checkin_counter . ' checkins, ' . $asset->checkout_counter . ' checkouts, and ' . $asset->requests_counter . ' requests';
$bar->advance();
}
$bar->finish();
// We need the whole count of all assets in order to set up the progress bar
$assets_count = Asset::withTrashed()->count();
$bar = $this->output->createProgressBar($assets_count);
foreach ($output['info'] as $key => $output_text) {
$this->info($output_text);
}
$assets = Asset::withCount('checkins as checkins_count', 'checkouts as checkouts_count', 'userRequests as user_requests_count')
->withTrashed()->chunk(100, function ($assets) use ($bar) {
$time_elapsed_secs = microtime(true) - $start;
$this->info('Sync executed in ' . $time_elapsed_secs . ' seconds');
if ($assets->count() > 0) {
foreach ($assets as $asset) {
$asset->checkin_counter = (int) $asset->checkins_count;
$asset->checkout_counter = (int) $asset->checkouts_count;
$asset->requests_counter = (int) $asset->user_requests_count;
$asset->unsetEventDispatcher();
$asset->save();
$bar->advance();
\Log::debug('Asset: '.$asset->id.' has '.$asset->checkin_counter.' checkins, '.$asset->checkout_counter.' checkouts, and '.$asset->requests_counter.' requests');
}
} else {
$this->info('No assets to sync');
}
});
}
$bar->finish();
$time_elapsed_secs = microtime(true) - $start;
$this->info("\nSync of ".$assets_count.' assets executed in '.$time_elapsed_secs.' seconds');
}
+31 -41
View File
@@ -2,10 +2,8 @@
namespace App\Console\Commands;
use App\Models\CustomField;
use Illuminate\Console\Command;
use App\Models\Asset;
use Illuminate\Support\Facades\Storage;
use Illuminate\Console\Command;
class SyncAssetLocations extends Command
{
@@ -40,7 +38,6 @@ class SyncAssetLocations extends Command
*/
public function handle()
{
$output['info'] = [];
$output['warn'] = [];
$output['error'] = [];
@@ -53,96 +50,89 @@ class SyncAssetLocations extends Command
$output['info'][] = 'There are '.$rtd_assets->count().' unassigned assets.';
foreach ($rtd_assets as $rtd_asset) {
$output['info'][] = 'Setting Unassigned Asset ' . $rtd_asset->id . ' ('.$rtd_asset->asset_tag.') to location: ' . $rtd_asset->rtd_location_id . " because their default location is: " . $rtd_asset->rtd_location_id;
$rtd_asset->location_id=$rtd_asset->rtd_location_id;
$output['info'][] = 'Setting Unassigned Asset '.$rtd_asset->id.' ('.$rtd_asset->asset_tag.') to location: '.$rtd_asset->rtd_location_id.' because their default location is: '.$rtd_asset->rtd_location_id;
$rtd_asset->location_id = $rtd_asset->rtd_location_id;
$rtd_asset->unsetEventDispatcher();
$rtd_asset->save();
$bar->advance();
}
$assigned_user_assets = Asset::where('assigned_type','App\Models\User')->whereNotNull('assigned_to')->whereNull('deleted_at')->get();
$assigned_user_assets = Asset::where('assigned_type', \App\Models\User::class)->whereNotNull('assigned_to')->whereNull('deleted_at')->get();
$output['info'][] = 'There are '.$assigned_user_assets->count().' assets checked out to users.';
foreach ($assigned_user_assets as $assigned_user_asset) {
if (($assigned_user_asset->assignedTo) && ($assigned_user_asset->assignedTo->userLoc)) {
$new_location=$assigned_user_asset->assignedTo->userloc->id;
$output['info'][] ='Setting User Asset ' . $assigned_user_asset->id . ' ('.$assigned_user_asset->asset_tag.') to ' . $assigned_user_asset->assignedTo->userLoc->name . ' which is id: ' . $new_location;
$new_location = $assigned_user_asset->assignedTo->userLoc->id;
$output['info'][] = 'Setting User Asset '.$assigned_user_asset->id.' ('.$assigned_user_asset->asset_tag.') to '.$assigned_user_asset->assignedTo->userLoc->name.' which is id: '.$new_location;
} else {
$output['warn'][] ='Asset ' . $assigned_user_asset->id . ' ('.$assigned_user_asset->asset_tag.') still has no location! ';
$output['warn'][] = 'Asset '.$assigned_user_asset->id.' ('.$assigned_user_asset->asset_tag.') still has no location! ';
$new_location = $assigned_user_asset->rtd_location_id;
}
$assigned_user_asset->location_id=$new_location;
$assigned_user_asset->location_id = $new_location;
$assigned_user_asset->unsetEventDispatcher();
$assigned_user_asset->save();
$bar->advance();
}
$assigned_location_assets = Asset::where('assigned_type','App\Models\Location')
$assigned_location_assets = Asset::where('assigned_type', \App\Models\Location::class)
->whereNotNull('assigned_to')->whereNull('deleted_at')->get();
$output['info'][] = 'There are '.$assigned_location_assets->count().' assets checked out to locations.';
foreach ($assigned_location_assets as $assigned_location_asset) {
if ($assigned_location_asset->assignedTo) {
$assigned_location_asset->location_id = $assigned_location_asset->assignedTo->id;
$output['info'][] ='Setting Location Assigned asset ' . $assigned_location_asset->id . ' ('.$assigned_location_asset->asset_tag.') that is checked out to '.$assigned_location_asset->assignedTo->name.' (#'.$assigned_location_asset->assignedTo->id.') to location: ' . $assigned_location_asset->assetLoc()->id;
$output['info'][] = 'Setting Location Assigned asset '.$assigned_location_asset->id.' ('.$assigned_location_asset->asset_tag.') that is checked out to '.$assigned_location_asset->assignedTo->name.' (#'.$assigned_location_asset->assignedTo->id.') to location: '.$assigned_location_asset->assetLoc()->id;
$assigned_location_asset->unsetEventDispatcher();
$assigned_location_asset->save();
} else {
$output['warn'][] ='Asset ' . $assigned_location_asset->id . ' ('.$assigned_location_asset->asset_tag.') did not return a valid associated location - perhaps it was deleted?';
$output['warn'][] = 'Asset '.$assigned_location_asset->id.' ('.$assigned_location_asset->asset_tag.') did not return a valid associated location - perhaps it was deleted?';
}
$bar->advance();
}
// Assigned to assets
$assigned_asset_assets = Asset::where('assigned_type','App\Models\Asset')
$assigned_asset_assets = Asset::where('assigned_type', \App\Models\Asset::class)
->whereNotNull('assigned_to')->whereNull('deleted_at')->get();
$output['info'][] ='Asset-assigned assets: '.$assigned_asset_assets->count();
$output['info'][] = 'Asset-assigned assets: '.$assigned_asset_assets->count();
foreach ($assigned_asset_assets as $assigned_asset_asset) {
foreach ($assigned_asset_assets as $assigned_asset_asset) {
// Check to make sure there aren't any invalid relationships
if ($assigned_asset_asset->assetLoc()) {
$assigned_asset_asset->location_id = $assigned_asset_asset->assetLoc()->id;
$output['info'][] ='Setting Asset Assigned asset ' . $assigned_asset_asset->assetLoc()->id. ' ('.$assigned_asset_asset->asset_tag.') location to: ' . $assigned_asset_asset->assetLoc()->id;
$assigned_asset_asset->unsetEventDispatcher();
$assigned_asset_asset->save();
} else {
$output['warn'][] ='Asset Assigned asset ' . $assigned_asset_asset->id. ' ('.$assigned_asset_asset->asset_tag.') does not seem to have a valid location';
}
$bar->advance();
if ($assigned_asset_asset->assetLoc()) {
$assigned_asset_asset->location_id = $assigned_asset_asset->assetLoc()->id;
$output['info'][] = 'Setting Asset Assigned asset '.$assigned_asset_asset->assetLoc()->id.' ('.$assigned_asset_asset->asset_tag.') location to: '.$assigned_asset_asset->assetLoc()->id;
$assigned_asset_asset->unsetEventDispatcher();
$assigned_asset_asset->save();
} else {
$output['warn'][] = 'Asset Assigned asset '.$assigned_asset_asset->id.' ('.$assigned_asset_asset->asset_tag.') does not seem to have a valid location';
}
$unlocated_assets = Asset::whereNull("location_id")->whereNull('deleted_at')->get();
$output['info'][] ='Assets still without a location: '.$unlocated_assets->count();
foreach($unlocated_assets as $unlocated_asset) {
$output['warn'][] ='Asset: '.$unlocated_asset->id.' still has no location. ';
$bar->advance();
}
$unlocated_assets = Asset::whereNull('location_id')->whereNull('deleted_at')->get();
$output['info'][] = 'Assets still without a location: '.$unlocated_assets->count();
foreach ($unlocated_assets as $unlocated_asset) {
$output['warn'][] = 'Asset: '.$unlocated_asset->id.' still has no location. ';
$bar->advance();
}
$bar->finish();
$this->info("\n");
if (($this->option('output')=='all') || ($this->option('output')=='info')) {
if (($this->option('output') == 'all') || ($this->option('output') == 'info')) {
foreach ($output['info'] as $key => $output_text) {
$this->info($output_text);
}
}
if (($this->option('output')=='all') || ($this->option('output')=='warn')) {
if (($this->option('output') == 'all') || ($this->option('output') == 'warn')) {
foreach ($output['warn'] as $key => $output_text) {
$this->warn($output_text);
}
}
if (($this->option('output')=='all') || ($this->option('output')=='error')) {
if (($this->option('output') == 'all') || ($this->option('output') == 'error')) {
foreach ($output['error'] as $key => $output_text) {
$this->error($output_text);
}
}
}
}
+14 -5
View File
@@ -6,13 +6,12 @@ use Illuminate\Console\Command;
class SystemBackup extends Command
{
/**
* The console command name.
*
* @var string
*/
protected $name = 'snipeit:backup';
protected $signature = 'snipeit:backup {--filename=}';
/**
* The console command description.
@@ -36,10 +35,20 @@ class SystemBackup extends Command
*
* @return mixed
*/
public function fire()
public function handle()
{
//
$this->call('backup:run');
if ($this->option('filename')) {
$filename = $this->option('filename');
// Make sure the filename ends in .zip
if (!ends_with($filename, '.zip')) {
$filename = $filename.'.zip';
}
$this->call('backup:run', ['--filename' => $filename]);
} else {
$this->call('backup:run');
}
}
}
+19 -27
View File
@@ -37,7 +37,6 @@ class Version extends Command
*/
public function handle()
{
$use_branch = $this->option('branch');
$use_type = $this->option('type');
$git_branch = trim(shell_exec('git rev-parse --abbrev-ref HEAD'));
@@ -54,72 +53,66 @@ class Version extends Command
$this->line('Type is: '.$use_type);
$this->line('Current version is: '.$full_hash_version);
if (count($version)==3) {
if (count($version) == 3) {
$this->line('This does not look like an alpha/beta release.');
} else {
if (array_key_exists('3',$version)) {
if (array_key_exists('3', $version)) {
$this->line('The current version looks like a beta release.');
$prerelease_version = $version[1];
$hash_version = $version[3];
}
}
$app_version_raw = explode('.', $app_version);
$maj = str_replace('v', '', $app_version_raw[0]);
$min = $app_version_raw[1];
$patch = '';
// This is a major release that might not have a third .0
if (array_key_exists(2, $app_version_raw)) {
$patch = $app_version_raw[2];
}
if ($use_type=='major') {
$app_version = "v".($maj + 1).".$min.$patch";
} elseif ($use_type=='minor') {
$app_version = "v"."$maj.".($min + 1).".$patch";
} elseif ($use_type=='pre') {
$pre_raw = str_replace('beta','', $prerelease_version);
$pre_raw = str_replace('alpha','', $pre_raw);
$pre_raw = str_ireplace('rc','', $pre_raw);
if ($use_type == 'major') {
$app_version = 'v'.($maj + 1).".$min.$patch";
} elseif ($use_type == 'minor') {
$app_version = 'v'."$maj.".($min + 1).".$patch";
} elseif ($use_type == 'pre') {
$pre_raw = str_replace('beta', '', $prerelease_version);
$pre_raw = str_replace('alpha', '', $pre_raw);
$pre_raw = str_ireplace('rc', '', $pre_raw);
$pre_raw = $pre_raw++;
$this->line('Setting the pre-release to '. $prerelease_version.'-'.$pre_raw);
$app_version = "v"."$maj.".($min + 1).".$patch";
} elseif ($use_type=='patch') {
$app_version = "v" . "$maj.$min." . ($patch + 1);
$this->line('Setting the pre-release to '.$prerelease_version.'-'.$pre_raw);
$app_version = 'v'."$maj.".($min + 1).".$patch";
} elseif ($use_type == 'patch') {
$app_version = 'v'."$maj.$min.".($patch + 1);
// If nothing is passed, leave the version as it is, just increment the build
} else {
$app_version = "v" . "$maj.$min." . $patch;
$app_version = 'v'."$maj.$min.".$patch;
}
// Determine if this tag already exists, or if this prior to a release
$this->line('Running: git rev-parse master '.$current_app_version);
// $pre_release = trim(shell_exec('git rev-parse '.$use_branch.' '.$current_app_version.' 2>&1 1> /dev/null'));
if ($use_branch=='develop') {
if ($use_branch == 'develop') {
$app_version = $app_version.'-pre';
}
$full_app_version = $app_version.' - build '.$build_version.'-'.$hash_version;
$array = var_export(
array(
[
'app_version' => $app_version,
'full_app_version' => $full_app_version,
'build_version' => $build_version,
'prerelease_version' => $prerelease_version,
'hash_version' => $hash_version,
'full_hash' => $full_hash_version,
'branch' => $git_branch),
'branch' => $git_branch, ],
true
);
// Construct our file content
$content = <<<CON
@@ -129,7 +122,6 @@ CON;
// And finally write the file and output the current version
\File::put($versionFile, $content);
$this->info('Setting NEW version: '. $full_app_version.' ('.$git_branch.')');
$this->info('Setting NEW version: '.$full_app_version.' ('.$git_branch.')');
}
}
+8 -28
View File
@@ -2,39 +2,14 @@
namespace App\Console;
use App\Console\Commands\ImportLocations;
use App\Console\Commands\ReEncodeCustomFieldNames;
use App\Console\Commands\RestoreDeletedUsers;
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
class Kernel extends ConsoleKernel
{
/**
* The Artisan commands provided by your application.
*
* @var array
*/
protected $commands = [
Commands\PaveIt::class,
Commands\CreateAdmin::class,
Commands\SendExpirationAlerts::class,
Commands\SendInventoryAlerts::class,
Commands\SendExpectedCheckinAlerts::class,
Commands\ObjectImportCommand::class,
Commands\Version::class,
Commands\SystemBackup::class,
Commands\DisableLDAP::class,
Commands\Purge::class,
Commands\LdapSync::class,
Commands\FixDoubleEscape::class,
Commands\RecryptFromMcrypt::class,
Commands\ResetDemoSettings::class,
Commands\SyncAssetLocations::class,
Commands\RegenerateAssetTags::class,
Commands\SyncAssetCounters::class,
Commands\RestoreDeletedUsers::class,
Commands\SendUpcomingAuditReport::class,
];
/**
* Define the application's command schedule.
*
@@ -43,17 +18,22 @@ class Kernel extends ConsoleKernel
*/
protected function schedule(Schedule $schedule)
{
$schedule->command('snipeit:inventory-alerts')->daily();
$schedule->command('snipeit:expiring-alerts')->daily();
$schedule->command('snipeit:expected-checkin')->daily();
$schedule->command('snipeit:backup')->weekly();
$schedule->command('backup:clean')->daily();
$schedule->command('snipeit:upcoming-audits')->daily();
$schedule->command('auth:clear-resets')->everyFifteenMinutes();
}
/**
* This method is required by Laravel to handle any console routes
* that are defined in routes/console.php.
*/
protected function commands()
{
require base_path('routes/console.php');
$this->load(__DIR__.'/Commands');
}
}
+23
View File
@@ -0,0 +1,23 @@
<?php
namespace App\Events;
use App\Models\CheckoutAcceptance;
use App\Models\Contracts\Acceptable;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Queue\SerializesModels;
class CheckoutAccepted
{
use Dispatchable, SerializesModels;
/**
* Create a new event instance.
*
* @return void
*/
public function __construct(CheckoutAcceptance $acceptance)
{
$this->acceptance = $acceptance;
}
}
+23
View File
@@ -0,0 +1,23 @@
<?php
namespace App\Events;
use App\Models\CheckoutAcceptance;
use App\Models\Contracts\Acceptable;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Queue\SerializesModels;
class CheckoutDeclined
{
use Dispatchable, SerializesModels;
/**
* Create a new event instance.
*
* @return void
*/
public function __construct(CheckoutAcceptance $acceptance)
{
$this->acceptance = $acceptance;
}
}
+34
View File
@@ -0,0 +1,34 @@
<?php
namespace App\Events;
use App\Models\User;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Queue\SerializesModels;
class CheckoutableCheckedIn
{
use Dispatchable, SerializesModels;
public $checkoutable;
public $checkedOutTo;
public $checkedInBy;
public $note;
public $action_date; // Date setted in the hardware.checkin view at the checkin_at input, for the action log
public $originalValues;
/**
* Create a new event instance.
*
* @return void
*/
public function __construct($checkoutable, $checkedOutTo, User $checkedInBy, $note, $action_date = null, $originalValues = [])
{
$this->checkoutable = $checkoutable;
$this->checkedOutTo = $checkedOutTo;
$this->checkedInBy = $checkedInBy;
$this->note = $note;
$this->action_date = $action_date ?? date('Y-m-d');
$this->originalValues = $originalValues;
}
}
+32
View File
@@ -0,0 +1,32 @@
<?php
namespace App\Events;
use App\Models\User;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Queue\SerializesModels;
class CheckoutableCheckedOut
{
use Dispatchable, SerializesModels;
public $checkoutable;
public $checkedOutTo;
public $checkedOutBy;
public $note;
public $originalValues;
/**
* Create a new event instance.
*
* @return void
*/
public function __construct($checkoutable, $checkedOutTo, User $checkedOutBy, $note, $originalValues = [])
{
$this->checkoutable = $checkoutable;
$this->checkedOutTo = $checkedOutTo;
$this->checkedOutBy = $checkedOutBy;
$this->note = $note;
$this->originalValues = $originalValues;
}
}
+24
View File
@@ -0,0 +1,24 @@
<?php
namespace App\Events;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Queue\SerializesModels;
use App\Models\User;
class UserMerged
{
use Dispatchable, SerializesModels;
/**
* Create a new event instance.
*
* @return void
*/
public function __construct(User $from_user, User $to_user, User $admin)
{
$this->merged_from = $from_user;
$this->merged_to = $to_user;
$this->admin = $admin;
}
}
+4 -3
View File
@@ -3,19 +3,20 @@
namespace App\Exceptions;
use Exception;
class CheckoutNotAllowed extends Exception
{
private $errorMessage;
function __construct($errorMessage = null)
public function __construct($errorMessage = null)
{
$this->errorMessage = $errorMessage;
parent::__construct($errorMessage);
}
public function __toString()
{
return is_null($this->errorMessage) ? "A checkout is not allowed under these circumstances" : $this->errorMessage;
return is_null($this->errorMessage) ? 'A checkout is not allowed under these circumstances' : $this->errorMessage;
}
}
+82 -26
View File
@@ -2,17 +2,20 @@
namespace App\Exceptions;
use Exception;
use Illuminate\Auth\AuthenticationException;
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
use App\Helpers\Helper;
use Illuminate\Validation\ValidationException;
use Illuminate\Auth\AuthenticationException;
use ArieTimmerman\Laravel\SCIMServer\Exceptions\SCIMException;
use Log;
use Throwable;
use JsonException;
use Carbon\Exceptions\InvalidFormatException;
class Handler extends ExceptionHandler
{
/**
* A list of the exception types that should not be reported.
* A list of the exception types that are not reported.
*
* @var array
*/
@@ -23,6 +26,11 @@ class Handler extends ExceptionHandler
\Illuminate\Database\Eloquent\ModelNotFoundException::class,
\Illuminate\Session\TokenMismatchException::class,
\Illuminate\Validation\ValidationException::class,
\Intervention\Image\Exception\NotSupportedException::class,
\League\OAuth2\Server\Exception\OAuthServerException::class,
JsonException::class,
SCIMException::class, //these generally don't need to be reported
InvalidFormatException::class,
];
/**
@@ -30,25 +38,27 @@ class Handler extends ExceptionHandler
*
* This is a great spot to send exceptions to Sentry, Bugsnag, etc.
*
* @param \Exception $exception
* @param \Throwable $exception
* @return void
*/
public function report(Exception $exception)
public function report(Throwable $exception)
{
if ($this->shouldReport($exception)) {
Log::error($exception);
if (class_exists(\Log::class)) {
\Log::error($exception);
}
return parent::report($exception);
}
}
/**
* Render an exception into an HTTP response.
*
*
* @param \Illuminate\Http\Request $request
* @param \Exception $e
* @return \Illuminate\Http\Response
* @return \Illuminate\Http\JsonResponse|\Illuminate\Http\RedirectResponse|\Illuminate\Http\Response
*/
public function render($request, Exception $e)
public function render($request, Throwable $e)
{
@@ -57,19 +67,42 @@ class Handler extends ExceptionHandler
return redirect()->back()->with('error', trans('general.token_expired'));
}
// Invalid JSON exception
// TODO: don't understand why we have to do this when we have the invalidJson() method, below, but, well, whatever
if ($e instanceof JsonException) {
return response()->json(Helper::formatStandardApiResponse('error', null, 'Invalid JSON'), 422);
}
// Handle Ajax requests that fail because the model doesn't exist
// Handle SCIM exceptions
if ($e instanceof SCIMException) {
try {
$e->report(); // logs as 'debug', so shouldn't get too noisy
} catch(\Exception $reportException) {
//do nothing
}
return $e->render($request); // ALL SCIMExceptions have the 'render()' method
}
// Handle standard requests that fail because Carbon cannot parse the date on validation (when a submitted date value is definitely not a date)
if ($e instanceof InvalidFormatException) {
return redirect()->back()->withInput()->with('error', trans('validation.date', ['attribute' => 'date']));
}
// Handle API requests that fail
if ($request->ajax() || $request->wantsJson()) {
// Handle API requests that fail because Carbon cannot parse the date on validation (when a submitted date value is definitely not a date)
if ($e instanceof InvalidFormatException) {
return response()->json(Helper::formatStandardApiResponse('error', null, trans('validation.date', ['attribute' => 'date'])), 200);
}
// Handle API requests that fail because the model doesn't exist
if ($e instanceof \Illuminate\Database\Eloquent\ModelNotFoundException) {
$className = last(explode('\\', $e->getModel()));
return response()->json(Helper::formatStandardApiResponse('error', null, $className . ' not found'), 200);
}
if ($e instanceof \Illuminate\Validation\ValidationException) {
return response()->json(Helper::formatStandardApiResponse('error', null, $e->response['messages'], 400));
}
// Handle API requests that fail because of an HTTP status code and return a useful error message
if ($this->isHttpException($e)) {
$statusCode = $e->getStatusCode();
@@ -77,21 +110,20 @@ class Handler extends ExceptionHandler
switch ($e->getStatusCode()) {
case '404':
return response()->json(Helper::formatStandardApiResponse('error', null, $statusCode . ' endpoint not found'), 404);
case '405':
case '429':
return response()->json(Helper::formatStandardApiResponse('error', null, 'Too many requests'), 429);
case '405':
return response()->json(Helper::formatStandardApiResponse('error', null, 'Method not allowed'), 405);
default:
return response()->json(Helper::formatStandardApiResponse('error', null, $statusCode), 405);
return response()->json(Helper::formatStandardApiResponse('error', null, $statusCode), $statusCode);
}
}
// Try to parse 500 Errors in a bit nicer way when debug is enabled.
if (config('app.debug')) {
return response()->json(Helper::formatStandardApiResponse('error', null, "An Error has occured! " . $e->getMessage()), 500);
}
}
if ($this->isHttpException($e) && (isset($statusCode)) && ($statusCode == '404' )) {
return response()->view('layouts/basic', [
'content' => view('errors/404')
@@ -102,19 +134,43 @@ class Handler extends ExceptionHandler
}
/**
/**
* Convert an authentication exception into an unauthenticated response.
*
* @param \Illuminate\Http\Request $request
* @param \Illuminate\Auth\AuthenticationException $exception
* @return \Illuminate\Http\Response
*/
* @return \Illuminate\Http\JsonResponse|\Illuminate\Http\RedirectResponse
*/
protected function unauthenticated($request, AuthenticationException $exception)
{
if ($request->expectsJson()) {
return response()->json(['error' => 'Unauthorized.'], 401);
return response()->json(['error' => 'Unauthorized or unauthenticated.'], 401);
}
return redirect()->guest('login');
}
}
/**
* A list of the inputs that are never flashed for validation exceptions.
*
* @var array
*/
protected $dontFlash = [
'current_password',
'password',
'password_confirmation',
];
/**
* Register the exception handling callbacks for the application.
*
* @return void
*/
public function register()
{
$this->reportable(function (Throwable $e) {
//
});
}
}
+77
View File
@@ -0,0 +1,77 @@
<?php
namespace App\Helpers;
use Illuminate\Support\Facades\Gate;
/*********************
* These two helper methods are more designed for being re-used with the new HasCustomFields Trait
*
* The 'transform' method is designed for BlahTransformer things that need to return custom field values.
*
* The 'present' method is designed for when you're trying to generate fieldlists for use in Bootstrap tables
* - typically the 'dataTableLayout' method
*
*********************/
class CustomFieldHelper {
static function transform($fieldset, $item) {
if ($fieldset && ($fieldset->fields->count() > 0)) {
$fields_array = [];
foreach ($fieldset->fields as $field) {
if ($field->isFieldDecryptable($item->{$field->db_column})) {
$decrypted = Helper::gracefulDecrypt($field, $item->{$field->db_column});
$value = (Gate::allows('assets.view.encrypted_custom_fields')) ? $decrypted : strtoupper(trans('admin/custom_fields/general.encrypted'));
if ($field->format == 'DATE'){
if (Gate::allows('assets.view.encrypted_custom_fields')){
$value = Helper::getFormattedDateObject($value, 'date', false);
} else {
$value = strtoupper(trans('admin/custom_fields/general.encrypted'));
}
}
$fields_array[$field->name] = [
'field' => e($field->db_column),
'value' => e($value),
'field_format' => $field->format,
'element' => $field->element,
];
} else {
$value = $item->{$field->db_column};
if (($field->format == 'DATE') && (!is_null($value)) && ($value!='')){
$value = Helper::getFormattedDateObject($value, 'date', false);
}
$fields_array[$field->name] = [
'field' => e($field->db_column),
'value' => e($value),
'field_format' => $field->format,
'element' => $field->element,
];
}
return $fields_array;
}
} else {
return new \stdClass; // HACK to force generation of empty object instead of empty list
}
}
static function present($field) {
return [
'field' => 'custom_fields.'.$field->db_column,
'searchable' => true,
'sortable' => true,
'switchable' => true,
'title' => $field->name,
'formatter'=> 'customFieldsFormatter',
'escape' => true,
'class' => ($field->field_encrypted == '1') ? 'css-padlock' : '',
'visible' => ($field->show_in_listview == '1') ? true : false,
];
}
}
+830 -182
View File
File diff suppressed because it is too large Load Diff
+25
View File
@@ -0,0 +1,25 @@
<?php
namespace App\Helpers;
use Illuminate\Support\Facades\Storage;
class StorageHelper
{
public static function downloader($filename, $disk = 'default')
{
if ($disk == 'default') {
$disk = config('filesystems.default');
}
switch (config("filesystems.disks.$disk.driver")) {
case 'local':
return response()->download(Storage::disk($disk)->path($filename)); //works for PRIVATE or public?!
case 's3':
return redirect()->away(Storage::disk($disk)->temporaryUrl($filename, now()->addMinutes(5))); //works for private or public, I guess?
default:
return Storage::disk($disk)->download($filename);
}
}
}
+258
View File
@@ -0,0 +1,258 @@
<?php
namespace App\Http\Controllers\Accessories;
use App\Helpers\Helper;
use App\Http\Controllers\Controller;
use App\Http\Requests\ImageUploadRequest;
use App\Models\Accessory;
use App\Models\Company;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Facades\Validator;
use Redirect;
/** This controller handles all actions related to Accessories for
* the Snipe-IT Asset Management application.
*
* @version v1.0
*/
class AccessoriesController extends Controller
{
/**
* Returns a view that invokes the ajax tables which actually contains
* the content for the accessories listing, which is generated in getDatatable.
*
* @author [A. Gianotto] [<snipe@snipe.net>]
* @see AccessoriesController::getDatatable() method that generates the JSON response
* @since [v1.0]
* @return View
* @throws \Illuminate\Auth\Access\AuthorizationException
*/
public function index()
{
$this->authorize('index', Accessory::class);
return view('accessories/index');
}
/**
* Returns a view with a form to create a new Accessory.
*
* @author [A. Gianotto] [<snipe@snipe.net>]
* @return View
* @throws \Illuminate\Auth\Access\AuthorizationException
*/
public function create()
{
$this->authorize('create', Accessory::class);
$category_type = 'accessory';
return view('accessories/edit')->with('category_type', $category_type)
->with('item', new Accessory);
}
/**
* Validate and save new Accessory from form post
*
* @author [A. Gianotto] [<snipe@snipe.net>]
* @param ImageUploadRequest $request
* @return Redirect
* @throws \Illuminate\Auth\Access\AuthorizationException
*/
public function store(ImageUploadRequest $request)
{
$this->authorize(Accessory::class);
// create a new model instance
$accessory = new Accessory();
// Update the accessory data
$accessory->name = request('name');
$accessory->category_id = request('category_id');
$accessory->location_id = request('location_id');
$accessory->min_amt = request('min_amt');
$accessory->company_id = Company::getIdForCurrentUser(request('company_id'));
$accessory->order_number = request('order_number');
$accessory->manufacturer_id = request('manufacturer_id');
$accessory->model_number = request('model_number');
$accessory->purchase_date = request('purchase_date');
$accessory->purchase_cost = request('purchase_cost');
$accessory->qty = request('qty');
$accessory->user_id = Auth::user()->id;
$accessory->supplier_id = request('supplier_id');
$accessory->notes = request('notes');
$accessory = $request->handleImages($accessory);
// Was the accessory created?
if ($accessory->save()) {
// Redirect to the new accessory page
return redirect()->route('accessories.index')->with('success', trans('admin/accessories/message.create.success'));
}
return redirect()->back()->withInput()->withErrors($accessory->getErrors());
}
/**
* Return view for the Accessory update form, prepopulated with existing data
*
* @author [A. Gianotto] [<snipe@snipe.net>]
* @param int $accessoryId
* @return View
* @throws \Illuminate\Auth\Access\AuthorizationException
*/
public function edit($accessoryId = null)
{
if ($item = Accessory::find($accessoryId)) {
$this->authorize($item);
return view('accessories/edit', compact('item'))->with('category_type', 'accessory');
}
return redirect()->route('accessories.index')->with('error', trans('admin/accessories/message.does_not_exist'));
}
/**
* Returns a view that presents a form to clone an accessory.
*
* @author [J. Vinsmoke]
* @param int $accessoryId
* @since [v6.0]
* @return View
*/
public function getClone($accessoryId = null)
{
$this->authorize('create', Accessory::class);
// Check if the asset exists
if (is_null($accessory_to_clone = Accessory::find($accessoryId))) {
// Redirect to the asset management page
return redirect()->route('accessories.index')
->with('error', trans('admin/accessories/message.does_not_exist', ['id' => $accessoryId]));
}
$accessory = clone $accessory_to_clone;
$accessory->id = null;
$accessory->location_id = null;
return view('accessories/edit')
->with('item', $accessory);
}
/**
* Save edited Accessory from form post
*
* @author [A. Gianotto] [<snipe@snipe.net>]
* @param ImageUploadRequest $request
* @param int $accessoryId
* @return Redirect
* @throws \Illuminate\Auth\Access\AuthorizationException
*/
public function update(ImageUploadRequest $request, $accessoryId = null)
{
if ($accessory = Accessory::withCount('users as users_count')->find($accessoryId)) {
$this->authorize($accessory);
$validator = Validator::make($request->all(), [
"qty" => "required|numeric|min:$accessory->users_count"
]);
if ($validator->fails()) {
return redirect()->back()
->withErrors($validator)
->withInput();
}
// Update the accessory data
$accessory->name = request('name');
$accessory->location_id = request('location_id');
$accessory->min_amt = request('min_amt');
$accessory->category_id = request('category_id');
$accessory->company_id = Company::getIdForCurrentUser(request('company_id'));
$accessory->manufacturer_id = request('manufacturer_id');
$accessory->order_number = request('order_number');
$accessory->model_number = request('model_number');
$accessory->purchase_date = request('purchase_date');
$accessory->purchase_cost = request('purchase_cost');
$accessory->qty = request('qty');
$accessory->supplier_id = request('supplier_id');
$accessory->notes = request('notes');
$accessory = $request->handleImages($accessory);
// Was the accessory updated?
if ($accessory->save()) {
return redirect()->route('accessories.index')->with('success', trans('admin/accessories/message.update.success'));
}
} else {
return redirect()->route('accessories.index')->with('error', trans('admin/accessories/message.does_not_exist'));
}
return redirect()->back()->withInput()->withErrors($accessory->getErrors());
}
/**
* Delete the given accessory.
*
* @author [A. Gianotto] [<snipe@snipe.net>]
* @param int $accessoryId
* @return Redirect
* @throws \Illuminate\Auth\Access\AuthorizationException
*/
public function destroy($accessoryId)
{
if (is_null($accessory = Accessory::find($accessoryId))) {
return redirect()->route('accessories.index')->with('error', trans('admin/accessories/message.not_found'));
}
$this->authorize($accessory);
if ($accessory->hasUsers() > 0) {
return redirect()->route('accessories.index')->with('error', trans('admin/accessories/message.assoc_users', ['count'=> $accessory->hasUsers()]));
}
if ($accessory->image) {
try {
Storage::disk('public')->delete('accessories'.'/'.$accessory->image);
} catch (\Exception $e) {
\Log::debug($e);
}
}
$accessory->delete();
return redirect()->route('accessories.index')->with('success', trans('admin/accessories/message.delete.success'));
}
/**
* Returns a view that invokes the ajax table which contains
* the content for the accessory detail view, which is generated in getDataView.
*
* @author [A. Gianotto] [<snipe@snipe.net>]
* @param int $accessoryID
* @see AccessoriesController::getDataView() method that generates the JSON response
* @since [v1.0]
* @return View
* @throws \Illuminate\Auth\Access\AuthorizationException
*/
public function show($accessoryID = null)
{
$accessory = Accessory::withCount('users as users_count')->find($accessoryID);
$this->authorize('view', $accessory);
if (isset($accessory->id)) {
return view('accessories/view', compact('accessory'));
}
return redirect()->route('accessories.index')->with('error', trans('admin/accessories/message.does_not_exist', ['id' => $accessoryID]));
}
}
@@ -0,0 +1,183 @@
<?php
namespace App\Http\Controllers\Accessories;
use App\Helpers\StorageHelper;
use App\Http\Controllers\Controller;
use App\Http\Requests\AssetFileRequest;
use App\Models\Actionlog;
use App\Models\Accessory;
use Illuminate\Support\Facades\Response;
use Illuminate\Support\Facades\Storage;
use Symfony\Accessory\HttpFoundation\JsonResponse;
use enshrined\svgSanitize\Sanitizer;
class AccessoriesFilesController extends Controller
{
/**
* Validates and stores files associated with a accessory.
*
* @todo Switch to using the AssetFileRequest form request validator.
* @author [A. Gianotto] [<snipe@snipe.net>]
* @since [v1.0]
* @param AssetFileRequest $request
* @param int $accessoryId
* @return \Illuminate\Http\RedirectResponse
* @throws \Illuminate\Auth\Access\AuthorizationException
*/
public function store(AssetFileRequest $request, $accessoryId = null)
{
if (config('app.lock_passwords')) {
return redirect()->route('accessories.show', ['accessory'=>$accessoryId])->with('error', trans('general.feature_disabled'));
}
$accessory = Accessory::find($accessoryId);
if (isset($accessory->id)) {
$this->authorize('accessories.files', $accessory);
if ($request->hasFile('file')) {
if (! Storage::exists('private_uploads/accessories')) {
Storage::makeDirectory('private_uploads/accessories', 775);
}
foreach ($request->file('file') as $file) {
$extension = $file->getClientOriginalExtension();
$file_name = 'accessory-'.$accessory->id.'-'.str_random(8).'-'.str_slug(basename($file->getClientOriginalName(), '.'.$extension)).'.'.$extension;
// Check for SVG and sanitize it
if ($extension == 'svg') {
\Log::debug('This is an SVG');
\Log::debug($file_name);
$sanitizer = new Sanitizer();
$dirtySVG = file_get_contents($file->getRealPath());
$cleanSVG = $sanitizer->sanitize($dirtySVG);
try {
Storage::put('private_uploads/accessories/'.$file_name, $cleanSVG);
} catch (\Exception $e) {
\Log::debug('Upload no workie :( ');
\Log::debug($e);
}
} else {
Storage::put('private_uploads/accessories/'.$file_name, file_get_contents($file));
}
//Log the upload to the log
$accessory->logUpload($file_name, e($request->input('notes')));
}
return redirect()->route('accessories.show', $accessory->id)->with('success', trans('general.file_upload_success'));
}
return redirect()->route('accessories.show', $accessory->id)->with('error', trans('general.no_files_uploaded'));
}
// Prepare the error message
return redirect()->route('accessories.index')
->with('error', trans('general.file_does_not_exist'));
}
/**
* Deletes the selected accessory file.
*
* @author [A. Gianotto] [<snipe@snipe.net>]
* @since [v1.0]
* @param int $accessoryId
* @param int $fileId
* @return \Illuminate\Http\RedirectResponse
* @throws \Illuminate\Auth\Access\AuthorizationException
*/
public function destroy($accessoryId = null, $fileId = null)
{
$accessory = Accessory::find($accessoryId);
// the asset is valid
if (isset($accessory->id)) {
$this->authorize('update', $accessory);
$log = Actionlog::find($fileId);
// Remove the file if one exists
if (Storage::exists('accessories/'.$log->filename)) {
try {
Storage::delete('accessories/'.$log->filename);
} catch (\Exception $e) {
\Log::debug($e);
}
}
$log->delete();
return redirect()->back()
->with('success', trans('admin/hardware/message.deletefile.success'));
}
// Redirect to the licence management page
return redirect()->route('accessories.index')->with('error', trans('general.file_does_not_exist'));
}
/**
* Allows the selected file to be viewed.
*
* @author [A. Gianotto] [<snipe@snipe.net>]
* @since [v1.4]
* @param int $accessoryId
* @param int $fileId
* @return \Symfony\Accessory\HttpFoundation\Response
* @throws \Illuminate\Auth\Access\AuthorizationException
*/
public function show($accessoryId = null, $fileId = null, $download = true)
{
\Log::debug('Private filesystem is: '.config('filesystems.default'));
$accessory = Accessory::find($accessoryId);
// the accessory is valid
if (isset($accessory->id)) {
$this->authorize('view', $accessory);
$this->authorize('accessories.files', $accessory);
if (! $log = Actionlog::find($fileId)) {
return response('No matching record for that asset/file', 500)
->header('Content-Type', 'text/plain');
}
$file = 'private_uploads/accessories/'.$log->filename;
if (Storage::missing($file)) {
\Log::debug('FILE DOES NOT EXISTS for '.$file);
\Log::debug('URL should be '.Storage::url($file));
return response('File '.$file.' ('.Storage::url($file).') not found on server', 404)
->header('Content-Type', 'text/plain');
} else {
// Display the file inline
if (request('inline') == 'true') {
$headers = [
'Content-Disposition' => 'inline',
];
return Storage::download($file, $log->filename, $headers);
}
// We have to override the URL stuff here, since local defaults in Laravel's Flysystem
// won't work, as they're not accessible via the web
if (config('filesystems.default') == 'local') { // TODO - is there any way to fix this at the StorageHelper layer?
return StorageHelper::downloader($file);
}
}
}
return redirect()->route('accessories.index')->with('error', trans('general.file_does_not_exist', ['id' => $fileId]));
}
}
@@ -0,0 +1,79 @@
<?php
namespace App\Http\Controllers\Accessories;
use App\Events\CheckoutableCheckedIn;
use App\Http\Controllers\Controller;
use App\Models\Accessory;
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
class AccessoryCheckinController extends Controller
{
/**
* Check the accessory back into inventory
*
* @author [A. Gianotto] [<snipe@snipe.net>]
* @param Request $request
* @param int $accessoryUserId
* @param string $backto
* @return View
* @internal param int $accessoryId
* @throws \Illuminate\Auth\Access\AuthorizationException
*/
public function create($accessoryUserId = null, $backto = null)
{
// Check if the accessory exists
if (is_null($accessory_user = DB::table('accessories_users')->find($accessoryUserId))) {
// Redirect to the accessory management page with error
return redirect()->route('accessories.index')->with('error', trans('admin/accessories/message.not_found'));
}
$accessory = Accessory::find($accessory_user->accessory_id);
$this->authorize('checkin', $accessory);
return view('accessories/checkin', compact('accessory'))->with('backto', $backto);
}
/**
* Check in the item so that it can be checked out again to someone else
*
* @uses Accessory::checkin_email() to determine if an email can and should be sent
* @author [A. Gianotto] [<snipe@snipe.net>]
* @param null $accessoryUserId
* @param string $backto
* @return Redirect
* @throws \Illuminate\Auth\Access\AuthorizationException
* @internal param int $accessoryId
*/
public function store(Request $request, $accessoryUserId = null, $backto = null)
{
// Check if the accessory exists
if (is_null($accessory_user = DB::table('accessories_users')->find($accessoryUserId))) {
// Redirect to the accessory management page with error
return redirect()->route('accessories.index')->with('error', trans('admin/accessories/message.does_not_exist'));
}
$accessory = Accessory::find($accessory_user->accessory_id);
$this->authorize('checkin', $accessory);
$checkin_at = date('Y-m-d');
if ($request->filled('checkin_at')) {
$checkin_at = $request->input('checkin_at');
}
// Was the accessory updated?
if (DB::table('accessories_users')->where('id', '=', $accessory_user->id)->delete()) {
$return_to = e($accessory_user->assigned_to);
event(new CheckoutableCheckedIn($accessory, User::find($return_to), Auth::user(), $request->input('note'), $checkin_at));
return redirect()->route('accessories.show', $accessory->id)->with('success', trans('admin/accessories/message.checkin.success'));
}
// Redirect to the accessory management page with error
return redirect()->route('accessories.index')->with('error', trans('admin/accessories/message.checkin.error'));
}
}
@@ -0,0 +1,98 @@
<?php
namespace App\Http\Controllers\Accessories;
use App\Events\CheckoutableCheckedOut;
use App\Http\Controllers\Controller;
use App\Models\Accessory;
use App\Models\User;
use Carbon\Carbon;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Input;
class AccessoryCheckoutController extends Controller
{
/**
* Return the form to checkout an Accessory to a user.
*
* @author [A. Gianotto] [<snipe@snipe.net>]
* @param int $accessoryId
* @return View
* @throws \Illuminate\Auth\Access\AuthorizationException
*/
public function create($accessoryId)
{
// Check if the accessory exists
if (is_null($accessory = Accessory::withCount('users as users_count')->find($accessoryId))) {
// Redirect to the accessory management page with error
return redirect()->route('accessories.index')->with('error', trans('admin/accessories/message.not_found'));
}
// Make sure there is at least one available to checkout
if ($accessory->numRemaining() <= 0){
return redirect()->route('accessories.index')->with('error', trans('admin/accessories/message.checkout.unavailable'));
}
if ($accessory->category) {
$this->authorize('checkout', $accessory);
// Get the dropdown of users and then pass it to the checkout view
return view('accessories/checkout', compact('accessory'));
}
return redirect()->back()->with('error', 'The category type for this accessory is not valid. Edit the accessory and select a valid accessory category.');
}
/**
* Save the Accessory checkout information.
*
* If Slack is enabled and/or asset acceptance is enabled, it will also
* trigger a Slack message and send an email.
*
* @author [A. Gianotto] [<snipe@snipe.net>]
* @param Request $request
* @param int $accessoryId
* @return Redirect
* @throws \Illuminate\Auth\Access\AuthorizationException
*/
public function store(Request $request, $accessoryId)
{
// Check if the accessory exists
if (is_null($accessory = Accessory::withCount('users as users_count')->find($accessoryId))) {
// Redirect to the accessory management page with error
return redirect()->route('accessories.index')->with('error', trans('admin/accessories/message.user_not_found'));
}
$this->authorize('checkout', $accessory);
if (!$user = User::find($request->input('assigned_to'))) {
return redirect()->route('accessories.checkout.show', $accessory->id)->with('error', trans('admin/accessories/message.checkout.user_does_not_exist'));
}
// Make sure there is at least one available to checkout
if ($accessory->numRemaining() <= 0){
return redirect()->route('accessories.index')->with('error', trans('admin/accessories/message.checkout.unavailable'));
}
// Update the accessory data
$accessory->assigned_to = e($request->input('assigned_to'));
$accessory->users()->attach($accessory->id, [
'accessory_id' => $accessory->id,
'created_at' => Carbon::now(),
'user_id' => Auth::id(),
'assigned_to' => $request->get('assigned_to'),
'note' => $request->input('note'),
]);
DB::table('accessories_users')->where('assigned_to', '=', $accessory->assigned_to)->where('accessory_id', '=', $accessory->id)->first();
event(new CheckoutableCheckedOut($accessory, $user, Auth::user(), $request->input('note')));
// Redirect to the new accessory page
return redirect()->route('accessories.index')->with('success', trans('admin/accessories/message.checkout.success'));
}
}
@@ -1,400 +0,0 @@
<?php
namespace App\Http\Controllers;
use App\Helpers\Helper;
use App\Models\Accessory;
use App\Models\Company;
use App\Models\User;
use Auth;
use Carbon\Carbon;
use Config;
use DB;
use Gate;
use Input;
use Lang;
use Redirect;
use Illuminate\Http\Request;
use Slack;
use Str;
use View;
use Image;
use App\Http\Requests\ImageUploadRequest;
/** This controller handles all actions related to Accessories for
* the Snipe-IT Asset Management application.
*
* @version v1.0
*/
class AccessoriesController extends Controller
{
/**
* Returns a view that invokes the ajax tables which actually contains
* the content for the accessories listing, which is generated in getDatatable.
*
* @author [A. Gianotto] [<snipe@snipe.net>]
* @see AccessoriesController::getDatatable() method that generates the JSON response
* @since [v1.0]
* @return View
*/
public function index(Request $request)
{
$this->authorize('index', Accessory::class);
return view('accessories/index');
}
/**
* Returns a view with a form to create a new Accessory.
*
* @author [A. Gianotto] [<snipe@snipe.net>]
* @return View
*/
public function create(Request $request)
{
$this->authorize('create', Accessory::class);
$category_type = 'accessory';
return view('accessories/edit')->with('category_type', $category_type)
->with('item', new Accessory);
}
/**
* Validate and save new Accessory from form post
*
* @author [A. Gianotto] [<snipe@snipe.net>]
* @return Redirect
*/
public function store(ImageUploadRequest $request)
{
$this->authorize(Accessory::class);
// create a new model instance
$accessory = new Accessory();
// Update the accessory data
$accessory->name = request('name');
$accessory->category_id = request('category_id');
$accessory->location_id = request('location_id');
$accessory->min_amt = request('min_amt');
$accessory->company_id = Company::getIdForCurrentUser(request('company_id'));
$accessory->order_number = request('order_number');
$accessory->manufacturer_id = request('manufacturer_id');
$accessory->model_number = request('model_number');
$accessory->purchase_date = request('purchase_date');
$accessory->purchase_cost = Helper::ParseFloat(request('purchase_cost'));
$accessory->qty = request('qty');
$accessory->user_id = Auth::user()->id;
$accessory->supplier_id = request('supplier_id');
if ($request->hasFile('image')) {
if (!config('app.lock_passwords')) {
$image = $request->file('image');
$ext = $image->getClientOriginalExtension();
$file_name = "accessory-".str_random(18).'.'.$ext;
$path = public_path('/uploads/accessories');
if ($image->getClientOriginalExtension()!='svg') {
Image::make($image->getRealPath())->resize(null, 250, function ($constraint) {
$constraint->aspectRatio();
$constraint->upsize();
})->save($path.'/'.$file_name);
} else {
$image->move($path, $file_name);
}
$accessory->image = $file_name;
}
}
// Was the accessory created?
if ($accessory->save()) {
// Redirect to the new accessory page
return redirect()->route('accessories.index')->with('success', trans('admin/accessories/message.create.success'));
}
return redirect()->back()->withInput()->withErrors($accessory->getErrors());
}
/**
* Return view for the Accessory update form, prepopulated with existing data
*
* @author [A. Gianotto] [<snipe@snipe.net>]
* @param int $accessoryId
* @return View
*/
public function edit(Request $request, $accessoryId = null)
{
if ($item = Accessory::find($accessoryId)) {
$this->authorize($item);
$category_type = 'accessory';
return view('accessories/edit', compact('item'))->with('category_type', $category_type);
}
return redirect()->route('accessories.index')->with('error', trans('admin/accessories/message.does_not_exist'));
}
/**
* Save edited Accessory from form post
*
* @author [A. Gianotto] [<snipe@snipe.net>]
* @param int $accessoryId
* @return Redirect
*/
public function update(ImageUploadRequest $request, $accessoryId = null)
{
if (is_null($accessory = Accessory::find($accessoryId))) {
return redirect()->route('accessories.index')->with('error', trans('admin/accessories/message.does_not_exist'));
}
$this->authorize($accessory);
// Update the accessory data
$accessory->name = request('name');
$accessory->location_id = request('location_id');
$accessory->min_amt = request('min_amt');
$accessory->category_id = request('category_id');
$accessory->company_id = Company::getIdForCurrentUser(request('company_id'));
$accessory->manufacturer_id = request('manufacturer_id');
$accessory->order_number = request('order_number');
$accessory->model_number = request('model_number');
$accessory->purchase_date = request('purchase_date');
$accessory->purchase_cost = request('purchase_cost');
$accessory->qty = request('qty');
$accessory->supplier_id = request('supplier_id');
if ($request->hasFile('image')) {
if (!config('app.lock_passwords')) {
$image = $request->file('image');
$ext = $image->getClientOriginalExtension();
$file_name = "accessory-".str_random(18).'.'.$ext;
$path = public_path('/uploads/accessories');
if ($image->getClientOriginalExtension()!='svg') {
Image::make($image->getRealPath())->resize(null, 250, function ($constraint) {
$constraint->aspectRatio();
$constraint->upsize();
})->save($path.'/'.$file_name);
} else {
$image->move($path, $file_name);
}
if (($accessory->image) && (file_exists($path.'/'.$accessory->image))) {
unlink($path.'/'.$accessory->image);
}
$accessory->image = $file_name;
}
}
// Was the accessory updated?
if ($accessory->save()) {
return redirect()->route('accessories.index')->with('success', trans('admin/accessories/message.update.success'));
}
return redirect()->back()->withInput()->withErrors($accessory->getErrors());
}
/**
* Delete the given accessory.
*
* @author [A. Gianotto] [<snipe@snipe.net>]
* @param int $accessoryId
* @return Redirect
*/
public function destroy(Request $request, $accessoryId)
{
if (is_null($accessory = Accessory::find($accessoryId))) {
return redirect()->route('accessories.index')->with('error', trans('admin/accessories/message.not_found'));
}
$this->authorize($accessory);
if ($accessory->hasUsers() > 0) {
return redirect()->route('accessories.index')->with('error', trans('admin/accessories/message.assoc_users', array('count'=> $accessory->hasUsers())));
}
$accessory->delete();
return redirect()->route('accessories.index')->with('success', trans('admin/accessories/message.delete.success'));
}
/**
* Returns a view that invokes the ajax table which contains
* the content for the accessory detail view, which is generated in getDataView.
*
* @author [A. Gianotto] [<snipe@snipe.net>]
* @param int $accessoryID
* @see AccessoriesController::getDataView() method that generates the JSON response
* @since [v1.0]
* @return View
*/
public function show(Request $request, $accessoryID = null)
{
$accessory = Accessory::find($accessoryID);
$this->authorize('view', $accessory);
if (isset($accessory->id)) {
return view('accessories/view', compact('accessory'));
}
return redirect()->route('accessories.index')->with('error', trans('admin/accessories/message.does_not_exist', compact('id')));
}
/**
* Return the form to checkout an Accessory to a user.
*
* @author [A. Gianotto] [<snipe@snipe.net>]
* @param int $accessoryId
* @return View
*/
public function getCheckout(Request $request, $accessoryId)
{
// Check if the accessory exists
if (is_null($accessory = Accessory::find($accessoryId))) {
// Redirect to the accessory management page with error
return redirect()->route('accessories.index')->with('error', trans('admin/accessories/message.not_found'));
}
if ($accessory->category) {
$this->authorize('checkout', $accessory);
// Get the dropdown of users and then pass it to the checkout view
return view('accessories/checkout', compact('accessory'));
}
return redirect()->back()->with('error', 'The category type for this accessory is not valid. Edit the accessory and select a valid accessory category.');
}
/**
* Save the Accessory checkout information.
*
* If Slack is enabled and/or asset acceptance is enabled, it will also
* trigger a Slack message and send an email.
*
* @author [A. Gianotto] [<snipe@snipe.net>]
* @param int $accessoryId
* @return Redirect
*/
public function postCheckout(Request $request, $accessoryId)
{
// Check if the accessory exists
if (is_null($accessory = Accessory::find($accessoryId))) {
// Redirect to the accessory management page with error
return redirect()->route('accessories.index')->with('error', trans('admin/accessories/message.user_not_found'));
}
$this->authorize('checkout', $accessory);
if (!$user = User::find(Input::get('assigned_to'))) {
return redirect()->route('checkout/accessory', $accessory->id)->with('error', trans('admin/accessories/message.checkout.user_does_not_exist'));
}
// Update the accessory data
$accessory->assigned_to = e(Input::get('assigned_to'));
$accessory->users()->attach($accessory->id, [
'accessory_id' => $accessory->id,
'created_at' => Carbon::now(),
'user_id' => Auth::id(),
'assigned_to' => $request->get('assigned_to')
]);
$logaction = $accessory->logCheckout(e(Input::get('note')), $user);
DB::table('accessories_users')->where('assigned_to', '=', $accessory->assigned_to)->where('accessory_id', '=', $accessory->id)->first();
$data['log_id'] = $logaction->id;
$data['eula'] = $accessory->getEula();
$data['first_name'] = $user->first_name;
$data['item_name'] = $accessory->name;
$data['checkout_date'] = $logaction->created_at;
$data['item_tag'] = '';
$data['expected_checkin'] = '';
$data['note'] = $logaction->note;
$data['require_acceptance'] = $accessory->requireAcceptance();
// Redirect to the new accessory page
return redirect()->route('accessories.index')->with('success', trans('admin/accessories/message.checkout.success'));
}
/**
* Check the accessory back into inventory
*
* @author [A. Gianotto] [<snipe@snipe.net>]
* @param Request $request
* @param integer $accessoryUserId
* @param string $backto
* @return View
* @internal param int $accessoryId
*/
public function getCheckin(Request $request, $accessoryUserId = null, $backto = null)
{
// Check if the accessory exists
if (is_null($accessory_user = DB::table('accessories_users')->find($accessoryUserId))) {
// Redirect to the accessory management page with error
return redirect()->route('accessories.index')->with('error', trans('admin/accessories/message.not_found'));
}
$accessory = Accessory::find($accessory_user->accessory_id);
$this->authorize('checkin', $accessory);
return view('accessories/checkin', compact('accessory'))->with('backto', $backto);
}
/**
* Check in the item so that it can be checked out again to someone else
*
* @uses Accessory::checkin_email() to determine if an email can and should be sent
* @author [A. Gianotto] [<snipe@snipe.net>]
* @param Request $request
* @param integer $accessoryUserId
* @param string $backto
* @return Redirect
* @internal param int $accessoryId
*/
public function postCheckin(Request $request, $accessoryUserId = null, $backto = null)
{
// Check if the accessory exists
if (is_null($accessory_user = DB::table('accessories_users')->find($accessoryUserId))) {
// Redirect to the accessory management page with error
return redirect()->route('accessories.index')->with('error', trans('admin/accessories/message.does_not_exist'));
}
$accessory = Accessory::find($accessory_user->accessory_id);
$this->authorize('checkin', $accessory);
$return_to = e($accessory_user->assigned_to);
$logaction = $accessory->logCheckin(User::find($return_to), e(Input::get('note')));
// Was the accessory updated?
if (DB::table('accessories_users')->where('id', '=', $accessory_user->id)->delete()) {
if (!is_null($accessory_user->assigned_to)) {
$user = User::find($accessory_user->assigned_to);
}
$data['log_id'] = $logaction->id;
$data['first_name'] = e($user->first_name);
$data['last_name'] = e($user->last_name);
$data['item_name'] = e($accessory->name);
$data['checkin_date'] = e($logaction->created_at);
$data['item_tag'] = '';
$data['note'] = e($logaction->note);
if ($backto=='user') {
return redirect()->route("users.show", $return_to)->with('success', trans('admin/accessories/message.checkin.success'));
}
return redirect()->route("accessories.show", $accessory->id)->with('success', trans('admin/accessories/message.checkin.success'));
}
// Redirect to the accessory management page with error
return redirect()->route('accessories.index')->with('error', trans('admin/accessories/message.checkin.error'));
}
}
@@ -0,0 +1,336 @@
<?php
namespace App\Http\Controllers\Account;
use App\Events\CheckoutAccepted;
use App\Events\CheckoutDeclined;
use App\Events\ItemAccepted;
use App\Events\ItemDeclined;
use App\Http\Controllers\Controller;
use App\Models\Actionlog;
use App\Models\Asset;
use App\Models\CheckoutAcceptance;
use App\Models\Company;
use App\Models\Contracts\Acceptable;
use App\Models\Setting;
use App\Models\User;
use App\Models\AssetModel;
use App\Models\Accessory;
use App\Models\License;
use App\Models\Component;
use App\Models\Consumable;
use App\Notifications\AcceptanceAssetAcceptedNotification;
use App\Notifications\AcceptanceAssetDeclinedNotification;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Str;
use App\Http\Controllers\SettingsController;
use Barryvdh\DomPDF\Facade\Pdf;
use Carbon\Carbon;
use phpDocumentor\Reflection\Types\Compound;
class AcceptanceController extends Controller
{
/**
* Show a listing of pending checkout acceptances for the current user
*
* @return View
*/
public function index()
{
$acceptances = CheckoutAcceptance::forUser(Auth::user())->pending()->get();
return view('account/accept.index', compact('acceptances'));
}
/**
* Shows a form to either accept or decline the checkout acceptance
*
* @param int $id
* @return mixed
*/
public function create($id)
{
$acceptance = CheckoutAcceptance::find($id);
if (is_null($acceptance)) {
return redirect()->route('account.accept')->with('error', trans('admin/hardware/message.does_not_exist'));
}
if (! $acceptance->isPending()) {
return redirect()->route('account.accept')->with('error', trans('admin/users/message.error.asset_already_accepted'));
}
if (! $acceptance->isCheckedOutTo(Auth::user())) {
return redirect()->route('account.accept')->with('error', trans('admin/users/message.error.incorrect_user_accepted'));
}
if (! Company::isCurrentUserHasAccess($acceptance->checkoutable)) {
return redirect()->route('account.accept')->with('error', trans('general.error_user_company'));
}
return view('account/accept.create', compact('acceptance'));
}
/**
* Stores the accept/decline of the checkout acceptance
*
* @param Request $request
* @param int $id
* @return Redirect
*/
public function store(Request $request, $id)
{
$acceptance = CheckoutAcceptance::find($id);
if (is_null($acceptance)) {
return redirect()->route('account.accept')->with('error', trans('admin/hardware/message.does_not_exist'));
}
if (! $acceptance->isPending()) {
return redirect()->route('account.accept')->with('error', trans('admin/users/message.error.asset_already_accepted'));
}
if (! $acceptance->isCheckedOutTo(Auth::user())) {
return redirect()->route('account.accept')->with('error', trans('admin/users/message.error.incorrect_user_accepted'));
}
if (! Company::isCurrentUserHasAccess($acceptance->checkoutable)) {
return redirect()->route('account.accept')->with('error', trans('general.insufficient_permissions'));
}
if (! $request->filled('asset_acceptance')) {
return redirect()->back()->with('error', trans('admin/users/message.error.accept_or_decline'));
}
/**
* Get the signature and save it
*/
if (! Storage::exists('private_uploads/signatures')) {
Storage::makeDirectory('private_uploads/signatures', 775);
}
$item = $acceptance->checkoutable_type::find($acceptance->checkoutable_id);
$display_model = '';
$pdf_view_route = '';
$pdf_filename = 'accepted-eula-'.date('Y-m-d-h-i-s').'.pdf';
$sig_filename='';
if ($request->input('asset_acceptance') == 'accepted') {
/**
* Check for the eula-pdfs directory
*/
if (! Storage::exists('private_uploads/eula-pdfs')) {
Storage::makeDirectory('private_uploads/eula-pdfs', 775);
}
if (Setting::getSettings()->require_accept_signature == '1') {
// Check if the signature directory exists, if not create it
if (!Storage::exists('private_uploads/signatures')) {
Storage::makeDirectory('private_uploads/signatures', 775);
}
// The item was accepted, check for a signature
if ($request->filled('signature_output')) {
$sig_filename = 'siglog-' . Str::uuid() . '-' . date('Y-m-d-his') . '.png';
$data_uri = $request->input('signature_output');
$encoded_image = explode(',', $data_uri);
$decoded_image = base64_decode($encoded_image[1]);
Storage::put('private_uploads/signatures/' . $sig_filename, (string)$decoded_image);
// No image data is present, kick them back.
// This mostly only applies to users on super-duper crapola browsers *cough* IE *cough*
} else {
return redirect()->back()->with('error', trans('general.shitty_browser'));
}
}
// this is horrible
switch($acceptance->checkoutable_type){
case 'App\Models\Asset':
$pdf_view_route ='account.accept.accept-asset-eula';
$asset_model = AssetModel::find($item->model_id);
if (!$asset_model) {
return redirect()->back()->with('error', trans('admin/models/message.does_not_exist'));
}
$display_model = $asset_model->name;
$assigned_to = User::find($acceptance->assigned_to_id)->present()->fullName;
break;
case 'App\Models\Accessory':
$pdf_view_route ='account.accept.accept-accessory-eula';
$accessory = Accessory::find($item->id);
$display_model = $accessory->name;
$assigned_to = User::find($acceptance->assigned_to_id)->present()->fullName;
break;
case 'App\Models\LicenseSeat':
$pdf_view_route ='account.accept.accept-license-eula';
$license = License::find($item->license_id);
$display_model = $license->name;
$assigned_to = User::find($acceptance->assigned_to_id)->present()->fullName;
break;
case 'App\Models\Component':
$pdf_view_route ='account.accept.accept-component-eula';
$component = Component::find($item->id);
$display_model = $component->name;
$assigned_to = User::find($acceptance->assigned_to_id)->present()->fullName;
break;
case 'App\Models\Consumable':
$pdf_view_route ='account.accept.accept-consumable-eula';
$consumable = Consumable::find($item->id);
$display_model = $consumable->name;
$assigned_to = User::find($acceptance->assigned_to_id)->present()->fullName;
break;
}
// if ($acceptance->checkoutable_type == 'App\Models\Asset') {
// $pdf_view_route ='account.accept.accept-asset-eula';
// $asset_model = AssetModel::find($item->model_id);
// $display_model = $asset_model->name;
// $assigned_to = User::find($item->assigned_to)->present()->fullName;
//
// } elseif ($acceptance->checkoutable_type== 'App\Models\Accessory') {
// $pdf_view_route ='account.accept.accept-accessory-eula';
// $accessory = Accessory::find($item->id);
// $display_model = $accessory->name;
// $assigned_to = User::find($item->assignedTo);
//
// }
/**
* Gather the data for the PDF. We fire this whether there is a signature required or not,
* since we want the moment-in-time proof of what the EULA was when they accepted it.
*/
$branding_settings = SettingsController::getPDFBranding();
if (is_null($branding_settings->logo)){
$path_logo = "";
} else {
$path_logo = public_path() . '/uploads/' . $branding_settings->logo;
}
$data = [
'item_tag' => $item->asset_tag,
'item_model' => $display_model,
'item_serial' => $item->serial,
'eula' => $item->getEula(),
'check_out_date' => Carbon::parse($acceptance->created_at)->format('Y-m-d'),
'accepted_date' => Carbon::parse($acceptance->accepted_at)->format('Y-m-d'),
'assigned_to' => $assigned_to,
'company_name' => $branding_settings->site_name,
'signature' => ($sig_filename) ? storage_path() . '/private_uploads/signatures/' . $sig_filename : null,
'logo' => $path_logo,
'date_settings' => $branding_settings->date_display_format,
];
if ($pdf_view_route!='') {
\Log::debug($pdf_filename.' is the filename, and the route was specified.');
$pdf = Pdf::loadView($pdf_view_route, $data);
Storage::put('private_uploads/eula-pdfs/' .$pdf_filename, $pdf->output());
}
$acceptance->accept($sig_filename, $item->getEula(), $pdf_filename);
$acceptance->notify(new AcceptanceAssetAcceptedNotification($data));
event(new CheckoutAccepted($acceptance));
$return_msg = trans('admin/users/message.accepted');
} else {
/**
* Check for the eula-pdfs directory
*/
if (! Storage::exists('private_uploads/eula-pdfs')) {
Storage::makeDirectory('private_uploads/eula-pdfs', 775);
}
if (Setting::getSettings()->require_accept_signature == '1') {
// Check if the signature directory exists, if not create it
if (!Storage::exists('private_uploads/signatures')) {
Storage::makeDirectory('private_uploads/signatures', 775);
}
// The item was accepted, check for a signature
if ($request->filled('signature_output')) {
$sig_filename = 'siglog-' . Str::uuid() . '-' . date('Y-m-d-his') . '.png';
$data_uri = $request->input('signature_output');
$encoded_image = explode(',', $data_uri);
$decoded_image = base64_decode($encoded_image[1]);
Storage::put('private_uploads/signatures/' . $sig_filename, (string)$decoded_image);
// No image data is present, kick them back.
// This mostly only applies to users on super-duper crapola browsers *cough* IE *cough*
} else {
return redirect()->back()->with('error', trans('general.shitty_browser'));
}
}
// Format the data to send the declined notification
$branding_settings = SettingsController::getPDFBranding();
// This is the most horriblest
switch($acceptance->checkoutable_type){
case 'App\Models\Asset':
$asset_model = AssetModel::find($item->model_id);
$display_model = $asset_model->name;
$assigned_to = User::find($acceptance->assigned_to_id)->present()->fullName;
break;
case 'App\Models\Accessory':
$accessory = Accessory::find($item->id);
$display_model = $accessory->name;
$assigned_to = User::find($acceptance->assigned_to_id)->present()->fullName;
break;
case 'App\Models\LicenseSeat':
$assigned_to = User::find($acceptance->assigned_to_id)->present()->fullName;
break;
case 'App\Models\Component':
$assigned_to = User::find($acceptance->assigned_to_id)->present()->fullName;
break;
case 'App\Models\Consumable':
$consumable = Consumable::find($item->id);
$display_model = $consumable->name;
$assigned_to = User::find($acceptance->assigned_to_id)->present()->fullName;
break;
}
$data = [
'item_tag' => $item->asset_tag,
'item_model' => $display_model,
'item_serial' => $item->serial,
'declined_date' => Carbon::parse($acceptance->declined_at)->format('Y-m-d'),
'signature' => ($sig_filename) ? storage_path() . '/private_uploads/signatures/' . $sig_filename : null,
'assigned_to' => $assigned_to,
'company_name' => $branding_settings->site_name,
'date_settings' => $branding_settings->date_display_format,
];
if ($pdf_view_route!='') {
\Log::debug($pdf_filename.' is the filename, and the route was specified.');
$pdf = Pdf::loadView($pdf_view_route, $data);
Storage::put('private_uploads/eula-pdfs/' .$pdf_filename, $pdf->output());
}
$acceptance->decline($sig_filename);
$acceptance->notify(new AcceptanceAssetDeclinedNotification($data));
event(new CheckoutDeclined($acceptance));
$return_msg = trans('admin/users/message.declined');
}
return redirect()->to('account/accept')->with('success', $return_msg);
}
}
+21 -3
View File
@@ -3,16 +3,34 @@
namespace App\Http\Controllers;
use App\Helpers\Helper;
use App\Models\Actionlog;
use Response;
class ActionlogController extends Controller
{
public function displaySig($filename)
{
// PHP doesn't let you handle file not found errors well with
// file_get_contents, so we set the error reporting for just this class
error_reporting(0);
$this->authorize('view', \App\Models\Asset::class);
$file = config('app.private_uploads') . '/signatures/' . $filename;
$file = config('app.private_uploads').'/signatures/'.$filename;
$filetype = Helper::checkUploadIsImage($file);
$contents = file_get_contents($file);
return Response::make($contents)->header('Content-Type', $filetype);
$contents = file_get_contents($file, false, stream_context_create(['http' => ['ignore_errors' => true]]));
if ($contents === false) {
\Log::warn('File '.$file.' not found');
return false;
} else {
return Response::make($contents)->header('Content-Type', $filetype);
}
}
public function getStoredEula($filename){
$this->authorize('view', \App\Models\Asset::class);
$file = config('app.private_uploads').'/eula-pdfs/'.$filename;
return Response::download($file);
}
}
@@ -2,13 +2,18 @@
namespace App\Http\Controllers\Api;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Helpers\Helper;
use App\Models\Accessory;
use App\Http\Controllers\Controller;
use App\Http\Transformers\AccessoriesTransformer;
use App\Http\Transformers\SelectlistTransformer;
use App\Models\Accessory;
use App\Models\Company;
use App\Models\User;
use Auth;
use Carbon\Carbon;
use DB;
use Illuminate\Http\Request;
use App\Http\Requests\ImageUploadRequest;
class AccessoriesController extends Controller
{
@@ -21,52 +26,92 @@ class AccessoriesController extends Controller
*/
public function index(Request $request)
{
$this->authorize('view', Accessory::class);
$allowed_columns = ['id','name','model_number','eol','notes','created_at','min_amt','company_id'];
if ($request->user()->cannot('reports.view')) {
$this->authorize('view', Accessory::class);
}
$accessories = Accessory::with('category', 'company', 'manufacturer', 'users', 'location');
if ($request->has('search')) {
// 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.
$allowed_columns =
[
'id',
'name',
'model_number',
'eol',
'notes',
'created_at',
'min_amt',
'company_id',
'notes',
'users_count',
'qty',
];
$accessories = Accessory::select('accessories.*')->with('category', 'company', 'manufacturer', 'users', 'location', 'supplier')
->withCount('users as users_count');
if ($request->filled('search')) {
$accessories = $accessories->TextSearch($request->input('search'));
}
if ($request->has('company_id')) {
$accessories->where('company_id','=',$request->input('company_id'));
if ($request->filled('company_id')) {
$accessories->where('company_id', '=', $request->input('company_id'));
}
if ($request->has('category_id')) {
$accessories->where('category_id','=',$request->input('category_id'));
if ($request->filled('category_id')) {
$accessories->where('category_id', '=', $request->input('category_id'));
}
if ($request->has('manufacturer_id')) {
$accessories->where('manufacturer_id','=',$request->input('manufacturer_id'));
if ($request->filled('manufacturer_id')) {
$accessories->where('manufacturer_id', '=', $request->input('manufacturer_id'));
}
if ($request->has('supplier_id')) {
$accessories->where('supplier_id','=',$request->input('supplier_id'));
if ($request->filled('supplier_id')) {
$accessories->where('supplier_id', '=', $request->input('supplier_id'));
}
$offset = (($accessories) && (request('offset') > $accessories->count())) ? 0 : request('offset', 0);
$limit = $request->input('limit', 50);
if ($request->filled('location_id')) {
$accessories->where('location_id','=',$request->input('location_id'));
}
if ($request->filled('notes')) {
$accessories->where('notes','=',$request->input('notes'));
}
// Make sure the offset and limit are actually integers and do not exceed system limits
$offset = ($request->input('offset') > $accessories->count()) ? $accessories->count() : abs($request->input('offset'));
$limit = app('api_limit_value');
$order = $request->input('order') === 'asc' ? 'asc' : 'desc';
$sort = in_array($request->input('sort'), $allowed_columns) ? $request->input('sort') : 'created_at';
$sort_override = $request->input('sort');
$column_sort = in_array($sort_override, $allowed_columns) ? $sort_override : 'created_at';
switch ($sort) {
switch ($sort_override) {
case 'category':
$accessories = $accessories->OrderCategory($order);
break;
case 'company':
$accessories = $accessories->OrderCompany($order);
break;
case 'location':
$accessories = $accessories->OrderLocation($order);
break;
case 'manufacturer':
$accessories = $accessories->OrderManufacturer($order);
break;
case 'supplier':
$accessories = $accessories->OrderSupplier($order);
break;
default:
$accessories = $accessories->orderBy($sort, $order);
$accessories = $accessories->orderBy($column_sort, $order);
break;
}
$accessories->orderBy($sort, $order);
$total = $accessories->count();
$accessories = $accessories->skip($offset)->take($limit)->get();
return (new AccessoriesTransformer)->transformAccessories($accessories, $total);
}
@@ -76,18 +121,20 @@ class AccessoriesController extends Controller
*
* @author [A. Gianotto] [<snipe@snipe.net>]
* @since [v4.0]
* @param \Illuminate\Http\Request $request
* @param \App\Http\Requests\ImageUploadRequest $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
public function store(ImageUploadRequest $request)
{
$this->authorize('create', Accessory::class);
$accessory = new Accessory;
$accessory->fill($request->all());
$accessory = $request->handleImages($accessory);
if ($accessory->save()) {
return response()->json(Helper::formatStandardApiResponse('success', $accessory, trans('admin/accessories/message.create.success')));
}
return response()->json(Helper::formatStandardApiResponse('error', null, $accessory->getErrors()));
}
@@ -103,7 +150,8 @@ class AccessoriesController extends Controller
public function show($id)
{
$this->authorize('view', Accessory::class);
$accessory = Accessory::findOrFail($id);
$accessory = Accessory::withCount('users as users_count')->findOrFail($id);
return (new AccessoriesTransformer)->transformAccessory($accessory);
}
@@ -120,6 +168,7 @@ class AccessoriesController extends Controller
{
$this->authorize('view', Accessory::class);
$accessory = Accessory::findOrFail($id);
return (new AccessoriesTransformer)->transformAccessory($accessory);
}
@@ -132,18 +181,40 @@ class AccessoriesController extends Controller
* @param int $id
* @return \Illuminate\Http\Response
*/
public function checkedout($id)
public function checkedout($id, Request $request)
{
$this->authorize('view', Accessory::class);
$accessory = Accessory::findOrFail($id);
if (!Company::isCurrentUserHasAccess($accessory)) {
$accessory = Accessory::with('lastCheckout')->findOrFail($id);
if (! Company::isCurrentUserHasAccess($accessory)) {
return ['total' => 0, 'rows' => []];
}
$offset = request('offset', 0);
$limit = request('limit', 50);
$accessory_users = $accessory->users;
$total = $accessory_users->count();
return (new AccessoriesTransformer)->transformCheckedoutAccessory($accessory_users, $total);
if ($total < $offset) {
$offset = 0;
}
$accessory_users = $accessory->users()->skip($offset)->take($limit)->get();
if ($request->filled('search')) {
$accessory_users = $accessory->users()
->where(function ($query) use ($request) {
$search_str = '%' . $request->input('search') . '%';
$query->where('first_name', 'like', $search_str)
->orWhere('last_name', 'like', $search_str)
->orWhere('note', 'like', $search_str);
})
->get();
$total = $accessory_users->count();
}
return (new AccessoriesTransformer)->transformCheckedoutAccessory($accessory, $accessory_users, $total);
}
@@ -152,15 +223,16 @@ class AccessoriesController extends Controller
*
* @author [A. Gianotto] [<snipe@snipe.net>]
* @since [v4.0]
* @param \Illuminate\Http\Request $request
* @param \App\Http\Requests\ImageUploadRequest $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
public function update(ImageUploadRequest $request, $id)
{
$this->authorize('edit', Accessory::class);
$this->authorize('update', Accessory::class);
$accessory = Accessory::findOrFail($id);
$accessory->fill($request->all());
$accessory = $request->handleImages($accessory);
if ($accessory->save()) {
return response()->json(Helper::formatStandardApiResponse('success', $accessory, trans('admin/accessories/message.update.success')));
@@ -184,11 +256,126 @@ class AccessoriesController extends Controller
$this->authorize($accessory);
if ($accessory->hasUsers() > 0) {
return response()->json(Helper::formatStandardApiResponse('error', null, trans('admin/accessories/message.assoc_users', array('count'=> $accessory->hasUsers()))));
return response()->json(Helper::formatStandardApiResponse('error', null, trans('admin/accessories/message.assoc_users', ['count'=> $accessory->hasUsers()])));
}
$accessory->delete();
return response()->json(Helper::formatStandardApiResponse('success', null, trans('admin/accessories/message.delete.success')));
return response()->json(Helper::formatStandardApiResponse('success', null, trans('admin/accessories/message.delete.success')));
}
/**
* Save the Accessory checkout information.
*
* If Slack is enabled and/or asset acceptance is enabled, it will also
* trigger a Slack message and send an email.
*
* @author [A. Gianotto] [<snipe@snipe.net>]
* @param int $accessoryId
* @return Redirect
*/
public function checkout(Request $request, $accessoryId)
{
// Check if the accessory exists
if (is_null($accessory = Accessory::find($accessoryId))) {
return response()->json(Helper::formatStandardApiResponse('error', null, trans('admin/accessories/message.does_not_exist')));
}
$this->authorize('checkout', $accessory);
if ($accessory->numRemaining() > 0) {
if (! $user = User::find($request->input('assigned_to'))) {
return response()->json(Helper::formatStandardApiResponse('error', null, trans('admin/accessories/message.checkout.user_does_not_exist')));
}
// Update the accessory data
$accessory->assigned_to = $request->input('assigned_to');
$accessory->users()->attach($accessory->id, [
'accessory_id' => $accessory->id,
'created_at' => Carbon::now(),
'user_id' => Auth::id(),
'assigned_to' => $request->get('assigned_to'),
'note' => $request->get('note'),
]);
$accessory->logCheckout($request->input('note'), $user);
return response()->json(Helper::formatStandardApiResponse('success', null, trans('admin/accessories/message.checkout.success')));
}
return response()->json(Helper::formatStandardApiResponse('error', null, 'No accessories remaining'));
}
/**
* Check in the item so that it can be checked out again to someone else
*
* @uses Accessory::checkin_email() to determine if an email can and should be sent
* @author [A. Gianotto] [<snipe@snipe.net>]
* @param Request $request
* @param int $accessoryUserId
* @param string $backto
* @return Redirect
* @internal param int $accessoryId
*/
public function checkin(Request $request, $accessoryUserId = null)
{
if (is_null($accessory_user = DB::table('accessories_users')->find($accessoryUserId))) {
return response()->json(Helper::formatStandardApiResponse('error', null, trans('admin/accessories/message.does_not_exist')));
}
$accessory = Accessory::find($accessory_user->accessory_id);
$this->authorize('checkin', $accessory);
$logaction = $accessory->logCheckin(User::find($accessory_user->assigned_to), $request->input('note'));
// Was the accessory updated?
if (DB::table('accessories_users')->where('id', '=', $accessory_user->id)->delete()) {
if (! is_null($accessory_user->assigned_to)) {
$user = User::find($accessory_user->assigned_to);
}
$data['log_id'] = $logaction->id;
$data['first_name'] = $user->first_name;
$data['last_name'] = $user->last_name;
$data['item_name'] = $accessory->name;
$data['checkin_date'] = $logaction->created_at;
$data['item_tag'] = '';
$data['note'] = $logaction->note;
return response()->json(Helper::formatStandardApiResponse('success', null, trans('admin/accessories/message.checkin.success')));
}
return response()->json(Helper::formatStandardApiResponse('error', null, trans('admin/accessories/message.checkin.error')));
}
/**
* Gets a paginated collection for the select2 menus
*
* @see \App\Http\Transformers\SelectlistTransformer
*
*/
public function selectlist(Request $request)
{
$accessories = Accessory::select([
'accessories.id',
'accessories.name',
]);
if ($request->filled('search')) {
$accessories = $accessories->where('accessories.name', 'LIKE', '%'.$request->get('search').'%');
}
$accessories = $accessories->orderBy('name', 'ASC')->paginate(50);
return (new SelectlistTransformer)->transformSelectlist($accessories);
}
}
@@ -1,4 +1,5 @@
<?php
namespace App\Http\Controllers\Api;
use App\Helpers\Helper;
@@ -9,7 +10,6 @@ use App\Models\AssetMaintenance;
use App\Models\Company;
use Auth;
use Carbon\Carbon;
use Gate;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Input;
@@ -30,22 +30,34 @@ class AssetMaintenancesController extends Controller
* @author Vincent Sposato <vincent.sposato@gmail.com>
* @version v1.0
* @since [v1.8]
* @return String JSON
* @return string JSON
*/
public function index(Request $request)
{
$maintenances = AssetMaintenance::with('asset', 'supplier', 'asset.company', 'admin');
$this->authorize('view', Asset::class);
if (Input::has('search')) {
$maintenances = $maintenances->TextSearch(e($request->input('search')));
$maintenances = AssetMaintenance::select('asset_maintenances.*')->with('asset', 'asset.model', 'asset.location', 'asset.defaultLoc', 'supplier', 'asset.company', 'admin');
if ($request->filled('search')) {
$maintenances = $maintenances->TextSearch($request->input('search'));
}
if ($request->has('asset_id')) {
if ($request->filled('asset_id')) {
$maintenances->where('asset_id', '=', $request->input('asset_id'));
}
$offset = (($maintenances) && (request('offset') > $maintenances->count())) ? 0 : request('offset', 0);
$limit = request('limit', 50);
if ($request->filled('supplier_id')) {
$maintenances->where('supplier_id', '=', $request->input('supplier_id'));
}
if ($request->filled('asset_maintenance_type')) {
$maintenances->where('asset_maintenance_type', '=', $request->input('asset_maintenance_type'));
}
// Make sure the offset and limit are actually integers and do not exceed system limits
$offset = ($request->input('offset') > $maintenances->count()) ? $maintenances->count() : abs($request->input('offset'));
$limit = app('api_limit_value');
$allowed_columns = [
'id',
@@ -58,15 +70,20 @@ class AssetMaintenancesController extends Controller
'notes',
'asset_tag',
'asset_name',
'user_id'
'user_id',
'supplier',
'is_warranty',
];
$order = Input::get('order') === 'asc' ? 'asc' : 'desc';
$sort = in_array(Input::get('sort'), $allowed_columns) ? e($request->input('sort')) : 'created_at';
$order = $request->input('order') === 'asc' ? 'asc' : 'desc';
$sort = in_array($request->input('sort'), $allowed_columns) ? e($request->input('sort')) : 'created_at';
switch ($sort) {
case 'user_id':
$maintenances = $maintenances->OrderAdmin($order);
break;
case 'supplier':
$maintenances = $maintenances->OrderBySupplier($order);
break;
case 'asset_tag':
$maintenances = $maintenances->OrderByTag($order);
break;
@@ -93,36 +110,37 @@ class AssetMaintenancesController extends Controller
* @author Vincent Sposato <vincent.sposato@gmail.com>
* @version v1.0
* @since [v1.8]
* @return String JSON
* @return string JSON
*/
public function store(Request $request)
{
$this->authorize('update', Asset::class);
// create a new model instance
$assetMaintenance = new AssetMaintenance();
$assetMaintenance->supplier_id = $request->input('supplier_id');
$assetMaintenance->is_warranty = $request->input('is_warranty');
$assetMaintenance->cost = e($request->input('cost'));
$assetMaintenance->cost = $request->input('cost');
$assetMaintenance->notes = e($request->input('notes'));
$asset = Asset::find(e($request->input('asset_id')));
if (!Company::isCurrentUserHasAccess($asset)) {
if (! Company::isCurrentUserHasAccess($asset)) {
return response()->json(Helper::formatStandardApiResponse('error', null, 'You cannot add a maintenance for that asset'));
}
// Save the asset maintenance data
$assetMaintenance->asset_id = $request->input('asset_id');
$assetMaintenance->asset_id = $request->input('asset_id');
$assetMaintenance->asset_maintenance_type = $request->input('asset_maintenance_type');
$assetMaintenance->title = $request->input('title');
$assetMaintenance->start_date = $request->input('start_date');
$assetMaintenance->completion_date = $request->input('completion_date');
$assetMaintenance->user_id = Auth::id();
$assetMaintenance->title = $request->input('title');
$assetMaintenance->start_date = $request->input('start_date');
$assetMaintenance->completion_date = $request->input('completion_date');
$assetMaintenance->user_id = Auth::id();
if (( $assetMaintenance->completion_date !== null )
&& ( $assetMaintenance->start_date !== "" )
&& ( $assetMaintenance->start_date !== "0000-00-00" )
if (($assetMaintenance->completion_date !== null)
&& ($assetMaintenance->start_date !== '')
&& ($assetMaintenance->start_date !== '0000-00-00')
) {
$startDate = Carbon::parse($assetMaintenance->start_date);
$completionDate = Carbon::parse($assetMaintenance->completion_date);
$startDate = Carbon::parse($assetMaintenance->start_date);
$completionDate = Carbon::parse($assetMaintenance->completion_date);
$assetMaintenance->asset_maintenance_time = $completionDate->diffInDays($startDate);
}
@@ -136,7 +154,6 @@ class AssetMaintenancesController extends Controller
}
/**
* Validates and stores an update to an asset maintenance
*
@@ -145,59 +162,60 @@ class AssetMaintenancesController extends Controller
* @param int $request
* @version v1.0
* @since [v4.0]
* @return String JSON
* @return string JSON
*/
public function update(Request $request, $assetMaintenanceId = null)
{
$this->authorize('update', Asset::class);
// Check if the asset maintenance exists
$assetMaintenance = AssetMaintenance::findOrFail($assetMaintenanceId);
if (!Company::isCurrentUserHasAccess($assetMaintenance->asset)) {
if (! Company::isCurrentUserHasAccess($assetMaintenance->asset)) {
return response()->json(Helper::formatStandardApiResponse('error', null, 'You cannot edit a maintenance for that asset'));
}
$assetMaintenance->supplier_id = e($request->input('supplier_id'));
$assetMaintenance->is_warranty = e($request->input('is_warranty'));
$assetMaintenance->cost = Helper::ParseFloat(e($request->input('cost')));
$assetMaintenance->cost = $request->input('cost');
$assetMaintenance->notes = e($request->input('notes'));
$asset = Asset::find(request('asset_id'));
if (!Company::isCurrentUserHasAccess($asset)) {
if (! Company::isCurrentUserHasAccess($asset)) {
return response()->json(Helper::formatStandardApiResponse('error', null, 'You cannot edit a maintenance for that asset'));
}
// Save the asset maintenance data
$assetMaintenance->asset_id = $request->input('asset_id');
$assetMaintenance->asset_id = $request->input('asset_id');
$assetMaintenance->asset_maintenance_type = $request->input('asset_maintenance_type');
$assetMaintenance->title = $request->input('title');
$assetMaintenance->start_date = $request->input('start_date');
$assetMaintenance->completion_date = $request->input('completion_date');
$assetMaintenance->title = $request->input('title');
$assetMaintenance->start_date = $request->input('start_date');
$assetMaintenance->completion_date = $request->input('completion_date');
if (( $assetMaintenance->completion_date == null )
if (($assetMaintenance->completion_date == null)
) {
if (( $assetMaintenance->asset_maintenance_time !== 0 )
|| ( !is_null($assetMaintenance->asset_maintenance_time) )
if (($assetMaintenance->asset_maintenance_time !== 0)
|| (! is_null($assetMaintenance->asset_maintenance_time))
) {
$assetMaintenance->asset_maintenance_time = null;
}
}
if (( $assetMaintenance->completion_date !== null )
&& ( $assetMaintenance->start_date !== "" )
&& ( $assetMaintenance->start_date !== "0000-00-00" )
if (($assetMaintenance->completion_date !== null)
&& ($assetMaintenance->start_date !== '')
&& ($assetMaintenance->start_date !== '0000-00-00')
) {
$startDate = Carbon::parse($assetMaintenance->start_date);
$completionDate = Carbon::parse($assetMaintenance->completion_date);
$startDate = Carbon::parse($assetMaintenance->start_date);
$completionDate = Carbon::parse($assetMaintenance->completion_date);
$assetMaintenance->asset_maintenance_time = $completionDate->diffInDays($startDate);
}
// Was the asset maintenance created?
if ($assetMaintenance->save()) {
return response()->json(Helper::formatStandardApiResponse('success', $assetMaintenance, trans('admin/asset_maintenances/message.edit.success')));
}
return response()->json(Helper::formatStandardApiResponse('error', null, $assetMaintenance->getErrors()));
}
@@ -208,14 +226,15 @@ class AssetMaintenancesController extends Controller
* @param int $assetMaintenanceId
* @version v1.0
* @since [v4.0]
* @return String JSON
* @return string JSON
*/
public function destroy($assetMaintenanceId)
{
$this->authorize('update', Asset::class);
// Check if the asset maintenance exists
$assetMaintenance = AssetMaintenance::findOrFail($assetMaintenanceId);
if (!Company::isCurrentUserHasAccess($assetMaintenance->asset)) {
if (! Company::isCurrentUserHasAccess($assetMaintenance->asset)) {
return response()->json(Helper::formatStandardApiResponse('error', null, 'You cannot delete a maintenance for that asset'));
}
@@ -233,14 +252,16 @@ class AssetMaintenancesController extends Controller
* @param int $assetMaintenanceId
* @version v1.0
* @since [v4.0]
* @return String JSON
* @return string JSON
*/
public function show($assetMaintenanceId)
{
$this->authorize('view', Asset::class);
$assetMaintenance = AssetMaintenance::findOrFail($assetMaintenanceId);
if (!Company::isCurrentUserHasAccess($assetMaintenance->asset)) {
if (! Company::isCurrentUserHasAccess($assetMaintenance->asset)) {
return response()->json(Helper::formatStandardApiResponse('error', null, 'You cannot view a maintenance for that asset'));
}
return (new AssetMaintenancesTransformer())->transformAssetMaintenance($assetMaintenance);
}

Some files were not shown because too many files have changed in this diff Show More