Commit Graph

9396 Commits

Author SHA1 Message Date
Matthias
c699ced34a
make general mixin tests multi mixin enabled 2022-01-09 22:16:19 +01:00
Oliver
936330d3d2 Add more triggered events 2022-01-09 23:07:12 +11:00
Oliver
e891e0a2b9 typo fix 2022-01-09 23:02:24 +11:00
Oliver
d765be8c73 Iterate through plugins in a separate background task 2022-01-09 22:58:59 +11:00
Oliver
3731d688c9 Refactor behaviour of "event" mixin:
- Trigger a new background task for each plugin
- Call plugin.process_event
- Plugin class can then decide what to do with the particular event
2022-01-09 22:52:28 +11:00
Oliver
6aa83796ea PEP fixes 2022-01-09 22:15:59 +11:00
Oliver
da9fa1313c Increased unit testing 2022-01-09 22:14:48 +11:00
Oliver
3e2e9aaf9e Mark serializer fields as not required 2022-01-09 20:10:00 +11:00
Matthias
ad9a9da656
PEP fix 2022-01-09 03:35:29 +01:00
Matthias
f9742ab41d
add integration test for plugin 2022-01-09 03:34:27 +01:00
Matthias
cc8948c708
fix sample url 2022-01-09 03:34:08 +01:00
Matthias
b48e9bcac9
fix settings call 2022-01-09 03:33:47 +01:00
Matthias
ea8fd21af0
pip fix 2022-01-09 03:10:23 +01:00
Matthias
ed193e9e90
docstring for plugin base import class 2022-01-09 03:04:00 +01:00
Matthias
61b21d1ec1
add sample for api caller 2022-01-09 03:03:05 +01:00
Matthias
19f2c44c2a
change mixin name 2022-01-09 03:02:19 +01:00
Matthias
33ee7e53db
append docstring 2022-01-09 03:01:50 +01:00
Matthias
d939107d36
add example 2022-01-09 03:01:31 +01:00
Oliver
af1bfb2f87 Merge remote-tracking branch 'inventree/master' into triggers 2022-01-09 08:15:47 +11:00
Matthias
3aea1bb7ba
made docstring clearer 2022-01-08 21:59:02 +01:00
Matthias
f59b59401f
refactor setting 2022-01-08 21:58:44 +01:00
Matthias
62394c4a82
small reformat 2022-01-08 21:54:42 +01:00
Matthias
3bc3e98ed1
Merge branch 'master' of https://github.com/inventree/InvenTree into api-mixin 2022-01-08 21:50:37 +01:00
Oliver
d8057e88e7 Fix messaging in build complete dialg 2022-01-09 07:50:08 +11:00
Oliver
ff7a75266b Fixes for stock location forms 2022-01-08 20:28:57 +11:00
Oliver
af18d16d98 Tweak admin area icon 2022-01-08 20:19:18 +11:00
Oliver
77decc72ed Extra bug fix for part variant form 2022-01-08 20:07:54 +11:00
Oliver
137a668452 Remove duplicated settings display 2022-01-08 13:29:13 +11:00
Oliver
9e2250e9b8 Bug fixes for settings 2022-01-08 13:19:16 +11:00
Oliver
04d25a60b0 Adds sample plugin which responds to triggered events
- Adds some example trigger events for the "Part" model
2022-01-08 09:07:27 +11:00
Oliver
a604d85f0f Move events.py to the plugin app 2022-01-07 22:35:54 +11:00
Oliver
63eb49777a Add mixin class to respond to internal events 2022-01-07 22:29:19 +11:00
Oliver
8ff3bf1ad1 Adds a new setting to enable event responses 2022-01-07 21:53:42 +11:00
Oliver
1e5ecb13f0 Add code for triggering and responding to events 2022-01-07 21:48:17 +11:00
Matthias
220bf0db3a
Merge branch 'master' of https://github.com/inventree/InvenTree into plugin-install 2022-01-07 08:57:04 +01:00
Oliver Walters
8efd45f0ad log warning message if db not ready 2022-01-07 18:00:38 +11:00
Oliver Walters
668e2bfcd5 Further error catching 2022-01-07 17:20:57 +11:00
Oliver Walters
103dfaa2a5 try/catch for operational error
- Database might not yet be ready to load models
2022-01-07 17:11:53 +11:00
Oliver Walters
c04e07c1fa Add a task which fails on purpose 2022-01-07 17:04:33 +11:00
Oliver Walters
36feef6558 Remove log message if not relevent 2022-01-07 16:53:51 +11:00
Oliver Walters
3eb1fa32f9 Scheduled tasks get registered for the background worker 2022-01-07 16:51:00 +11:00
Oliver Walters
ff598a22ff bug fix : correct setting name when changing a 'requires restart' setting 2022-01-07 16:20:16 +11:00
Oliver Walters
0ab9b2dbc7 Bug fix - always allow plugins to register settings 2022-01-07 15:42:20 +11:00
Oliver Walters
794a9e75e8 Add validation for scheduled tasks defined by a plugin 2022-01-07 15:37:43 +11:00
Oliver Walters
326b897d14 Revert "Move mixins.py into main plugin directory"
This reverts commit 8103b84268.
2022-01-07 14:54:12 +11:00
Oliver Walters
0773545615 Add "ScheduleMixin" for scheduling tasks 2022-01-07 14:54:04 +11:00
Oliver Walters
8103b84268 Move mixins.py into main plugin directory 2022-01-07 14:23:32 +11:00
Oliver
7967c0c0bd
Merge pull request #2492 from SchrodingersGat/plugin-settings-refactor
Plugin settings refactor
2022-01-07 14:12:22 +11:00
Oliver Walters
aaf35e6c76 Customize text if totalRows not known 2022-01-07 13:14:47 +11:00
Oliver Walters
2bb1c4ea77 Remove old forms / outdated code 2022-01-07 11:34:33 +11:00
Oliver Walters
12b3a5c9cc Validate and save the new serailizer 2022-01-07 11:33:27 +11:00
Matthias
0974ebb5cd
shield plugin package load 2022-01-07 01:10:44 +01:00
Matthias
edc648d619
write installd plugins to plugins.txt 2022-01-07 01:09:44 +01:00
Matthias
ceed90217b
restructuring 2022-01-07 01:03:05 +01:00
Oliver Walters
960784644f Adds skeleton for new API endpoint for completing a build order 2022-01-07 10:50:29 +11:00
Oliver
8597ae89b6
Merge pull request #2504 from SchrodingersGat/plugin-docker-support
Plugin Installation Support
2022-01-06 14:48:00 +11:00
Oliver
d8d22e5f38 Refactor code (so that it actually runs)...
- Invoke does not have access to the local virtual environment
- Some functions need to be split out from settings.py
2022-01-06 14:20:26 +11:00
Oliver
836b6275b6 Removes custom plugins directory
- rely on plugins.txt instead
2022-01-06 13:31:04 +11:00
Lennart Deters
6edfe08bde Dont localize item.quantity in JS Code 2022-01-06 03:05:29 +01:00
Oliver
75d5f9d6e6 Allow specification of an external plugin directory
- Specify directory using INVENTREE_PLUGIN_DIR
- Specify installation file using INVENTREE_PLUGIN_FILE
2022-01-06 12:39:01 +11:00
Oliver
5c2121b1a1 Add invoke target to install plugins from file 2022-01-06 12:25:07 +11:00
Oliver
e0e6dbac94 Add PLUGIN_FILE to settings.py 2022-01-06 12:15:33 +11:00
Oliver
ff80fe4dbf
Translation merge (#2499)
* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin
2022-01-05 15:14:03 +11:00
Oliver
963ac35a5b Tweaks for settings pages 2022-01-04 21:57:09 +11:00
Oliver
ac849c1566 Fixes for unit tests 2022-01-04 21:36:27 +11:00
Oliver
928b90a833 Edit plugin settings via the "settings" display 2022-01-04 21:03:01 +11:00
Oliver
dc9e25ebad Adds API endpoints for viewing and updating plugin settings
A lot of code updates / refactoring here to get this to work as expected
2022-01-04 20:27:35 +11:00
Oliver
f3bfe6e7ca More refactoring:
- Rename "mixins_globalsettings" to "mixing_settings"
- Fix translation on settings page template
2022-01-02 11:22:05 +11:00
Oliver
737467a1fd Rename "has_globalsettings" -> "has_settings" 2022-01-01 23:14:34 +11:00
Oliver
7cb029e7c3 Refactor: Rename "GLOBAL_SETTINGS" to "SETTINGS" 2022-01-01 22:43:35 +11:00
Oliver
7f08c75a08 Add missing migration file 2022-01-01 22:00:58 +11:00
Oliver
547db3322f Adds new "PluginSetting" class
- Adds settings which are unique to a particular plugin
2022-01-01 22:00:43 +11:00
Oliver
182849e160 Fix for settings template 2021-12-31 15:24:56 +11:00
Oliver
553b998c9c CSS fixes 2021-12-31 15:23:44 +11:00
Oliver
9b468ba92e Second fix for the first fix 2021-12-31 15:20:32 +11:00
Oliver
78120bb020 Fixes for unit tests 2021-12-31 14:54:19 +11:00
Oliver
4b4d4be13e Registry name fixes 2021-12-31 14:28:16 +11:00
Oliver
02e0ea6e3a Rename "GlobalSettingsPlugin" -> "SettingsPlugin" 2021-12-31 14:25:22 +11:00
Oliver
e02a2cef1b Fixes unit test 2021-12-31 14:18:27 +11:00
Oliver
572f4a21b3 capitalization 2021-12-30 23:13:33 +11:00
Oliver
76fe774b6e Visual tweaks 2021-12-30 23:11:12 +11:00
Oliver
f97ffaf9c3 Visual tweak to settings page 2021-12-30 23:08:33 +11:00
Oliver
be3bb05edd Improve docstrings 2021-12-30 23:06:28 +11:00
Oliver
04820c894b getattr should look for "SETTINGS" and not "GLOBALSETTINGS" 2021-12-30 23:04:08 +11:00
Oliver
67d9d9413f Plugin code bug fix
- handle case where self.plugin is None
2021-12-30 22:58:11 +11:00
Matthias Mair
d763959269
Merge branch 'inventree:master' into api-mixin 2021-12-29 23:54:33 +01:00
Matthias
95ee4f908f
Merge branch 'master' of https://github.com/inventree/InvenTree into sn-append 2021-12-29 23:45:19 +01:00
Matthias
f2c1fe1f95
damm vscode intellisense adding stuff I do not need 2021-12-29 16:16:20 +01:00
Matthias
ed09d5015a
better group handeling 2021-12-29 16:13:44 +01:00
Matthias
410c190ddf
more docs 2021-12-29 15:53:23 +01:00
Matthias
972f93f6d8
always return a number 2021-12-29 15:53:04 +01:00
Matthias
624b16a419
fix pep style 2021-12-29 15:51:44 +01:00
Matthias
1eb9b395bc
more complicated tests 2021-12-29 15:43:34 +01:00
Matthias
b1188be019
fix test assertations 2021-12-29 15:34:03 +01:00
Matthias
a745aa500e
replace must be str 2021-12-29 03:02:43 +01:00
Matthias
2ec41b02f8
append information about next serial numbe to fnc call
Fixes #2484
2021-12-29 03:01:52 +01:00
Matthias
1d0aa900e8
add helper fnc to get latest SN as int 2021-12-29 02:50:23 +01:00
Matthias
771f3d6b7b
add fnc for new matcher 2021-12-29 02:38:32 +01:00
Matthias
7ef0e7941e
expand tests
TDD for the win?
2021-12-29 02:24:57 +01:00
Matthias
750e3297cc
expand docstring 2021-12-29 02:24:13 +01:00