3
0
mirror of https://github.com/snipe/snipe-it.git synced 2026-08-18 11:15:42 +00:00
TowyTowy bc148ebe2b CSV Import: update mode silently resets requestable and cannot clear byod
In update mode, AssetImporter::createAssetIfNotExists() always coerces the
requestable CSV value to a boolean and assigns it directly to the model. When
the import file has no requestable column, that coerces null to 0 and resets
the flag on every asset the update touches. The existing test suite documented
this ("RequestAble is always updated regardless of initial value.") by
commenting out the assertion instead of failing.

byod has the mirror problem: the value is coerced to int 0 before
sanitizeItemForUpdating(), which strips falsy values in update mode, so an
explicit byod=FALSE in the CSV is silently dropped and the flag can never be
cleared through an update import.

Fix: in update mode only touch either flag when the CSV actually provides a
non-blank value, and assign the coerced value directly to the model (as the
requestable line already did) so an explicit falsy value survives the
empty-value stripping. Create-mode behavior is unchanged (missing/blank still
defaults to 0).

Adds regression tests for both directions and restores the previously
commented-out assertion in update_asset_from_import().

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-18 12:10:11 +02:00
2026-06-29 11:51:15 -07:00
2026-07-10 09:58:14 +01:00
2026-07-17 17:04:19 +01:00
2026-07-17 18:17:12 +01:00
2026-05-11 10:21:30 +01:00
2026-05-26 15:00:33 -07:00
2026-07-17 21:40:32 +01:00
2026-07-17 18:58:51 +01:00
2026-07-17 18:58:51 +01:00
2026-07-13 11:26:08 +01:00
2026-05-26 10:41:22 +01:00
2026-07-17 18:17:12 +01:00

snipe-it-by-grok

Crowdin Docker Pulls Tests in MySQL All Contributors Discord

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 12.

Snipe-IT is actively developed and we release quite frequently. (Check out the live demo here.)

Tip

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, any flavor of Linux, as well as Windows, and we have a Docker image available if that's what you're into.


Table of Contents


Installation

For instructions on installing and configuring Snipe-IT on your server, check out the installation manual. (Please see the requirements documentation for full requirements.)

If you're having trouble with the installation, please check the Common Issues and Getting Help documentation, and search this repository's open and closed issues for help.


User's Manual

For help using Snipe-IT, check out the user's manual.


Bug Reports & Feature Requests

Feel free to check out the GitHub Issues for this project to open a bug report or see what open issues you can help with. Please search through existing issues (open and closed) to see if your question has already been answered before opening a new issue.

Important

PLEASE see the Getting Help Guidelines and Common Issues before opening a ticket, and be sure to complete all of the questions in the Github Issue template to help us to help you as quickly as possible.


Security

Important

To report a security vulnerability, please email security@snipeitapp.com instead of using the issue tracker.


Upgrading

Please see the upgrading documentation for instructions on upgrading Snipe-IT.


Translations!

Please see the translations documentation for information about available languages and how to add translations to Snipe-IT.


Since the release of the JSON REST API, several third-party developers have been developing modules and libraries to work with Snipe-IT.

Note

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. :)

Libraries & Modules

We also have a handful of Google Apps scripts to help with various tasks.

Mobile Apps

We're currently working on our own mobile app, but in the meantime, check out these third-party apps that work with Snipe-IT:


Join the Community!


Contributing

Please refrain from submitting issues or pull requests generated by fully-automated tools. Maintainers reserve the right, at their sole discretion, to close such submissions and to block any account responsible for them. Please see our AI Contribution Policy for more information.

Contributions should follow from a human-to-human discussion in the form of an issue for the best chances of being merged into the core project. (Sometimes we might already be working on that feature, sometimes we've decided against )

Please see the complete documentation on contributing and developing for Snipe-IT.

This project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

The ERD is available online here.

Be sure to check out all of the amazing people that have contributed to Snipe-IT over the years!


Star History

Star History Chart


Announcement List

To be notified of important news (such as new releases, security advisories, etc), sign up for our list. We'll never sell or give away your info, and we'll only email you when it's important.

We also usually make smaller announcements on our social accounts, our Discord, and our blog, so be sure to subscribe to those if you're looking for more granular announcements.

Languages
PHP 87.1%
JavaScript 6.2%
Blade 6%
Less 0.5%
Shell 0.2%