Commit Graph

724 Commits

Author SHA1 Message Date
Matthias 8becad3c0a
reset zero behaviour 2022-05-11 23:45:45 +02:00
Matthias c462399fef
check if depreciation fires 2022-05-11 23:45:17 +02:00
Matthias 2c83728f71
also check message 2022-05-11 23:27:42 +02:00
Matthias f8e51c0873
fix test 2022-05-11 23:21:42 +02:00
Matthias 912d0625f0
PEP fix 2022-05-11 23:12:27 +02:00
Matthias 432a9b2e4d
add warning if plugin testing - is need to probe for 2022-05-11 23:12:21 +02:00
Matthias 4397f57acc
test that a save() action on a plugin is reloading 2022-05-11 23:11:54 +02:00
Matthias baca0dc268
do not cover error 2022-05-11 23:05:22 +02:00
Matthias 8a91fc362b
test plugin model more 2022-05-11 23:05:08 +02:00
Matthias da885456b7
tests for template 2022-05-11 22:47:41 +02:00
Matthias 50156466db
fix title asks 2022-05-11 17:51:23 +02:00
Matthias d794890264
fix assertations 2022-05-11 17:38:42 +02:00
Matthias 5cb4f0e73d
PEP fix 2022-05-11 16:57:23 +02:00
Matthias 272d2f79cc
patch mixin 2022-05-11 16:55:38 +02:00
Matthias 175066ba19
rename functions 2022-05-11 16:51:50 +02:00
Matthias 37f72e9652
remove integration naming from docs 2022-05-11 16:50:36 +02:00
Matthias 1782974df8
replace depreceated values everywhere 2022-05-11 16:46:03 +02:00
Matthias 81deb8201e
new references for Meta values in plugin
depreceate old values - add depreeation warning
2022-05-11 16:35:38 +02:00
Matthias 5de6cc0d11
remove double def 2022-05-11 14:58:29 +02:00
Matthias e8c9d71360
Adapt docs 2022-05-11 14:55:45 +02:00
Matthias b1b1db29b9
restructure 2022-05-11 14:54:11 +02:00
Matthias 9eadcce0eb
move mixins 2022-05-11 14:48:36 +02:00
Matthias 355695c679
make MixinBase betterfor init 2022-05-11 14:47:00 +02:00
Matthias f76dcdeb82
move properties to meta 2022-05-11 14:45:45 +02:00
Matthias dfb11cca1d
Add legacy 2022-05-11 14:40:00 +02:00
Matthias 1571b99ed2
rename IntegrationPluginBase to InvenTreePlugin 2022-05-11 14:28:26 +02:00
Matthias 01e8b5dce3
remove InvenTreePluginBase 2022-05-11 14:21:16 +02:00
Matthias 05839ca94c
remove legacy action 2022-05-11 14:20:05 +02:00
Matthias 19cfa540d9
add export definition 2022-05-11 14:06:11 +02:00
Matthias 538e5e6c21
rename shim 2022-05-11 14:03:24 +02:00
Matthias 1636459ccd
move to use shim 2022-05-11 14:02:45 +02:00
Matthias 066eaa119d
fix import 2022-05-11 14:01:29 +02:00
Matthias 3503ca4b4e
move import back too 2022-05-11 13:54:08 +02:00
Matthias 7361a9637a
move event back 2022-05-11 13:49:49 +02:00
Matthias 182ffd880a
init directories 2022-05-11 13:46:07 +02:00
Matthias dd5f53d2ef
PEP fix 2022-05-11 13:42:15 +02:00
Matthias 887609cf2a
move import 2022-05-11 13:38:24 +02:00
Matthias 1098327ba9
move out templete renderer into helper 2022-05-11 13:32:29 +02:00
Matthias 970503f424
refactor events 2022-05-11 13:28:59 +02:00
Matthias 5a139ec74b
make import simpler
the minimum version is 3.9
2022-05-11 13:19:24 +02:00
Matthias 9788419b0c
remove unneeded import 2022-05-11 13:13:34 +02:00
Matthias 51cca7a13c
move apis to their respective bases 2022-05-11 13:10:29 +02:00
Matthias 499f37a97a
PEP fix 2022-05-11 12:55:52 +02:00
Matthias 16a2328702
move tests to their functions 2022-05-11 12:55:04 +02:00
Matthias 934b795f9b
split tests to functions tests 2022-05-11 12:54:01 +02:00
Matthias 4ae5ed36a7
fix imports 2022-05-11 12:53:31 +02:00
Matthias 1da12fe5ff
add import comment 2022-05-11 12:45:40 +02:00
Matthias 18ad87433e
move plugin and integration together 2022-05-11 12:45:25 +02:00
Matthias 87ef2a3382
remove old code 2022-05-11 12:41:08 +02:00
Matthias 34467003ad
fix bacodeMixin base 2022-05-11 12:38:37 +02:00
Matthias 0d89959d49
move action 2022-05-11 12:38:14 +02:00
Matthias 308dd53c35
rename tests 2022-05-11 12:37:22 +02:00
Matthias b030c42480
move inegration mixins 2022-05-11 12:36:54 +02:00
Matthias b28f71374e
move barcodes 2022-05-11 12:35:42 +02:00
Matthias 3c9e4e7eab
make imports easier 2022-05-11 12:17:46 +02:00
Matthias f0d2730ae6
rename file to fit structure 2022-05-11 12:16:06 +02:00
Matthias b7087b83b5
Merge branch 'master' of https://github.com/inventree/InvenTree into add-report-check 2022-05-11 04:19:18 +02:00
Matthias 9a69f125a9
move barcodes to plugin 2022-05-11 04:08:13 +02:00
Oliver db018af0ce Prevent some model based events from triggering during data import 2022-05-10 13:43:16 +10:00
Matthias 688cb7469c
fix usage of old html tags 2022-05-09 19:58:38 +02:00
Oliver Walters 6c0661a6f2 PEP style fixes 2022-05-09 23:52:19 +10:00
Oliver Walters 57f3efe758 Adds an endpoint for calling the plugin code to "locate" something 2022-05-09 23:42:28 +10:00
Oliver Walters 4704db5183 Adds 'locate item' and 'locate location' buttons 2022-05-09 22:48:26 +10:00
Oliver Walters 26f32a0ce8 Plugin list API filters
- Filter by "active" status
- Filter by "mixin" support
2022-05-09 22:33:33 +10:00
Oliver Walters 6aeb7d723d Fix typo in mixin name 2022-05-09 22:25:09 +10:00
Oliver Walters 0a0a6a799a Fix for sample plugin 2022-05-09 22:20:00 +10:00
Oliver Walters 172705cc3b Adds sample plugin for locating items 2022-05-09 22:13:07 +10:00
Oliver Walters 59c747841c Adds plugin mixin to "locate" items 2022-05-09 22:01:27 +10:00
Oliver Walters b3c1d6b603 Fix plugin registry function so tests pass 2022-05-09 07:59:01 +10:00
Oliver Walters aed02f6f0f PEP fixes 2022-05-08 22:53:49 +10:00
Oliver Walters 3a9bacb27c Implement new approach for plugin settings
- URL specifies plugin slug and setting key
2022-05-08 22:48:47 +10:00
Oliver Walters f733e23b65 Update serializer for plugin settings API
- Use string key rather than pk for plugin
- Allow filtering by 'enabled' status of the plugin
- Allow filtering by the plugin key
2022-05-08 17:46:19 +10:00
Oliver Walters ada1eeeb35 Remove 'no cover' 2022-05-08 07:53:21 +10:00
Oliver Walters e57a3870c6 Fix build index template 2022-05-07 22:47:48 +10:00
Oliver Walters 06e79ee91b Move view mixin to plugin.views 2022-05-07 22:34:03 +10:00
Oliver Walters 9f15dd8e2a Custom panels can now be rendered from a template 2022-05-07 22:32:26 +10:00
Oliver Walters 103921f5c4 Rename plugin.loader to plugin.template
- Add helper function for rendering a template
2022-05-07 19:59:59 +10:00
Oliver Walters 44c4e88646 Add a configurable setting to the demo plugin 2022-05-07 02:17:20 +10:00
Oliver Walters 96f61dfcdb Add plugin description 2022-05-06 23:48:24 +10:00
Oliver Walters bcf6e41b48 Add some example docs 2022-05-06 23:43:54 +10:00
Oliver Walters 5ed0128435 PEP style fixes 2022-05-06 23:34:34 +10:00
Oliver Walters 12c58b14d6 Improvements for panel mixin sample 2022-05-06 23:19:47 +10:00
Oliver Walters c80b36fc2f Adds a new InvenTreePluginMixin mixin class for enabling custom plugin rendering on a page
- Any view which needs custom plugin code must implement this mixin
- Initially implement for the PartDetail page
2022-05-06 22:52:52 +10:00
Oliver Walters 7b8a10173d Adds a new "Panel" mixin which can render custom panels on given pages
- Adds item to sidebar menu
- Adds panel content
- Runs custom javascript when the page is loaded
2022-05-06 22:49:51 +10:00
Oliver Walters 28e16616e5 Adds a PanelMixin plugin mixin class
Intended to allow rendering of custom panels on pages
2022-05-06 21:32:11 +10:00
Oliver 9e1d8e52f3
Merge pull request #2805 from matmair/matmair/issue2385
Plugins for notifications
2022-05-06 20:00:56 +10:00
Matthias 0d0b713f6e
Fix tests 2022-05-06 02:26:58 +02:00
Matthias baf7e4505e
do not cover pacakge code - is not CI'd 2022-05-06 01:52:32 +02:00
Matthias 1a70829f5c
do not cover dev error catcher 2022-05-06 01:12:11 +02:00
Matthias 50b17d6ae8
add mixin test 2022-05-06 01:03:11 +02:00
Matthias 17127e914d
PEP fix 2022-05-04 17:44:27 +02:00
Matthias 05d1f9703e
Add nice repr for NotificationUserSetting 2022-05-04 17:42:45 +02:00
Matthias a27f8a427a
Merge branch 'matmair/issue2385' of https://github.com/matmair/InvenTree into matmair/issue2385 2022-05-04 17:40:47 +02:00
Matthias cf986e557c
make unloading safer 2022-05-04 17:40:44 +02:00
Matthias 0ff407348d
Add admin for NotificationUserSetting 2022-05-04 17:39:37 +02:00
Matthias 34855bbb37
add API endpoint for notifications 2022-05-04 17:38:50 +02:00
Matthias c684e7d5e0
Add generic serializer 2022-05-04 16:57:39 +02:00
Matthias Mair cf93ba7cf9
Merge branch 'inventree:master' into matmair/issue2385 2022-05-04 12:23:05 +02:00
Oliver b65a969433
Merge pull request #2928 from matmair/coverage-adaption
Increase coverage
2022-05-04 09:39:24 +10:00
Matthias 8038cff874
ignore for coverage 2022-05-04 00:43:49 +02:00
Matthias 6504ef535a
fix test - len needs to be recalculated 2022-05-03 23:23:36 +02:00
Matthias e1b395c9be
test is_active 2022-05-03 23:19:51 +02:00
Matthias cf0cbff69a
we are not covering packages right now 2022-05-03 23:19:01 +02:00
Matthias 5e277130fa
do not cover not implemented Mixin 2022-05-03 23:07:16 +02:00
Matthias c5acfaf541
do not coverage catch for load 2022-05-03 23:06:57 +02:00
Matthias e95c3e0948
do not cover default returns 2022-05-03 23:06:38 +02:00
Matthias 1522d330fa
add test for is_sample 2022-05-03 23:06:11 +02:00
Matthias 096c0c876c
PEP fix 2022-05-03 22:58:24 +02:00
Matthias d49f74746a
test that MixinImplementationErrors raise 2022-05-03 22:56:28 +02:00
Matthias 204b4fd527
rename test 2022-05-03 22:55:39 +02:00
Matthias 626e3838ae
also cover errors 2022-05-03 22:15:24 +02:00
Matthias a357c4ef88
also cover unregistering 2022-05-03 22:13:29 +02:00
Matthias 08e278232b
ignore db not ready in coverage 2022-05-03 22:12:34 +02:00
Matthias b9cbc287f2
empty mixin schaffold - no tests 2022-05-03 22:10:26 +02:00
Matthias 0a012c3c58
only possible in test cases with plugin_tests off 2022-05-03 22:09:58 +02:00
Matthias 4663815cfa
this is just an extra safety check - should not trigger 2022-05-03 22:09:20 +02:00
Matthias 4e5015e742
do not cover unready db 2022-05-03 22:08:57 +02:00
Matthias 58a5eac66a
ignore outside sample code in coverage 2022-05-03 22:06:10 +02:00
Matthias 7c437a3cf2
adjust testing function to also check return 2022-05-03 21:59:17 +02:00
Matthias 70b108d813
add check for call function 2022-05-03 21:56:58 +02:00
Matthias 5ea6a325ee
fix smaple code 2022-05-03 21:48:49 +02:00
Matthias 5fa7b45d1d
Add tests for scheduling
Closes #2523
2022-05-03 21:39:45 +02:00
Matthias 05d2d3664c
ignore defaults for coverage 2022-05-03 20:13:07 +02:00
Oliver Walters f1d8bf71b7 Use the tablename when generating automatic model events 2022-05-03 10:18:11 +10:00
Matthias Mair 4125803e6d
Merge branch 'inventree:master' into matmair/issue2385 2022-05-02 21:50:52 +02:00
Matthias e7a0cf7342
fix old url() usage 2022-05-01 22:04:37 +02:00
Matthias de6507e918
update translation commands 2022-05-01 22:03:49 +02:00
Matthias 67ab45bdee
update depreciated paths 2022-05-01 22:00:18 +02:00
Matthias Mair 37e74074dd
Merge branch 'inventree:master' into matmair/issue2385 2022-04-27 17:46:57 +02:00
Matthias 1603bf4e60
fix api call 2022-04-26 01:32:31 +02:00
Matthias Mair 2f0291864f
Merge branch 'inventree:master' into matmair/issue2385 2022-04-23 21:29:37 +02:00
Matthias 4c1a0ea9ce
mkae user setting access simpler 2022-04-06 23:58:11 +02:00
Matthias Mair 547c51b81b
pep fix 2022-04-06 01:47:11 +02:00
Matthias Mair b087422290
add import back in 2022-04-06 01:45:19 +02:00
Matthias Mair b53bf6de9c
pep fix 2022-04-06 01:42:24 +02:00
Matthias b4654a7c71
add tests for email notification 2022-04-06 01:22:52 +02:00
Matthias 5f4c8b3a3e
add icon support for user settings 2022-04-05 01:53:41 +02:00
Matthias 41ccacaa05
disable email by default 2022-04-05 00:56:13 +02:00
Matthias 01fcc728ad
PEP fixes 2022-04-05 00:34:30 +02:00
Matthias dc7b88515e
rename class to make it clearer 2022-04-05 00:27:13 +02:00
Matthias 2728bfab37
fix: add genericSettingClassMixin back in 2022-04-05 00:25:39 +02:00
Matthias d634afad48
move to common/models 2022-04-05 00:24:55 +02:00
Matthias 352ab34eda
remove struc docstring 2022-04-05 00:23:30 +02:00
Matthias 586812e5c6
add doc for generic mixin 2022-04-05 00:23:09 +02:00
Matthias 23f57bec19
some docs for future users :-) 2022-04-05 00:15:22 +02:00
Matthias 205916e0b2
refactor clean method to reduce duplication 2022-04-05 00:14:39 +02:00
Matthias 8d01df0b5e
refactor settings to reduce duplication 2022-04-05 00:08:07 +02:00
Matthias bdc62dfcc3
mark active sample code as a sample 2022-04-04 23:53:35 +02:00
Matthias 138aebdb08
and another one 2022-04-04 23:52:00 +02:00
Matthias e3ca478042
PEP fix 2022-04-04 23:51:51 +02:00
Matthias 1eb511e8a0
user notification settings 2022-04-04 23:46:19 +02:00
Matthias 926f56bb41
move plugins checks to method 2022-04-02 04:11:29 +02:00
Matthias 6a300ea24a
fix global settings check 2022-04-02 03:32:27 +02:00
Matthias 6124b1207d
make setting global 2022-04-02 03:16:14 +02:00
Matthias c7329da7e0
move settings 2022-04-02 03:03:41 +02:00
Matthias 279be87448
Move email notification method into plugin
Fixes #2385
2022-04-02 02:46:41 +02:00
Oliver Walters e18493a397 Supply label width and height to the label printing plugin 2022-03-26 13:43:48 +11:00
Oliver Walters 3e484317d2 Register notification against the plugin class, not the particular label 2022-03-25 23:49:15 +11:00
Oliver 6e30ec5603 PEP fix 2022-03-25 16:42:20 +11:00
Oliver 052d9770ce Override view permissions for plugin list API
- It is necessary for *any* logged in user to view this endpoint
- This is how the user determines which plugins are available (e.g. for label printing!)
2022-03-25 16:39:43 +11:00
Oliver 9046c74628 Only send printing failed as a UI notification 2022-03-25 16:05:35 +11:00
Oliver c1b408f8a3 Send notification if printing fails
If label printing fails (due to a plugin error) then the user is notified.
2022-03-25 15:57:32 +11:00
Oliver 5ee9af7f0e Remove old "get_filters" function
- It was confusing!
- Manually filter where required
2022-03-25 14:10:05 +11:00
Oliver fcdd1eb55b Remove old function call 2022-03-24 16:18:50 +11:00
Oliver efc6af5f4c PEP fixes 2022-03-24 16:18:08 +11:00
Oliver 6c25a5805d Allow offloading of label printing to the configured plugin 2022-03-24 14:57:01 +11:00
Oliver 86b5655c5f Simplify new plugin class 2022-03-24 13:15:57 +11:00
Oliver 4e041e97b9 Catch potential IntegrityError when importing plugins 2022-03-24 13:00:03 +11:00
Oliver 69e9d1625a Adds a LabelPrintingMixin plugin class
- Enables the implementation of custom label printing plugins
- Will be available directly from the "print labels" dialog box
2022-03-24 12:51:27 +11:00
Oliver c082cec3ee
Merge pull request #2748 from matmair/matmair/issue2524
Run plugin install on startup
2022-03-21 07:15:37 +11:00
Matthias eef51600c5
do not write to db 2022-03-20 18:10:42 +01:00
Matthias 494c4ed03d
only raise if integrity error 2022-03-18 23:58:17 +01:00
Matthias e53e428a32
remove unneeded print 2022-03-18 23:50:13 +01:00
Matthias Mair 0cd8aae250
raise blocker again 2022-03-18 07:50:02 +01:00
Matthias Mair a1791645fa
just raise 2022-03-18 02:19:32 +01:00
Matthias d32952fe23
add another debug message 2022-03-18 01:43:42 +01:00
Matthias a06844d7e9
add additional debug messges 2022-03-18 00:46:37 +01:00
Matthias 3606bd8fe4
add try to settings test 2022-03-16 17:03:04 +01:00
Matthias Mair 57df39086c
Merge branch 'inventree:master' into fix-set_user 2022-03-16 15:16:26 +01:00
Matthias Mair 91464ad3d0
Merge branch 'inventree:master' into matmair/issue2524 2022-03-16 15:15:27 +01:00
Matthias 8f10ef817c
add setting for reload 2022-03-16 14:47:27 +01:00
Matthias 51860a4e7b
run with u flag 2022-03-15 01:33:01 +01:00
Matthias 5f9a549918
docs 2022-03-15 01:27:14 +01:00
Matthias e398d64885
just use the setting 2022-03-15 01:25:52 +01:00
Matthias d9d2f39072
just run install 2022-03-15 01:24:58 +01:00
Matthias 38938e892b
[FR] [Plugin] Check if all plugins are really installed
Fixes #2524
2022-03-14 23:50:09 +01:00
Matthias ce9bbb4f2e
add plug back in 2022-03-13 22:36:07 +01:00
Matthias c5047e8779
remove new helper 2022-03-13 22:35:14 +01:00
Matthias 4e6c5f90f7
plug do_raise for enviroment var manipulating 2022-03-13 21:36:55 +01:00
Matthias 3b642695a8
PEP fix 2022-03-13 21:11:06 +01:00
Matthias 5f9f5555b6
ignore depreciated function in coverage 2022-03-13 21:01:16 +01:00
Matthias 080ee2ea50
remove dead code 2022-03-13 20:58:40 +01:00
Matthias b1a3445338
ignore coverage for points that only gets reached by deadly broken plugins 2022-03-13 20:57:25 +01:00
Matthias a3d0dcb5bb
only applicable in mulithread enviroments 2022-03-13 20:56:36 +01:00
Matthias aee8ca1c78
do not cover safety functions for wrongly conf swarms 2022-03-13 20:56:16 +01:00
Matthias f2aeab09ec
should never be reached 2022-03-13 20:55:25 +01:00
Matthias 08d2e74521
do not cover disabled / debugging plugins cases 2022-03-13 20:55:11 +01:00
Matthias e0e87efb8c
do not cover old import 2022-03-13 20:53:49 +01:00
Matthias ba263187a5
optimise coverage 2022-02-28 00:35:36 +01:00
Matthias f80f960923
translate error message 2022-02-28 00:34:28 +01:00