* Add basic model for handling generic attachments
* Refactor migration
* Data migration to convert old files across
* Admin updates
* Increase comment field max_length
* Adjust field name
* Remove legacy serializer classes / endpoints
* Expose new model to API
* Admin site list filters
* Remove legacy attachment models
- Add new mixin class to designate which models can have attachments
* Update data migration
- Ensure other apps are at the correct migration state beforehand
* Add migrations to remove legacy attachment tables
* Fix for "rename_attachment" callback
* Refactor model_type field
- ContentType does not allow easy API serialization
* Set allowed options for admin
* Update model verbose names
* Fix logic for file upload
* Add choices for serializer
* Add API filtering
* Fix for API filter
* Fix for attachment tables in PUI
- Still not solved permission issues
* Bump API version
* Record user when uploading attachment via API
* Refactor <AttachmentTable /> for PUI
* Display 'file_size' in PUI attachment table
* Fix company migrations
* Include permission informtion in roles API endpoint
* Read user permissions in PUI
* Simplify permission checks for <AttachmentTable />
* Automatically clean up old content types
* Cleanup PUI
* Fix typo in data migration
* Add reverse data migration
* Update unit tests
* Use InMemoryStorage for media files in test mode
* Data migration unit test
* Fix "model_type" field
- It is a required field after all
* Add permission check for serializer
* Fix permission check for CUI
* Fix PUI import
* Test python lib against specific branch
- Will be reverted once code is merged
* Revert STORAGES setting
- Might be worth looking into again
* Fix part unit test
* Fix unit test for sales order
* Use 'get_global_setting'
* Use 'get_global_setting'
* Update setting getter
* Unit tests
* Tweaks
* Revert change to settings.py
* More updates for get_global_setting
* Relax API query count requirement
* remove illegal chars and add unit tests
* Fix unit tests
* Fix frontend unit tests
* settings management updates
* Prevent db write under more conditions
* Simplify settings code
* Pop values before creating filters
* Prevent settings write under certain conditions
* Add debug msg
* Clear db on record import
* Refactor permissions checks
- Allows extension / customization of permission checks at a later date
* Unit test updates
* Prevent delete of attachment without correct permissions
* Adjust odcker.yaml
* Cleanup data migrations
* Tweak migration tests for build app
* Update data migration
- Handle case with missing data
* Prevent debug shell in TESTING mode
* Update migration dependencies
- Ensure all apps are "up to date" before removing legacy tables
* add file size test
* Update migration tests
* Revert some settings caching changes
* Fix incorrect logic in migration
* Update unit tests
* Prevent create on CURRENCY_CODES
- Seems to play havoc with bootup sequence
* Fix unit test
* Some refactoring
- Use get_global_setting
* Fix typo
* Revert change
* Add "tags" and "metadata"
* Include "tags" field in API serializer
* add "metadata" endpoint for attachments
* - move reqs file to contrib
- detect previously used python version
- safe extra requirements to INSTALLER_EXTRA
* add missing fi
* move site setting
* Copy requirements file
* Test more files when building docker image
* Refactor install task
* Raise exception
* Run install task
* Fix typos
- The tests work!
* use global pin for requests
* unify on yaml for workflo files
* format workflow files
* pin action versions
* fix pinned version
* use system venv
* switch args
* remove uv for now and add setting for pyyaml
* use requirements file
* also switch on docker flow
* generate hashes
* added hashes to reqs
* add hashes for CI too
* add hash checking
* require hashes everywhere possible
* require hashes where possible in docker
* use global pin for requests
* unify on yaml for workflo files
* format workflow files
* pin action versions
* fix pinned version
* use system venv
* switch args
* remove uv for now and add setting for pyyaml
* fix qc args
* bix doc paths
* add security commitment
* fix badge path
* set token permissions
see https://github.com/inventree/InvenTree/security/code-scanning/48
* add more chapters
* break up flow text
* spellchecking
* clean diff
* bump setup-python to node 20 version
* fix docker version too
* only run if in an inventree org repo
* only sign into docker hub if username set
* use repo name for ghcr name
* renmae to not cause confusion
* rename vars
* use seperate step
* disable a bunch of stuff for testing
* use echo instead
* Revert "disable a bunch of stuff for testing"
This reverts commit 0ab5ff6d6d.
* Adjust docker filter
- Run if settings.py changes
* Revert API version
* Adjust logic in settings.py
- Only exit if in main server thread
* Update qc_checks.yaml
* Add wildcard for CSRF_TRUSTED_ORIGINS in DEBUG mode
* Update wildcard
* Simplify settings.py logic
* Install grpcio faster
- Pin version
- Update build packages
* Test dockerfile before push
- SImply test if invoke is present
* Revert commit to docker-compose
* Remove VIRTUAL_ENV from Dockerfile
* Fix pip install
* Run extra checks on docker image
* Ensure mariadb links are installed:
- Closes https://github.com/inventree/InvenTree/issues/6625
* Adjust CI
build docker image manually
* Should fail
- Test that revert fails CI
* Ok, this should break it
* Fix Dockerfile
* push to ghcr (#168)
* Update docker.yaml
* Update docker.yaml
* Update docker.yaml
* use matrix to build for the plattforms (faster amd pub)
* try Buildjet
* switch to pyhton 3.9
* Update docker.yaml
* path python manually?
* bump python to 3.11
* Update Dockerfile
* step down vm
* cleanup workflow
* install docker on mac
* and docker compose too
* switch back to linux
* Docker tests (#175)
* push to ghcr (#168)
* Update docker.yaml
* Update docker.yaml
* Update docker.yaml
* use matrix to build for the plattforms (faster amd pub)
* try Buildjet
* switch to pyhton 3.9
* Update docker.yaml
* path python manually?
* bump python to 3.11
* Update Dockerfile
* step down vm
* cleanup workflow
* install docker on mac
* and docker compose too
* switch back to linux
* switch to uv
* fix uv install
* reintroduce checks
* cleanup diff
* Make base image configurable
* Refactor dockerfile
- Place extra packages into extra shell script
- Add pre-build stage where packages are installed, and then cache removed
- Run same script in dev target, but do not remove
* Run docker workflow whenever package requirements change
* Replace devcontainer dockerfile
* Install base packages in devcontainer
* --no-cache-dir
* Update docker image - base python version
- Also, build docker image on PR if any docker-related files have changed
* Update setuptools
* Update base level packages for docker image
* Reduce version
* Include docker workflow in filter
* Revert to python 3.10
* Remove call to upgrade setuptools
* Try newer version of setuptools
* Remove reliance on "minimal"
* Fix package URL
* Whoops. Fix typo
* Disable migration testing
- Compare how long the unit tests take
* Change file
- To get unit tests to run
* Fix format
* Consolidate tasks.py
- Remove coverage task
- Add --coverage flag to test task
* Fix typo
* Run migration unit tests if migration files are updated
* Fix
* Touch migration file
- Should cause migration unit tests to be run
* Force migration checks for docker build
* Prevent default report creation in unit tests
- Should save some time
* Add simple profiling for plugin loading
- Display time taken to load each plugin
* Fix to invoke test
* Disable get_git_log (for testing)
* Disable get_git_path in CI
- Might remove this entirely?
- For now, bypass for unit testing
* Add debug for unit registry
- Display time taken to load registry
* Don't full-reload unit registry
* Adjust migration test workflow
- env var updates
- change paths-filter output
* Fix for migration_test.yaml
- Actually need to set the output
* env fix
* db name
* Prevent sleep if in test mode
* Reduce sleep time on wait_for_db
* Test fix for ongoing CI issues
(cherry picked from commit 3bf5492cb6)
* Run docker test on PR (temporarily)
* Add token to unit testing env
* Add github token to env file
* Fix for github token
* Ignore blank tokens
* Don't run on PR
* Import setuptools in manage.py
Ref: https://github.com/pypa/setuptools/issues/3706
* Import all the things
* Show setuptools version
* Update setuptools to latest verseion
* Force upgrade of setuptools version
* Remove debug
* Prevent docker builds on PR
* Remove setuptools imports
* Append correct python path if not present (only during testing)
* Add a bunch more debug info
* Display docker compose version
* More unit test fixes
* More debug info
* Ensure correct python path is included for docker build (only for testing)
* Remove debug statements
* Don't run docker workflow on PR