2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-04-29 12:06:44 +00:00

117 Commits

Author SHA1 Message Date
Matthias Mair
188ddc3be3
Improve plugin testing (#3517)
* refactor entrypoint into helpers

* Add lookup by metadata
This is geared towards plugins packaged in pkgs that differ in name from their top module

* Make module lookup predictable in changing pkg-envs

* remove no coverage from plugin packages

* ignore coverage for production loadin

* refactor plugin collection - move assigment out

* do not cover fs errors

* test custom dir loading

* test module meta fetcher

* add a bit more safety

* do not cover sanity checkers

* add folder loading test

* ignore again for cleaner diffs for now

* ignore safety catch

* rename test

* Add test for package installs

* fix docstring name

* depreciate test for now

* Fix for out of BASE_DIR paths

* ignore catch

* remove unneeded complexity

* add testing for outside folders

* more docstrings and simpler methods

* make call simpler
2022-08-16 13:09:48 +10:00
Matthias Mair
1010a6296f
Plugin meta detection improvements (#3516)
* refactor entrypoint into helpers

* Add lookup by metadata
This is geared towards plugins packaged in pkgs that differ in name from their top module

* Make module lookup predictable in changing pkg-envs
2022-08-11 12:02:06 +10:00
Oliver
e9b0f02ecd
Update demo data hook to copy media files (#3441)
* Simplify settings.py / config.py

- get_setting function has been streamlined
- move some functions into config.py

* Spelling fix: IGNORRED is IGNORED

* Ensure yaml is installed as part of docker image

- invoke path is still mucking us around

* Fix broken migration

* Copy media files from demo dataset when installing test data

* Cleanup settings.py

* Fix for configuration file traversal

* Line fix

* Update quickstart guide for docker

* Allow plugin file and plugin dir to be specified in configuration file

* Cleanup config template file

* Allow secret_key information to be provided in configuration file

* Adjust root paths for CI tests

* resolve paths

* Revert paths for CI step

* remove dead code

* Revert configuration variables to old names

- Prevent breaking changes

* Simplify secret key generation

* Fix default timeout for background worker process

* Revert change for customization options
2022-07-31 23:16:58 +10:00
Oliver
8f9981a3b6
Convert PosixPath to string for plugin loading (#3423) 2022-07-27 21:59:23 +10:00
Matthias Mair
794e375009
Switch to pathlib (#3392)
* switch to pathlib

* more pathlib

* useconvert env to path

* fix typo

* use resolve instead of absolute

* fix gitppod

* also allow parents

* replace more os operations

* fix string replacement feature

* make sure root dirs exsist

* fix replace function

* refactor duplicate code

* reduce code

* make sure dirs exist

* fix typo

* also create parent dirs

* fix match statement

* fix statments expecting string

* return getMigrationFileNames to old behaviour

* fully resolve config file

* make sure comparison works

* use pathlib in tasks

* fix file count test

* reduce code duplication in test + add test for part

* fix test

* re-add os

* Make pathlib usage simpler
2022-07-27 10:42:34 +10:00
Oliver
7cabb78964
Docker compose relative path (#3410)
* Update development docker-compose file

- Remove external volume definition
- v2 does not allow relative path spec here
- Simplification is only required for dev version

* Remove old debug messages

* Update docker build CI step

- Check that required directories / files have been created in the correct location(s)

* Add check for pgdb directory

* Run partial docker check on pull_request

* Disable workflow running on pull requests
2022-07-27 07:50:54 +10:00
Oliver
b98ae25583
Allow plugin loading from external directory (#3364)
* Load custom plugin directories

* Allow plugins to be loaded from an external directory

* Handle exception when path is not relative to base path

* Fix typo

* Use pathlib

* Move plugin directory code into registry.py

- Allows us to reload plugins without having to reload the server itself

Co-authored-by: Matthias Mair <code@mjmair.com>
2022-07-26 14:35:01 +10:00
Matthias Mair
7493c8c6cb
Use metadata in projects for plugin info (#3282)
* Use metadata in projects for plugin info

* use metadata as backup
2022-07-09 17:06:50 +10:00
Oliver
5ecba6b13c
Add error handling for case where user does not have git installed (#3179) 2022-06-11 23:11:50 +10:00
Matthias Mair
f38386b13c
Add more checks to pre-commit (#3132)
* Add bandit to pre-commit checks

* fix catchall exceptions

* remove unused definitons

* remove unuseed ariables

* Add docstring

* fix B006, B008 errors

* fix B007 error

* ignore B009

* Add checks for formatting and naming
2022-06-06 08:56:52 +10:00
Matthias Mair
0c97a50e47
Docstring checks in QC checks (#3089)
* Add pre-commit to the stack

* exclude static

* Add locales to excludes

* fix style errors

* rename pipeline steps

* also wait on precommit

* make template matching simpler

* Use the same code for python setup everywhere

* use step and cache for python setup

* move regular settings up into general envs

* just use full update

* Use invoke instead of static references

* make setup actions more similar

* use python3

* refactor names to be similar

* fix runner version

* fix references

* remove incidential change

* use matrix for os

* Github can't do this right now

* ignore docstyle errors

* Add seperate docstring test

* update flake call

* do not fail on docstring

* refactor setup into workflow

* update reference

* switch to action

* resturcture

* add bash statements

* remove os from cache

* update input checks

* make code cleaner

* fix boolean

* no relative paths

* install wheel by python

* switch to install

* revert back to simple wheel

* refactor import export tests

* move setup keys back to not disturbe tests

* remove docstyle till that is fixed

* update references

* continue on error

* add docstring test

* use relativ action references

* Change step / job docstrings

* update to merge

* reformat comments 1

* fix docstrings 2

* fix docstrings 3

* fix docstrings 4

* fix docstrings 5

* fix docstrings 6

* fix docstrings 7

* fix docstrings 8

* fix docstirns 9

* fix docstrings 10

* docstring adjustments

* update the remaining docstrings

* small docstring changes

* fix function name

* update support files for docstrings

* Add missing args to docstrings

* Remove outdated function

* Add docstrings for the 'build' app

* Make API code cleaner

* add more docstrings for plugin app

* Remove dead code for plugin settings
No idea what that was even intended for

* ignore __init__ files for docstrings

* More docstrings

* Update docstrings for the 'part' directory

* Fixes for related_part functionality

* Fix removed stuff from merge 99676ee

* make more consistent

* Show statistics for docstrings

* add more docstrings

* move specific register statements to make them clearer to understant

* More docstrings for common

* and more docstrings

* and more

* simpler call

* docstrings for notifications

* docstrings for common/tests

* Add docs for common/models

* Revert "move specific register statements to make them clearer to understant"

This reverts commit ca9665462202c2d63f34b4fd920013b1457bbb6d.

* use typing here

* Revert "Make API code cleaner"

This reverts commit 24fb68bd3e1ccfea2ee398c9e18afb01eb340fee.

* docstring updates for the 'users' app

* Add generic Meta info to simple Meta classes

* remove unneeded unique_together statements

* More simple metas

* Remove unnecessary format specifier

* Remove extra json format specifiers

* Add docstrings for the 'plugin' app

* Docstrings for the 'label' app

* Add missing docstrings for the 'report' app

* Fix build test regression

* Fix top-level files

* docstrings for InvenTree/InvenTree

* reduce unneeded code

* add docstrings

* and more docstrings

* more docstrings

* more docstrings for stock

* more docstrings

* docstrings for order/views

* Docstrings for various files in the 'order' app

* Docstrings for order/test_api.py

* Docstrings for order/serializers.py

* Docstrings for order/admin.py

* More docstrings for the order app

* Add docstrings for the 'company' app

* Add unit tests for rebuilding the reference fields

* Prune out some more dead code

* remove more dead code

Co-authored-by: Oliver Walters <oliver.henry.walters@gmail.com>
2022-06-02 01:37:39 +10:00
Matthias Mair
9a2300d920
Add option to also reload plugin mechanisms (#3081) 2022-05-29 08:25:40 +10:00
Matthias Mair
e1d22f538d resort imports 2022-05-20 17:24:51 +02:00
Oliver
80e3d0970a Adds unit tests for the samplepanel plugin 2022-05-19 11:28:18 +10:00
Oliver
11b21a9cca Allow registry.with_mixin to filter by active status 2022-05-19 11:00:31 +10: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
abac26725b
use returns for checks 2022-05-15 01:47:44 +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
1571b99ed2
rename IntegrationPluginBase to InvenTreePlugin 2022-05-11 14:28:26 +02:00
Matthias
5a139ec74b
make import simpler
the minimum version is 3.9
2022-05-11 13:19:24 +02:00
Matthias
4ae5ed36a7
fix imports 2022-05-11 12:53:31 +02: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
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
9e1d8e52f3
Merge pull request #2805 from matmair/matmair/issue2385
Plugins for notifications
2022-05-06 20:00:56 +10: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
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
8038cff874
ignore for coverage 2022-05-04 00:43:49 +02:00
Matthias
e7a0cf7342
fix old url() usage 2022-05-01 22:04:37 +02:00
Oliver
4e041e97b9 Catch potential IntegrityError when importing plugins 2022-03-24 13:00:03 +11:00
Matthias Mair
91464ad3d0
Merge branch 'inventree:master' into matmair/issue2524 2022-03-16 15:15:27 +01:00
Matthias
51860a4e7b
run with u flag 2022-03-15 01:33:01 +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
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
bae290d605
check git version and safe for runtime 2022-02-28 00:17:21 +01:00
Matthias
ad41957127
database not ready events are hard to reproduce consistently 2022-02-13 17:39:17 +01:00