1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Closes #8794: Support dynamic configuration for JournalEntry kinds

This commit is contained in:
jeremystretch
2022-03-21 16:35:24 -04:00
parent 48dc76a694
commit ca44a654a5
3 changed files with 9 additions and 4 deletions

View File

@ -207,6 +207,7 @@ The following model fields support configurable choices:
* `dcim.PowerFeed.status` * `dcim.PowerFeed.status`
* `dcim.Rack.status` * `dcim.Rack.status`
* `dcim.Site.status` * `dcim.Site.status`
* `extras.JournalEntry.kind`
* `ipam.IPAddress.status` * `ipam.IPAddress.status`
* `ipam.IPRange.status` * `ipam.IPRange.status`
* `ipam.Prefix.status` * `ipam.Prefix.status`

View File

@ -161,13 +161,16 @@ class StatusChoices(ChoiceSet):
STATUS_BAR = 'bar' STATUS_BAR = 'bar'
STATUS_BAZ = 'baz' STATUS_BAZ = 'baz'
CHOICES = ( CHOICES = [
(STATUS_FOO, 'Foo', 'red'), (STATUS_FOO, 'Foo', 'red'),
(STATUS_BAR, 'Bar', 'green'), (STATUS_BAR, 'Bar', 'green'),
(STATUS_BAZ, 'Baz', 'blue'), (STATUS_BAZ, 'Baz', 'blue'),
) ]
``` ```
!!! warning
For dynamic configuration to work properly, `CHOICES` must be a mutable list, rather than a tuple.
```python ```python
# models.py # models.py
from django.db import models from django.db import models

View File

@ -83,18 +83,19 @@ class ObjectChangeActionChoices(ChoiceSet):
# #
class JournalEntryKindChoices(ChoiceSet): class JournalEntryKindChoices(ChoiceSet):
key = 'JournalEntry.kind'
KIND_INFO = 'info' KIND_INFO = 'info'
KIND_SUCCESS = 'success' KIND_SUCCESS = 'success'
KIND_WARNING = 'warning' KIND_WARNING = 'warning'
KIND_DANGER = 'danger' KIND_DANGER = 'danger'
CHOICES = ( CHOICES = [
(KIND_INFO, 'Info', 'cyan'), (KIND_INFO, 'Info', 'cyan'),
(KIND_SUCCESS, 'Success', 'green'), (KIND_SUCCESS, 'Success', 'green'),
(KIND_WARNING, 'Warning', 'yellow'), (KIND_WARNING, 'Warning', 'yellow'),
(KIND_DANGER, 'Danger', 'red'), (KIND_DANGER, 'Danger', 'red'),
) ]
# #