Commit Graph

36 Commits

Author SHA1 Message Date
Oliver 39e682cd45
Correctly extract error information if plugin install fails (#5638) 2023-10-01 14:29:08 +11:00
Oliver 45ec7b9728
Enable and disable plugins via the API (#4964)
* Cleanup plugin settings page

- Template adjustments

* Activate plugin directly via API

* Update plugin activate endpoint

- Allow plugin to be deactivated also
- Default value = True if not provided

* Update front-end / js

- Allow same JS method to either enable or disable a plugin

* Hide info for plugins which are not active

* remove duplicated column

* Tweak serializer docstring

* Fix typo

* Add extra data to plugin serializer

- is_builtin
- is_sample

* Some backend cleanup

- Don't stringify null values
- Don't replace None with "Unavailable"

* front-end table for rendering plugins

* Change default sorting

- Show active plugins first

* Fix button callback

* Remove old template

* JS linting

* More linting
2023-06-05 12:19:56 +10:00
Matthias Mair 21ed4b2081
Fix common spelling mistakes (#4956)
* add codespell

* first fixes

* doc fixes

* fix docstrings and comments

* functional changes

* docstrings again

* and docs again

* rename args

* add ignore

* use pre-commit for filtering instead

* ups

* fix typo in filter
2023-06-04 00:04:52 +10:00
Matthias Mair 08c4aa4998
Make sure plugins are always on a new line (#4721)
* "Install Plugin" via GUI fails to add plugin to plugins.txt correctly for first plugin
Fixes #4719

* remove old change as it was not the root issue

* make sure plugins are always written on a new line
2023-05-01 23:26:23 +10:00
Matthias Mair 5037e427b6
Auto migrating (#3741)
* base structure for updates

* add base structure

* add settingscheck

* update docstring

* only load plugins if needed

* fix misstyping

* run migration

* check if there are open migrations

* log open migration

* add more logging

* patch in fore reloading on unload

* only run if database is ready

* check every 5 minutes

* remove non implemented feautres  from desc

* add command flag to makr if cmmand runs as worker

* Add tests for migrations

* factor mmigration plan into own function

* Add print statements

* add initial migrations for tests

* remove last assertation

* cleanup migrations after run

* add flag to accept empty source code files

* the flag is enough for reporting

* fix test

* do not run migrations on sqlite3

* make sure migrations don't fail if no plan ran

* increase coverage for  migration

* spell fix

* check for migrations daily

* add a migration check after plugins are installed
2023-02-25 16:52:16 +11:00
Oliver cc2e7ee8a5
Move Meta class to top of class definition (#4363) 2023-02-18 18:51:00 +11:00
Matthias Mair 8df5649b6f
[FR] Add API endpoint to activate plugins (#4186)
* make plugin urls def cleaner

* rename plugin managment endpoints

* [FR] Add API endpoint to activate plugins
Fixes #4182

* fix for api url change

* bump API version
2023-01-26 07:05:09 +11: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
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 ca96654622.

* use typing here

* Revert "Make API code cleaner"

This reverts commit 24fb68bd3e.

* 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 e1d22f538d resort imports 2022-05-20 17:24:51 +02:00
Oliver c51f052f25
Merge pull request #3011 from matmair/matmair/issue2996
Remove python 2 code
2022-05-17 00:51:31 +10:00
Oliver Walters bd17458f37 Add metadata endpoints for SalesOrder and PurchaseOrder models 2022-05-16 21:40:10 +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
Matthias ecccfbd546
Remove encoding header
Fixes #2996
2022-05-15 20:33:00 +02:00
Matthias 1cb51d1782
Do not cover custom install dirs 2022-05-15 01:29:50 +02: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
Matthias 34855bbb37
add API endpoint for notifications 2022-05-04 17:38:50 +02:00
Matthias c684e7d5e0
Add generic serializer 2022-05-04 16:57:39 +02:00
Matthias de6507e918
update translation commands 2022-05-01 22:03:49 +02:00
Matthias e398d64885
just use the setting 2022-03-15 01:25:52 +01:00
Matthias f765f0f083
should not be reached 2022-02-13 23:52:50 +01:00
Matthias 220bf0db3a
Merge branch 'master' of https://github.com/inventree/InvenTree into plugin-install 2022-01-07 08:57:04 +01:00
Matthias edc648d619
write installd plugins to plugins.txt 2022-01-07 01:09:44 +01:00
Matthias ceed90217b
restructuring 2022-01-07 01:03:05 +01:00
Oliver ac849c1566 Fixes for unit tests 2022-01-04 21:36:27 +11:00
Oliver dc9e25ebad Adds API endpoints for viewing and updating plugin settings
A lot of code updates / refactoring here to get this to work as expected
2022-01-04 20:27:35 +11:00
Matthias 046ee7df06
add api test 2021-11-21 01:57:46 +01:00
Matthias 8cab974893
send command as string 2021-11-18 16:38:31 +01:00
Matthias a617b8b158
fix spelling 2021-11-18 16:26:07 +01:00
Matthias 0ece82c812
add labels / helptexts to serializer 2021-11-18 16:25:49 +01:00
Matthias efa2ad542d
add refactor 2021-11-18 16:19:46 +01:00
Matthias 3af426bdd7
allow empty values -> submition from form 2021-11-18 16:17:47 +01:00
Matthias 392b7a4683
fix vcs check 2021-11-18 01:30:31 +01:00
Matthias a9fbfaf6af
add installer endpoint 2021-11-18 01:24:14 +01:00
Matthias 530227e15f
add mixins to API 2021-11-17 23:35:56 +01:00
Matthias b0142de421
adding API endpoints for plugins 2021-11-17 23:16:05 +01:00