Commit Graph

265 Commits

Author SHA1 Message Date
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
Ivan Nieto Vivanco b607a59875 Add query to search default locations in advanced search 2023-08-16 15:04:17 -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 76191a09ed Improvements to asset_tag auto-incrementing, with auto-fixups for gaps 2023-07-12 16:39:45 +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
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
Ivan Nieto Vivanco f9a20bc917 Replace join with left join in pertinent eloquent query 2023-06-01 12:08:51 -06:00
ak-piracha 1cdf089306 Fixes: issue #13073: deleted component addearing in asset component tab fixed 2023-05-31 00:11:11 +09:30
Marcus Moore 0a3d46824e Automatically add table prefixes when building multi-column search string 2023-05-23 15:58:58 -07:00
Marcus Moore b2b6f0cf96 Use new dynamic scope where possible 2023-05-23 13:38:50 -07:00
Marcus Moore 64e83ed9f5 Update scopeAssignedSearch in Asset 2023-05-22 16:54:54 -07:00
Marcus Moore 2d86c8f030 Update advancedTextSearch methods in Asset and User models 2023-05-18 17:06:41 -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
Godfrey M bd212b3108 adds component costs to asset view 2023-04-19 16:35:06 -07:00
slong753 8c1c0e81b6 rm deplicates 2023-03-30 13:31:58 -05:00
slong753 e126a75f7a pretty sure this was it 2023-03-29 21:37:26 -05: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
snipe 1f7ae08d76 Merge branch 'develop' into features/make_eol_sortable 2023-02-28 18:05:09 -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 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
Ivan Nieto Vivanco 6e994c209f Adds setter to model Asset class for expected checkin 2023-02-19 12:31:10 -06: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 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 d52d32fed9 Fixed visibility for constants and methods
Signed-off-by: snipe <snipe@snipe.net>
2023-02-06 12:44:02 -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
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
snipe febfcd4803 Updated model with new field
Signed-off-by: snipe <snipe@snipe.net>
2023-01-22 00:56:19 -08:00
Marcus Moore 181f96ad33 Allow users to set a blank asset name during checkout 2023-01-19 12:35:44 -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 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
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
Godfrey M 309229619b fixes the order expiring assets are listed in notifications 2022-07-11 12:25:38 -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 d45d322b54 Use scoped query for asset count
Signed-off-by: snipe <snipe@snipe.net>
2022-06-23 13:43:23 -07:00
Ivan Nieto Vivanco e0b64a4879 Fixes constraint violation when ordering some columns 2022-05-24 14:00:23 -05:00
Godfrey M 33b1ab3658 prevents values for assets being negative through validation 2022-05-10 16:19:06 -07:00
snipe a937bd34f6 Merge master back down into develop
Signed-off-by: snipe <snipe@snipe.net>
2022-03-29 16:28:43 +01:00
Ivan Nieto Vivanco 98b78837e1 Validate custom fieldset only if the asset have one 2022-03-22 09:38:57 -06:00
Ivan Nieto Vivanco e104195796 Convert value of the customfield element from string to boolean 2022-03-09 18:49:39 -06: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
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
Ivan Nieto Vivanco 42d86bf57b Adds default values if the expiring alerts threshold is null 2022-01-18 14:21:49 -06:00
Brady Wetherington ef463a37d8 Make 'pending' assets properly requestable; use requestable scope 2022-01-14 12:48:33 -08:00
snipe 00b63fe7c7 Fixed category factory methods
Signed-off-by: snipe <snipe@snipe.net>
2021-12-02 13:40:16 -08: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
snipe 371a39a118 Merge branch 'develop' into fixes/advanced_search_serial_v2 2021-10-28 16:42:10 -07:00
Ivan Nieto Vivanco ee9133f722 Return the proper Asset-Components relationship 2021-10-27 16:42:51 -05:00