Commit Graph

11332 Commits

Author SHA1 Message Date
Oliver Walters
263ac01727 Typo fix 2022-05-17 00:35:59 +10:00
Oliver Walters
6512c0061e Catch a 500 and make it a 400
While we are at it, convert __all__ to non_field_errors automatically
2022-05-17 00:35:24 +10:00
Oliver Walters
ae50546ca6 Display API error information if available 2022-05-17 00:25:32 +10:00
Oliver Walters
1488a0e72f Adds a custom exception handler for DRF
- Handles common exceptions not captured by DRF
- Returns exeption data as a JSON object
2022-05-17 00:18:47 +10:00
Oliver
86c86bf446
Merge pull request #3006 from SchrodingersGat/bom-delete-fix
BOM delete fix
2022-05-16 23:30:22 +10:00
Oliver
31667020ae
Merge pull request #3004 from SchrodingersGat/events-fix
Add required imports to plugin.events
2022-05-16 23:05:45 +10:00
Oliver
ea2fb76a29
Translation merge (#3009)
* 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

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-05-16 23:04:58 +10:00
Oliver
042cb021de
Merge pull request #2957 from SchrodingersGat/locate-mixin
Adds plugin mixin to "locate" items
2022-05-16 22:57:20 +10:00
Oliver Walters
6658b89946 Refactor BOM item deletion
- Send delete requests sequentially, rather than simultaneously
- Prevents server overload
- Present a much cleaner dialog to the user
2022-05-16 22:51:34 +10:00
Oliver Walters
1903ac12cd Allow customization of button class in modal forms 2022-05-16 22:43:29 +10:00
Oliver Walters
7fa83d70ad Fix for broken unit test 2022-05-16 22:14:06 +10:00
Oliver Walters
2ed69f638a Fix error message 2022-05-16 22:08:58 +10:00
Oliver Walters
73413baa59 Add required imports to plugin.events 2022-05-16 22:01:34 +10:00
Oliver Walters
bd17458f37 Add metadata endpoints for SalesOrder and PurchaseOrder models 2022-05-16 21:40:10 +10:00
Oliver Walters
5582c8ba43 Add metadata endpoints for SalesOrder and PurchaseOrder models 2022-05-16 21:29:49 +10:00
Oliver Walters
21ebf562fd Adds metadata fields to PurchaseOrder and SalesOrder models 2022-05-16 21:21:32 +10:00
Oliver Walters
a52ba05eb7 Add unit test for PartCategory API endpoints 2022-05-16 21:19:01 +10:00
Oliver Walters
37a74dbfef Adds a metadata serializer class for accessing instance metadata via the API
- Adds endpoint for Part
- Adds endpoint for PartCategory
- Adds endpoint for StockItem
- Adds endpoint for StockLocation
2022-05-16 20:59:09 +10:00
Oliver Walters
cd68d5a80e Add metadata mixin to Part and PartCategory models 2022-05-16 19:14:46 +10:00
Oliver
8052d78311
Merge pull request #3002 from SchrodingersGat/order-form-fix
Fix "fields" attribute for PurchaseOrderLineItem edit form
2022-05-16 09:29:03 +10:00
Oliver
3614e09211 Fix "fields" attribute for PurchaseOrderLineItem edit form
- The 'order' field was not being included
2022-05-16 09:25:20 +10:00
Oliver
57d481a8b8
Merge pull request #2999 from matmair/fix-todos
Fix Todo texts
2022-05-16 09:16:34 +10:00
Matthias
74a3abc4a2
make args wider 2022-05-15 23:26:46 +02:00
Oliver
c3433128b5
Merge pull request #2975 from matmair/fix-boolean
Fix boolean comparator
2022-05-16 07:22:55 +10:00
Matthias
ecccfbd546
Remove encoding header
Fixes #2996
2022-05-15 20:33:00 +02:00
Matthias
9c342e1fe3
fix definition 2022-05-15 20:06:07 +02:00
Matthias
a8d3ee15bf
fix func definition 2022-05-15 20:05:56 +02:00
Matthias
cced30c081
pass through request data 2022-05-15 18:41:39 +02:00
Matthias
23608e6933
remove unneeded args 2022-05-15 18:36:33 +02:00
Matthias
d9fe7ac272
general Todo - no specific task
removed therefore
2022-05-15 18:09:39 +02:00
Matthias
f4fbd57e6e
errors fail whole plugins now so no saving 2022-05-15 18:09:05 +02:00
Matthias
45d70737bd
we do not have server stats checks so this does not make sende 2022-05-15 18:08:42 +02:00
Matthias
9e590c1bc6
this seems fine - just keep it that way 2022-05-15 18:06:32 +02:00
Matthias
c7a2d11893
refactor to make simpler 2022-05-15 18:02:12 +02:00
Matthias
8b9c80d2a4
remove todo that is not fitting any more 2022-05-15 17:55:05 +02:00
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