mirror of
https://github.com/inventree/InvenTree
synced 2024-08-30 18:33:04 +00:00
Add metadata to plugin configs (#5019)
* add metadata to plugin * Api version bump * exclude metadata from admin to fix test
This commit is contained in:
parent
2322a98068
commit
013d206b91
@ -2,11 +2,14 @@
|
||||
|
||||
|
||||
# InvenTree API version
|
||||
INVENTREE_API_VERSION = 122
|
||||
INVENTREE_API_VERSION = 123
|
||||
|
||||
"""
|
||||
Increment this API version number whenever there is a significant change to the API that any clients need to know about
|
||||
|
||||
v123 -> 2023-06-15 : https://github.com/inventree/InvenTree/pull/5019
|
||||
- Add Metadata to: Plugin Config
|
||||
|
||||
v122 -> 2023-06-14 : https://github.com/inventree/InvenTree/pull/5034
|
||||
- Adds new BuildLineLabel label type
|
||||
|
||||
|
@ -56,6 +56,7 @@ class PluginConfigAdmin(admin.ModelAdmin):
|
||||
list_filter = ['active']
|
||||
actions = [plugin_activate, plugin_deactivate, ]
|
||||
inlines = [PluginSettingInline, ]
|
||||
exclude = ['metadata', ]
|
||||
|
||||
|
||||
class NotificationUserSettingAdmin(admin.ModelAdmin):
|
||||
|
@ -9,6 +9,7 @@ from rest_framework.response import Response
|
||||
|
||||
import plugin.serializers as PluginSerializers
|
||||
from common.api import GlobalSettingsPermissions
|
||||
from InvenTree.api import MetadataView
|
||||
from InvenTree.filters import SEARCH_ORDER_FILTER
|
||||
from InvenTree.mixins import (CreateAPI, ListAPI, RetrieveUpdateAPI,
|
||||
RetrieveUpdateDestroyAPI, UpdateAPI)
|
||||
@ -266,6 +267,9 @@ plugin_api_urls = [
|
||||
re_path(r'^.*$', PluginDetail.as_view(), name='api-plugin-detail'),
|
||||
])),
|
||||
|
||||
# Metadata
|
||||
re_path('^metadata/', MetadataView.as_view(), {'model': PluginConfig}, name='api-plugin-metadata'),
|
||||
|
||||
# Plugin management
|
||||
re_path(r'^install/', PluginInstall.as_view(), name='api-plugin-install'),
|
||||
re_path(r'^activate/', PluginActivate.as_view(), name='api-plugin-activate'),
|
||||
|
18
InvenTree/plugin/migrations/0006_pluginconfig_metadata.py
Normal file
18
InvenTree/plugin/migrations/0006_pluginconfig_metadata.py
Normal file
@ -0,0 +1,18 @@
|
||||
# Generated by Django 3.2.19 on 2023-06-11 16:04
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('plugin', '0005_notificationusersetting'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='pluginconfig',
|
||||
name='metadata',
|
||||
field=models.JSONField(blank=True, help_text='JSON metadata field, for use by external plugins', null=True, verbose_name='Plugin Metadata'),
|
||||
),
|
||||
]
|
@ -10,10 +10,11 @@ from django.db import models
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
import common.models
|
||||
import InvenTree.models
|
||||
from plugin import InvenTreePlugin, registry
|
||||
|
||||
|
||||
class PluginConfig(models.Model):
|
||||
class PluginConfig(InvenTree.models.MetadataMixin, models.Model):
|
||||
"""A PluginConfig object holds settings for plugins.
|
||||
|
||||
Attributes:
|
||||
|
Loading…
Reference in New Issue
Block a user