Commit Graph

11297 Commits

Author SHA1 Message Date
Matthias 136d642703
Merge branch 'fix-boolean' of https://github.com/matmair/InvenTree into fix-boolean 2022-05-15 17:52:34 +02:00
Matthias 77aeecf23a
make operators simpler 2022-05-15 17:52:23 +02:00
Matthias ca0508f2f0
update to https to match hotspots 2022-05-15 17:22:58 +02:00
Matthias 2090a4d417
add in static label test 2022-05-15 17:14:03 +02:00
Matthias d3fb6570ad
readd static test 2022-05-15 17:12:28 +02:00
Matthias 6d34e5f5a0
Merge branch 'small-python-fixes-plugin' of https://github.com/matmair/InvenTree into not-working-tests 2022-05-15 17:06:36 +02:00
Matthias 076098a0e0
use static reference
this is stupid but is required
2022-05-15 16:50:17 +02:00
Oliver Walters 28b811d961 PEP style fixes 2022-05-16 00:47:00 +10:00
Matthias 0c0b2efbe0
raise error 2022-05-15 16:46:05 +02:00
Oliver Walters 097afed78e Adds metadata mixin class for adding JSON field to internal tables
- Add metadata field to stocklocation
- Add metadata field to stockitem
2022-05-16 00:45:16 +10:00
Oliver Walters 818be32e31 Move location plugin sample into its own directory 2022-05-16 00:35:34 +10:00
Matthias Mair 3b60b98594
Merge branch 'inventree:master' into fix-boolean 2022-05-15 16:28:51 +02:00
Oliver Walters 206da02328 Skip some git hash checks if running tests under docker 2022-05-16 00:21:05 +10:00
Oliver Walters eebdad154a PEP fixes 2022-05-16 00:12:33 +10:00
Oliver Walters 40513c556d Remove locate button from top-level stock location 2022-05-16 00:10:50 +10:00
Oliver Walters 95dbfa1958 Merge remote-tracking branch 'inventree/master' into locate-mixin
# Conflicts:
#	InvenTree/InvenTree/api.py
#	InvenTree/InvenTree/urls.py
#	InvenTree/plugin/base/integration/mixins.py
#	InvenTree/plugin/mixins/__init__.py
2022-05-16 00:10:38 +10:00
Oliver a26840d77f
Merge pull request #2971 from matmair/plugin-app-refactor
Plugin app refactor
2022-05-15 23:45:42 +10:00
Oliver Walters fa954b3812 Merge remote-tracking branch 'inventree/master' into locate-mixin
# Conflicts:
#	InvenTree/InvenTree/api_version.py
#	InvenTree/InvenTree/urls.py
2022-05-15 23:44:07 +10:00
Oliver Walters 55f87033b2 Add unit tests for .webp support 2022-05-15 23:36:41 +10:00
Oliver 9c1e266628
Merge pull request #2985 from matmair/dead-code-owner
remove duplicate code
2022-05-15 21:51:57 +10:00
Oliver db026c935b
Merge pull request #2990 from matmair/matmair/issue2989
Remove static label tests
2022-05-15 21:28:16 +10:00
Matthias Mair dcbd9d906b
Update errors 2022-05-15 04:47:45 +02:00
Matthias 897dd115f9
PEP fix 2022-05-15 04:14:13 +02:00
Matthias b0439267ea
fix error-type to use custom errors 2022-05-15 04:12:57 +02:00
Matthias 025c6f9b82
raise proper error 2022-05-15 04:08:45 +02:00
Matthias 7a102dcd8e
PEP fix 2022-05-15 03:22:43 +02:00
Matthias 976cbfbb8b
remove old definition 2022-05-15 03:20:11 +02:00
Matthias 5048d51558
Refactor printer into own base dir 2022-05-15 03:19:47 +02:00
Matthias 43b1d25016
PEP fix 2022-05-15 03:06:35 +02:00
Matthias 4fa23cbe4d
split up tests 2022-05-15 02:58:01 +02:00
Matthias 777e3f42df
fix test 2022-05-15 02:57:23 +02:00
Matthias 68940deb5b
rename test 2022-05-15 02:56:05 +02:00
Matthias e68cd009f6
fix input 2022-05-15 02:54:21 +02:00
Matthias b3f65735bf
fix test assertations 2022-05-15 02:53:12 +02:00
Matthias eb7e9f4703
test url args in action 2022-05-15 02:49:08 +02:00
Matthias 7abdffae0d
Add post test 2022-05-15 02:48:59 +02:00
Matthias 7c0dea69b0
add test for api_call with full url 2022-05-15 02:42:40 +02:00
Matthias 039dbbbe7e
fix doctest 2022-05-15 02:40:23 +02:00
Matthias 442341de50
split into more tests 2022-05-15 02:39:55 +02:00
Matthias 3e6b37bf55
Add test without simple_response 2022-05-15 02:35:06 +02:00
Matthias 8c6061d3b7
move failing test to seperate test 2022-05-15 02:32:26 +02:00
Matthias aeaf15b374
Test action error messages 2022-05-15 02:25:30 +02:00
Matthias 9609d8ae09
Add tests for PLUGIN_ON_STARTUP 2022-05-15 01:59:07 +02:00
Matthias abac26725b
use returns for checks 2022-05-15 01:47:44 +02:00
Matthias 640242eca3
Add tests for plugin installs form url with pkgn 2022-05-15 01:32:52 +02:00
Matthias 1cb51d1782
Do not cover custom install dirs 2022-05-15 01:29:50 +02:00
Matthias 76f92003fd
Fix assertation 2022-05-15 01:15:00 +02:00
Matthias 6660069f45
add docs 2022-05-15 01:10:46 +02:00
Matthias 39543555af
Add test for call_funciton 2022-05-15 01:10:23 +02:00
Matthias 43179bbfd5
remove coverage where it does not make sense 2022-05-15 01:07:50 +02:00
Matthias 38cb557baf
Add test for wrong key 2022-05-15 01:07:35 +02:00
Matthias 48d458698a
reduce lines 2022-05-15 01:06:56 +02:00
Matthias d3cc698500
merge tests together 2022-05-15 01:05:49 +02:00
Matthias 2ae5fcf6a8
PEP fix 2022-05-15 00:46:56 +02:00
Matthias 40fa86152e
Add test for wrong token 2022-05-15 00:44:26 +02:00
Matthias 75843c1789
Merge branch 'theme-tests' of https://github.com/matmair/InvenTree into not-working-tests 2022-05-15 00:25:53 +02:00
Matthias a1a1f4debe
PEP fix 2022-05-15 00:18:31 +02:00
Matthias f8d3aedb1d
Remove static label tests
Fixes #2989
2022-05-15 00:14:54 +02:00
Matthias 2483b746cf
remove static test 2022-05-15 00:08:46 +02:00
Matthias f3bf126415
maybe this ressource can be found in the cloud 2022-05-14 00:11:18 +02:00
Matthias Mair bf2b9d2beb
Update test_middleware.py 2022-05-13 19:37:09 +02:00
Matthias 53712c2d6c
PEP fix 2022-05-13 01:29:32 +02:00
Matthias 3712daca55
remove duplicate code
we are already checking this stuff from line 640
2022-05-13 01:27:40 +02:00
Matthias 80a2dad34e
remove dead code 2022-05-13 01:23:25 +02:00
Matthias 6b550e0547
Tests for token Auth 2022-05-13 01:23:12 +02:00
Matthias a7a80da928
Add unittests for auth stack
Fixes #2980
2022-05-13 01:22:51 +02:00
Matthias 47673c293e
Merge branch 'master' of https://github.com/inventree/InvenTree into plugin-app-refactor 2022-05-12 23:45:12 +02:00
Oliver c2dd8afea6
Merge pull request #2981 from SchrodingersGat/model-setting-reference
Add settings which reference *model instances* allowing better lookup of models
2022-05-12 17:59:56 +10:00
Oliver c4fa72e54c PEP style fixes 2022-05-12 17:30:52 +10:00
Oliver a81ea01e8e Model introspection
- Find the class registered to the model (or log an error)
- Pass the api_url through to the frontend
2022-05-12 17:28:55 +10:00
Oliver e112d555d4 Simplify the various settings objects, to improve retrieval of 'parameters' from the base class
- Remove the GenericReferencedSettingsClass mixin
- Each subclass defines a very simple get_kwargs() method
- Now, at object level *and* class level we can perform lookup of settings and actually get proper data back
- Adds "model" option to setting (precursor of things to come)
2022-05-12 16:45:27 +10:00
Oliver 59cf9825fe Update comment 2022-05-12 15:16:26 +10:00
Oliver 47ddafb728 Fix edge case when converting stock item to variant
- If the stock item had been created as part of a Build Order, and subsequently "converted" to a variant part, the conversion operation will fail
- Patch allows the build reference to be linked based on either the base part, or any conversion options
2022-05-12 15:15:51 +10:00
Oliver 8edc0cc893 PEP fixes 2022-05-12 12:47:25 +10:00
Oliver a83c3289b7 Merge remote-tracking branch 'inventree/master' into table-downloader 2022-05-12 12:44:26 +10:00
Oliver c89547f58c Adds exporter and download functionality for BuildOrder table 2022-05-12 12:44:15 +10:00
Oliver d0ddb47b1f Adds exporter and download button for sales orders 2022-05-12 11:44:05 +10:00
Oliver 1b1f7634b7 Adds exporter and download button for PurchaseOrder table 2022-05-12 11:41:25 +10:00
Oliver 465e69c254 Refactor exporters for:
- Part
- PurchaseOrderLineItem
2022-05-12 11:33:17 +10:00
Oliver a77d4b97b4 Refactor stock_list endpoint to use the new mixin 2022-05-12 11:29:33 +10:00
Oliver 650d082eca Bump API version 2022-05-12 11:23:58 +10:00
Oliver 774bfdb9e7 Adds APIDownloadMixin class to implement common behaviour 2022-05-12 11:22:34 +10:00
Oliver 151f2cae6f Do not redirect requests for media / static / api / js files
- For these paths, just return a 401
- This is necessary to stop unauthorized calls to the API or to request media files from redirecting to the login page
2022-05-12 10:45:30 +10:00
Matthias Mair af8bddf690
fix boolean comp 2022-05-12 02:30:37 +02:00
Matthias Mair 262409eba9
Merge branch 'inventree:master' into theme-tests 2022-05-12 01:51:23 +02:00
Matthias 4ed795174d
PEP fix 2022-05-12 00:52:28 +02:00
Matthias 3d580e732f
change test to slug 2022-05-12 00:51:02 +02:00
Matthias eaab905bfd
reset plugin name default 2022-05-12 00:50:29 +02:00
Matthias 142398976c
test plugin details 2022-05-12 00:38:21 +02:00
Matthias bd42fea5fa
another pep check 2022-05-12 00:07:19 +02:00
Matthias 699db12b24
make test more precise 2022-05-12 00:04:37 +02:00
Matthias a6e889b25e
pep fix 2022-05-12 00:04:29 +02:00
Matthias c809398bda
Add check for IntegrationPluginBase depreciation 2022-05-12 00:01:23 +02:00
Matthias da3b7ae7d0
fix assertation typ 2022-05-11 23:57:21 +02:00
Matthias c274228806
fix test 2022-05-11 23:46:41 +02:00
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 fdc6c8300a
Merge branch 'master' of https://github.com/inventree/InvenTree into plugin-app-refactor 2022-05-11 22:03:32 +02:00
Matthias 8366620c1d
add test for user creation 2022-05-11 22:02:41 +02:00
Matthias 86f663e834
this was only used for testing 2022-05-11 21:58:14 +02:00
Matthias 63fa527fa4
ignore for cover 2022-05-11 21:58:03 +02:00
Matthias 036b58ea04
update path in test 2022-05-11 21:52:49 +02:00
Matthias 993f6380db
pep fix 2022-05-11 17:53:28 +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 2a551e7ab9
Add test to replace removed coverage 2022-05-11 17:08:12 +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 f17ef4585c
fix wrong import 2022-05-11 16:18:32 +02:00
Oliver 2652c75bda
Merge pull request #2972 from SchrodingersGat/user-create-auto-fix
Do not try to create a new admin user if one already exists
2022-05-11 23:29:16 +10: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 ffe546d647
Merge branch 'master' of https://github.com/inventree/InvenTree into plugin-app-refactor 2022-05-11 13:52:36 +02:00
Oliver 362bc55479
Merge pull request #2966 from matmair/add-report-check
Add code128 template
2022-05-11 21:50:08 +10: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 6ec3ec19a2
move parts to conform to general style 2022-05-11 13:11:27 +02:00
Matthias 51cca7a13c
move apis to their respective bases 2022-05-11 13:10:29 +02:00
Oliver Walters f00c3639c0 PEP fxi 2022-05-11 21:04:36 +10:00
Oliver Walters e1609c50db Typo fix 2022-05-11 20:57:42 +10: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
Oliver Walters d7eab8e1a3 Improve log output 2022-05-11 20:48:26 +10:00
Oliver Walters 20fa72e36f Do not try to create a new admin user if one already exists with that name 2022-05-11 20:46:44 +10: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 87fa2d2067
pep fix 2022-05-11 12:28:15 +02:00
Matthias eae80f667d
remove all functional code from /plugins 2022-05-11 12:25:17 +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
Oliver 96ee235563
L10 crowdin (#2967)
* updated translation base

* 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

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-05-11 14:08:06 +10:00
Matthias 462713ca61
pep fix 2022-05-11 04:22:42 +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 fa8a726399
activate barcode tests 2022-05-11 04:08:26 +02:00
Matthias 9a69f125a9
move barcodes to plugin 2022-05-11 04:08:13 +02:00
Matthias 352e718e68
remove digikey barcode plugin 2022-05-11 04:03:30 +02:00
Matthias f620491517
add test for rendering label 2022-05-11 03:15:20 +02:00
Matthias a65d747501
add additional template 2022-05-11 03:05:40 +02:00
Matthias 67966eba13
Add code128 template 2022-05-10 23:56:02 +02:00
Oliver Walters 9658f47e93 PEP fix 2022-05-10 22:32:44 +10:00
Oliver Walters a6703df3c7 More fixes and unit tests 2022-05-10 22:10:56 +10:00
Oliver Walters 235954af18 Add unit test for invalid item 2022-05-10 22:08:23 +10:00
Oliver Walters 6766343f8f Update API version 2022-05-10 22:05:59 +10:00
Oliver Walters 5a978f07a5 Fix error response in barcode API 2022-05-10 22:05:08 +10:00
Oliver db018af0ce Prevent some model based events from triggering during data import 2022-05-10 13:43:16 +10:00
Oliver 5af4629163 Order test results by decreasing date for build order
- This means that "newer" results will be found first
- Thus a newer "true" will beat an older "false"
2022-05-10 11:54:51 +10:00
Oliver Walters a17ea3ac10 Change "identify" to "locate" for consistency with the app 2022-05-10 08:31:40 +10:00
Oliver Walters 26499816c1 javascript lint 2022-05-10 08:12:04 +10:00
Matthias 688cb7469c
fix usage of old html tags 2022-05-09 19:58:38 +02:00
Matthias Mair 1ae5df5759
Merge branch 'inventree:master' into theme-tests 2022-05-09 19:41:05 +02:00
Oliver Walters 5ea115ae83 hard code url 2022-05-10 01:18:36 +10:00
Oliver Walters 6c0661a6f2 PEP style fixes 2022-05-09 23:52:19 +10:00
Oliver Walters 35fbb910e8 Enable button for locating a StockLocation 2022-05-09 23:45:29 +10:00
Oliver Walters 224092e192 Fix typo 2022-05-09 23:44:58 +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 9b7c26ec9c Bump API version 2022-05-09 22:54:48 +10:00
Oliver Walters b7cd30b314 Merge remote-tracking branch 'inventree/master' into locate-mixin 2022-05-09 22:48:44 +10:00
Oliver Walters 4704db5183 Adds 'locate item' and 'locate location' buttons 2022-05-09 22:48:26 +10:00
Oliver Walters 256af802e2 Use the new 'mixin' filter to simplify request of label printer plugins 2022-05-09 22:35:46 +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 30d799dbc6 Fix permissions for global settings API 2022-05-09 21:43:12 +10:00
Oliver Walters db8396564c Further unit test fixes 2022-05-09 20:47:44 +10:00
Oliver Walters b0d2ece263 Unit test fixes 2022-05-09 20:11:02 +10:00
Oliver Walters 037e057c53 Adds global setting to enable or disable webcam support for barcode scanning 2022-05-09 19:46:11 +10:00
Oliver 77eb978c25
Merge pull request #2944 from SchrodingersGat/settings-by-key
Settings by key
2022-05-09 19:38:46 +10:00
Oliver Walters b3c1d6b603 Fix plugin registry function so tests pass 2022-05-09 07:59:01 +10:00
Oliver Walters 3db09156ed Check for empty column name in data importer
Ref: https://github.com/inventree/InvenTree/issues/2940
2022-05-09 07:53:10 +10:00
Matthias 061314e989
Merge branch 'master' of https://github.com/inventree/InvenTree into theme-tests 2022-05-08 22:55:56 +02:00
Oliver Walters aed02f6f0f PEP fixes 2022-05-08 22:53:49 +10:00
Oliver Walters e78a5dc104 Keep existing behaviour for notification settings (at least for now) 2022-05-08 22:52:08 +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 5cd2c20a11 PEP style fixes 2022-05-08 17:32:23 +10:00
Oliver Walters 6415a20e6e Update api_version.py 2022-05-08 13:33:28 +10:00
Oliver Walters 9e872d283b Update unit tests to match new format
- Add more unit tests for global settings
- Add more unit tests for user settings
2022-05-08 13:31:53 +10:00
Oliver Walters 5560706c33 User settings are now accessed via unique KEY 2022-05-08 10:58:31 +10:00
Oliver Walters dd017f36c7 Augment existing frontend code to allow adjustment of notification settings 2022-05-08 10:50:57 +10:00
Oliver Walters cd6a6b9196 Access global settings via the API using the <key> of the setting, rather than the <PK>
- Allows us to access settings even if they have not been 'created' yet
- Settings are created with default values if not found
2022-05-08 10:39:14 +10:00
Oliver 64e2234159
Merge pull request #2937 from SchrodingersGat/panel-plugin
[Feature] UI Plugins
2022-05-08 09:01:43 +10:00
Oliver Walters ada1eeeb35 Remove 'no cover' 2022-05-08 07:53:21 +10:00
Matthias df6d1a85da
fix assertation 2022-05-07 23:35:38 +02:00
Matthias 13854998ea
Add test for ColorTheme 2022-05-07 23:12:15 +02:00
Oliver Walters 50d8f242bb Fix for unit test 2022-05-07 23:50:41 +10:00
Oliver 52bae1feef
Translation updates (#2924)
* updated translation base

* 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

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-05-07 23:25:54 +10:00
Oliver Walters b2689b943e Specific call to super() was actually needed 2022-05-07 23:22:54 +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 60f799c90a Add plugin view support for most of the remaining views 2022-05-06 23:32:42 +10:00
Oliver Walters 243e3ff37d Fix calls to super() 2022-05-06 23:32:09 +10:00
Oliver Walters 12c58b14d6 Improvements for panel mixin sample 2022-05-06 23:19:47 +10:00
Oliver Walters 0797e9ebf0 Simplify the new template rendering
- No extra template code is required for any new page
- All loaded in base.html or page_base.html
- Oh, so clean!
2022-05-06 23:19:21 +10:00
Oliver Walters 71128a1c8e Refactor the plugin javascript template
- Can appear in "base.html"
- Only renders anything if there are actually plugins available for the page
2022-05-06 22:57:15 +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 Walters 170cb54490 Sort urls.py 2022-05-06 21:30:27 +10:00
Oliver Walters b80ff5e460 Tweak display of plugin badges 2022-05-06 21:03:30 +10:00
Oliver 9e1d8e52f3
Merge pull request #2805 from matmair/matmair/issue2385
Plugins for notifications
2022-05-06 20:00:56 +10:00
Oliver 1b7172b57e
Merge pull request #2936 from matmair/test_tags
Test more templatetags
2022-05-06 12:16:14 +10:00
Matthias 09ceada639
fix test assertation 2022-05-06 03:03:08 +02:00
Matthias 0d0b713f6e
Fix tests 2022-05-06 02:26:58 +02:00
Matthias 2261e7a615
PEP fix 2022-05-06 02:20:38 +02:00
Matthias 33e3385830
fix assertations 2022-05-06 02:17:53 +02:00
Matthias 20d552f809
extend tag tests 2022-05-06 02:13:25 +02:00
Matthias 0eff4a4526
can not be covered in testing 2022-05-06 02:07:59 +02:00
Matthias baf7e4505e
do not cover pacakge code - is not CI'd 2022-05-06 01:52:32 +02:00
Matthias 9a9a7e0ff4
also cover list API 2022-05-06 01:31:23 +02:00
Matthias a2331829c9
this can not happen with normal operation 2022-05-06 01:31:11 +02:00
Matthias d5c95f2225
only safety test - api is not callable as non-user 2022-05-06 01:29:16 +02:00
Matthias 8f220837d0
only log messages about notification methods 2022-05-06 01:25:22 +02:00
Oliver eb1aad71ea
Merge pull request #2935 from matmair/fix-anon-static
fix error with anon connections and language check
2022-05-06 09:16:57 +10:00
Matthias 2b1d4ba9c1
add test for plugin settings 2022-05-06 01:15:12 +02:00
Matthias 7f8d20da0f
test _str 2022-05-06 01:12:22 +02:00
Matthias 1a70829f5c
do not cover dev error catcher 2022-05-06 01:12:11 +02:00
Matthias a77382d0b5
sadd test for notification user settings 2022-05-06 01:04:00 +02:00
Matthias 50b17d6ae8
add mixin test 2022-05-06 01:03:11 +02:00
Matthias ccefaade92
Add args back in to serializer 2022-05-06 00:48:20 +02:00
Matthias 1676cb8eb8
fix error with anon connections and language check 2022-05-06 00:13:58 +02:00
Matthias 28b8e27698
Merge branch 'matmair/issue2385' of https://github.com/matmair/InvenTree into matmair/issue2385 2022-05-06 00:11:38 +02:00
Matthias fe4b264ae1
Fix user check 2022-05-06 00:11:26 +02:00
Matthias Mair a1016c746c
Merge branch 'inventree:master' into so_fix_clean 2022-05-05 11:27:44 +02:00
Matthias Mair 6bd997ffad
Merge branch 'inventree:master' into matmair/issue2385 2022-05-05 11:26:25 +02:00
Matthias 164a8acf33
make genericref simpler 2022-05-05 01:31:19 +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 b16305afef
add html for notification setting 2022-05-04 17:40:04 +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
Oliver 1dee578907
Merge pull request #2931 from SchrodingersGat/more-api-functionality
Converting more forms to the API
2022-05-04 23:24:28 +10:00
Matthias df9ca599a2
use full names consistently 2022-05-04 15:18:36 +02:00
Matthias Mair a6bede877a
Merge branch 'inventree:master' into matmair/issue2385 2022-05-04 15:11:56 +02:00
Oliver Walters 82541ede32 More unit tests
- BuildOrderCancel
- StockItemInstall
- StockItemUninstall
2022-05-04 22:49:21 +10:00
Matthias 055b9c9a46
remove duplicate endif 2022-05-04 13:57:35 +02:00
Oliver Walters 1c0fba0fca Add unit test for SalesOrderCancel API endpoint 2022-05-04 21:51:09 +10:00
Oliver Walters 7a5be35f10 Add unit tests for new purchase order API endpoints:
- PurchaseOrderCancel
- PurchaseOrderComplete
- PurchaseOrderIssue
2022-05-04 21:44:38 +10:00
Matthias 19d3b03280
fix double endif 2022-05-04 13:10:49 +02:00
Matthias 5435cd28c9
redirect to index if company was deleted 2022-05-04 12:39:56 +02:00
Matthias 00dffd953b
add messages if company was deleted 2022-05-04 12:39:12 +02:00
Matthias 1a3d482e42
Merge branch 'master' of https://github.com/inventree/InvenTree into matmair/issue2788 2022-05-04 12:33:21 +02:00
Matthias Mair cf93ba7cf9
Merge branch 'inventree:master' into matmair/issue2385 2022-05-04 12:23:05 +02:00
Oliver Walters 88dbd5aa74 PEP fixes 2022-05-04 18:46:07 +10:00
Oliver Walters 104f9d4a70 Remove outdated unit tests 2022-05-04 18:39:33 +10:00
Oliver Walters 17c84141b1 Javascript linting 2022-05-04 17:38:01 +10:00
Oliver Walters 7365f7b5cb Paint the icon red 2022-05-04 17:33:19 +10:00
Oliver Walters 1cefdfc2e4 PEP style fixes 2022-05-04 17:31:44 +10:00
Oliver Walters adbcd68fe8 Refactor "uninstall stock item" form to use the API 2022-05-04 17:25:24 +10:00
Oliver Walters 5cf30a850d Prune a lot of dead code 2022-05-04 17:01:19 +10:00
Oliver Walters bd3d6f47a1 Refactor CancelBuild form 2022-05-04 16:30:46 +10:00