mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
181 lines
3.6 KiB
Python
181 lines
3.6 KiB
Python
from utilities.choices import ButtonColorChoices, ChoiceSet
|
|
|
|
|
|
#
|
|
# CustomFields
|
|
#
|
|
|
|
class CustomFieldTypeChoices(ChoiceSet):
|
|
|
|
TYPE_TEXT = 'text'
|
|
TYPE_LONGTEXT = 'longtext'
|
|
TYPE_INTEGER = 'integer'
|
|
TYPE_BOOLEAN = 'boolean'
|
|
TYPE_DATE = 'date'
|
|
TYPE_URL = 'url'
|
|
TYPE_JSON = 'json'
|
|
TYPE_SELECT = 'select'
|
|
TYPE_MULTISELECT = 'multiselect'
|
|
TYPE_OBJECT = 'object'
|
|
TYPE_MULTIOBJECT = 'multiobject'
|
|
|
|
CHOICES = (
|
|
(TYPE_TEXT, 'Text'),
|
|
(TYPE_LONGTEXT, 'Text (long)'),
|
|
(TYPE_INTEGER, 'Integer'),
|
|
(TYPE_BOOLEAN, 'Boolean (true/false)'),
|
|
(TYPE_DATE, 'Date'),
|
|
(TYPE_URL, 'URL'),
|
|
(TYPE_JSON, 'JSON'),
|
|
(TYPE_SELECT, 'Selection'),
|
|
(TYPE_MULTISELECT, 'Multiple selection'),
|
|
(TYPE_OBJECT, 'Object'),
|
|
(TYPE_MULTIOBJECT, 'Multiple objects'),
|
|
)
|
|
|
|
|
|
class CustomFieldFilterLogicChoices(ChoiceSet):
|
|
|
|
FILTER_DISABLED = 'disabled'
|
|
FILTER_LOOSE = 'loose'
|
|
FILTER_EXACT = 'exact'
|
|
|
|
CHOICES = (
|
|
(FILTER_DISABLED, 'Disabled'),
|
|
(FILTER_LOOSE, 'Loose'),
|
|
(FILTER_EXACT, 'Exact'),
|
|
)
|
|
|
|
|
|
class CustomFieldVisibilityChoices(ChoiceSet):
|
|
|
|
VISIBILITY_READ_WRITE = 'read-write'
|
|
VISIBILITY_READ_ONLY = 'read-only'
|
|
VISIBILITY_HIDDEN = 'hidden'
|
|
|
|
CHOICES = (
|
|
(VISIBILITY_READ_WRITE, 'Read/Write'),
|
|
(VISIBILITY_READ_ONLY, 'Read-only'),
|
|
(VISIBILITY_HIDDEN, 'Hidden'),
|
|
)
|
|
|
|
|
|
#
|
|
# CustomLinks
|
|
#
|
|
|
|
class CustomLinkButtonClassChoices(ButtonColorChoices):
|
|
|
|
LINK = 'ghost-dark'
|
|
|
|
CHOICES = (
|
|
*ButtonColorChoices.CHOICES,
|
|
(LINK, 'Link'),
|
|
)
|
|
|
|
#
|
|
# ObjectChanges
|
|
#
|
|
|
|
|
|
class ObjectChangeActionChoices(ChoiceSet):
|
|
|
|
ACTION_CREATE = 'create'
|
|
ACTION_UPDATE = 'update'
|
|
ACTION_DELETE = 'delete'
|
|
|
|
CHOICES = (
|
|
(ACTION_CREATE, 'Created', 'green'),
|
|
(ACTION_UPDATE, 'Updated', 'blue'),
|
|
(ACTION_DELETE, 'Deleted', 'red'),
|
|
)
|
|
|
|
|
|
#
|
|
# Jounral entries
|
|
#
|
|
|
|
class JournalEntryKindChoices(ChoiceSet):
|
|
key = 'JournalEntry.kind'
|
|
|
|
KIND_INFO = 'info'
|
|
KIND_SUCCESS = 'success'
|
|
KIND_WARNING = 'warning'
|
|
KIND_DANGER = 'danger'
|
|
|
|
CHOICES = [
|
|
(KIND_INFO, 'Info', 'cyan'),
|
|
(KIND_SUCCESS, 'Success', 'green'),
|
|
(KIND_WARNING, 'Warning', 'yellow'),
|
|
(KIND_DANGER, 'Danger', 'red'),
|
|
]
|
|
|
|
|
|
#
|
|
# Log Levels for Reports and Scripts
|
|
#
|
|
|
|
class LogLevelChoices(ChoiceSet):
|
|
|
|
LOG_DEFAULT = 'default'
|
|
LOG_SUCCESS = 'success'
|
|
LOG_INFO = 'info'
|
|
LOG_WARNING = 'warning'
|
|
LOG_FAILURE = 'failure'
|
|
|
|
CHOICES = (
|
|
(LOG_DEFAULT, 'Default', 'gray'),
|
|
(LOG_SUCCESS, 'Success', 'green'),
|
|
(LOG_INFO, 'Info', 'cyan'),
|
|
(LOG_WARNING, 'Warning', 'yellow'),
|
|
(LOG_FAILURE, 'Failure', 'red'),
|
|
)
|
|
|
|
|
|
#
|
|
# Job results
|
|
#
|
|
|
|
class JobResultStatusChoices(ChoiceSet):
|
|
|
|
STATUS_PENDING = 'pending'
|
|
STATUS_RUNNING = 'running'
|
|
STATUS_COMPLETED = 'completed'
|
|
STATUS_ERRORED = 'errored'
|
|
STATUS_FAILED = 'failed'
|
|
|
|
CHOICES = (
|
|
(STATUS_PENDING, 'Pending'),
|
|
(STATUS_RUNNING, 'Running'),
|
|
(STATUS_COMPLETED, 'Completed'),
|
|
(STATUS_ERRORED, 'Errored'),
|
|
(STATUS_FAILED, 'Failed'),
|
|
)
|
|
|
|
TERMINAL_STATE_CHOICES = (
|
|
STATUS_COMPLETED,
|
|
STATUS_ERRORED,
|
|
STATUS_FAILED,
|
|
)
|
|
|
|
|
|
#
|
|
# Webhooks
|
|
#
|
|
|
|
class WebhookHttpMethodChoices(ChoiceSet):
|
|
|
|
METHOD_GET = 'GET'
|
|
METHOD_POST = 'POST'
|
|
METHOD_PUT = 'PUT'
|
|
METHOD_PATCH = 'PATCH'
|
|
METHOD_DELETE = 'DELETE'
|
|
|
|
CHOICES = (
|
|
(METHOD_GET, 'GET'),
|
|
(METHOD_POST, 'POST'),
|
|
(METHOD_PUT, 'PUT'),
|
|
(METHOD_PATCH, 'PATCH'),
|
|
(METHOD_DELETE, 'DELETE'),
|
|
)
|