InvenTree/InvenTree
Lukas aa7eaaab3a
Machine integration (#4824)
* Added initial draft for machines

* refactor: isPluginRegistryLoaded check into own ready function

* Added suggestions from codereview

* Refactor: base_drivers -> machine_types

* Use new BaseInvenTreeSetting unique interface

* Fix Django not ready error

* Added get_machines function to driver

- get_machines function on driver
- get_machine function on driver
- initialized attribute on machine

* Added error handeling for driver and machine type

* Extended get_machines functionality

* Export everything from plugin module

* Fix spelling mistakes

* Better states handeling, BaseMachineType is now used instead of Machine Model

* Use uuid as pk

* WIP: machine termination hook

* Remove termination hook as this does not work with gunicorn

* Remove machine from registry after delete

* Added ClassProviderMixin

* Check for slug dupplication

* Added config_type to MachineSettings to define machine/driver settings

* Refactor helper mixins into own file in InvenTree app

* Fixed typing and added required_attributes for BaseDriver

* fix: generic status import

* Added first draft for machine states

* Added convention for status codes

* Added update_machine hook

* Removed unnecessary _key suffix from machine config model

* Initil draft for machine API

* Refactored BaseInvenTreeSetting all_items and allValues method

* Added required to InvenTreeBaseSetting and check_settings method

* check if all required machine settings are defined and refactor: use getattr

* Fix: comment

* Fix initialize error and python 3.9 compability

* Make machine states available through the global states api

* Added basic PUI machine admin implementation that is still in dev

* Added basic machine setting UI to PUI

* Added machine detail view to PUI admin center

* Fix merge issues

* Fix style issues

* Added machine type,machine driver,error stack tables

* Fix style in machine/serializers.py

* Added pui link from machine to machine type/driver drawer

* Removed only partially working django admin in favor of the PUI admin center implementation

* Added required field to settings item

* Added machine restart function

* Added restart requird badge to machine table/drawer

* Added driver init function

* handle error functions for machines and registry

* Added driver errors

* Added machine table to driver drawer

* Added back button to detail drawer component

* Fix auto formatable pre-commit

* fix: style

* Fix deepsource

* Removed slug field from table, added more links between drawers, remove detail drawer blur

* Added initial docs

* Removed description from driver/machine type select and fixed disabled driver select if no machine type is selected

* Added basic label printing implementation

* Remove translated column names because they are now retrieved from the api

* Added printer location setting

* Save last 10 used printer machine per user and sort them in the printing dialog

* Added BasePrintingOptionsSerializer for common options

* Fix not printing_options are not properly casted to its internal value

* Fix type

* Improved machine docs

* Fix docs

* Added UNKNOWN status code to label printer status

* Skip machine loading when running migrations

* Fix testing?

* Fix: tests?

* Fix: tests?

* Disable docs check precommit

* Disable docs check precommit

* First draft for tests

* fix test

* Add type ignore

* Added API tests

* Test ci?

* Add more tests

* Added more tests

* Bump api version

* Changed driver/base driver naming schema

* Added more tests

* Fix tests

* Added setting choice with kwargs and get_machines with initialized=None

* Refetch table after deleting machine

* Fix test

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2024-02-14 14:13:47 +00:00
..
build Fix string capitalization (#6460) 2024-02-10 08:41:14 +11:00
common Machine integration (#4824) 2024-02-14 14:13:47 +00:00
company [Plugin] Enhanced custom validation (#6410) 2024-02-06 22:00:22 +11:00
generic Machine integration (#4824) 2024-02-14 14:13:47 +00:00
InvenTree Machine integration (#4824) 2024-02-14 14:13:47 +00:00
label Machine integration (#4824) 2024-02-14 14:13:47 +00:00
locale New Crowdin updates (#6459) 2024-02-11 13:24:07 +11:00
machine Machine integration (#4824) 2024-02-14 14:13:47 +00:00
order [Plugin] Enhanced custom validation (#6410) 2024-02-06 22:00:22 +11:00
part Generate API docs (#6319) 2024-02-08 16:19:57 +11:00
plugin Machine integration (#4824) 2024-02-14 14:13:47 +00:00
plugins CI updates (#6167) 2024-01-11 00:16:13 +11:00
report Log plugin event errors (#6455) 2024-02-08 17:31:53 +11:00
script [CI] Enable python autoformat (#6169) 2024-01-11 11:28:58 +11:00
stock Log plugin event errors (#6455) 2024-02-08 17:31:53 +11:00
templates New Crowdin updates (#6459) 2024-02-11 13:24:07 +11:00
users Machine integration (#4824) 2024-02-14 14:13:47 +00:00
web [PUI] SSO Support (#6333) 2024-02-02 20:15:13 +11:00
config_template.yaml Update Proxy support for django 4.2 (#6453) 2024-02-08 14:44:58 +11:00
gunicorn.conf.py [CI] docstrings (#6172) 2024-01-11 14:40:07 +11:00
manage.py [FR] Add tracing support (#6211) 2024-01-18 17:50:05 +11:00