mirror of
https://github.com/inventree/inventree-docs.git
synced 2025-10-10 02:42:18 +00:00
.github
_includes
ci
docs
app
assets
build
buy
extend
plugins
action.md
api.md
app.md
barcode.md
event.md
label.md
locate.md
navigation.md
panel.md
schedule.md
settings.md
urls.md
api.md
how_to_plugin.md
integrate.md
plugins.md
python.md
themes.md
javascripts
part
releases
report
sell
settings
start
stock
stylesheets
webfonts
contribute.md
credits.md
demo.md
faq.md
features.md
hooks.py
index.md
privacy.md
terminology.md
.gitignore
LICENSE
README.md
main.py
mkdocs.yml
readthedocs.yml
requirements.txt
49 lines
1.4 KiB
Markdown
49 lines
1.4 KiB
Markdown
---
|
|
title: Settings Mixin
|
|
---
|
|
|
|
## SettingsMixin
|
|
|
|
The *SettingsMixin* allows the plugin to save and load persistent settings to the database.
|
|
|
|
- Plugin settings are stored against the individual plugin, and thus do not have to be unique
|
|
- Plugin settings are stored using a "key:value" pair
|
|
|
|
Use the class constant `SETTINGS` for a dict of settings that should be added as global database settings.
|
|
|
|
The dict must be formatted similar to the following sample. Take a look at the settings defined in `InvenTree.common.models.InvenTreeSetting` for all possible parameters.
|
|
|
|
|
|
``` python
|
|
class PluginWithSettings(SettingsMixin, InvenTreePlugin):
|
|
|
|
NAME = "PluginWithSettings"
|
|
|
|
SETTINGS = {
|
|
'API_ENABLE': {
|
|
'name': 'API Functionality',
|
|
'description': 'Enable remote API queries',
|
|
'validator': bool,
|
|
'default': True,
|
|
},
|
|
'API_KEY': {
|
|
'name': 'API Key',
|
|
'description': 'Security key for accessing remote API',
|
|
'default': '',
|
|
},
|
|
'API_URL': {
|
|
'name': _('API URL'),
|
|
'description': _('Base URL for remote server'),
|
|
'default': 'http://remote.url/api',
|
|
},
|
|
}
|
|
```
|
|
|
|
This mixin defines the helper functions `plugin.get_setting` and `plugin.set_seting` to access all plugin specific settings:
|
|
|
|
```python
|
|
api_url = self.get_setting('API_URL')
|
|
```
|
|
|
|
|