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

181 lines
3.6 KiB
Python
Raw Normal View History

2021-12-29 20:28:12 -05:00
from utilities.choices import ButtonColorChoices, ChoiceSet
2019-12-04 20:58:26 -05:00
#
# CustomFields
#
class CustomFieldTypeChoices(ChoiceSet):
TYPE_TEXT = 'text'
TYPE_LONGTEXT = 'longtext'
2019-12-04 20:58:26 -05:00
TYPE_INTEGER = 'integer'
TYPE_BOOLEAN = 'boolean'
TYPE_DATE = 'date'
TYPE_URL = 'url'
TYPE_JSON = 'json'
2019-12-04 20:58:26 -05:00
TYPE_SELECT = 'select'
TYPE_MULTISELECT = 'multiselect'
2021-12-30 17:03:41 -05:00
TYPE_OBJECT = 'object'
TYPE_MULTIOBJECT = 'multiobject'
2019-12-04 20:58:26 -05:00
CHOICES = (
(TYPE_TEXT, 'Text'),
(TYPE_LONGTEXT, 'Text (long)'),
2019-12-04 20:58:26 -05:00
(TYPE_INTEGER, 'Integer'),
(TYPE_BOOLEAN, 'Boolean (true/false)'),
(TYPE_DATE, 'Date'),
(TYPE_URL, 'URL'),
(TYPE_JSON, 'JSON'),
2019-12-04 20:58:26 -05:00
(TYPE_SELECT, 'Selection'),
(TYPE_MULTISELECT, 'Multiple selection'),
(TYPE_OBJECT, 'Object'),
(TYPE_MULTIOBJECT, 'Multiple objects'),
2019-12-04 20:58:26 -05:00
)
2019-12-04 21:09:02 -05:00
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
#
2021-12-29 20:28:12 -05:00
class CustomLinkButtonClassChoices(ButtonColorChoices):
LINK = 'ghost-dark'
CHOICES = (
2021-12-29 20:28:12 -05:00
*ButtonColorChoices.CHOICES,
(LINK, 'Link'),
)
2019-12-05 16:30:15 -05:00
#
# ObjectChanges
#
2019-12-05 16:30:15 -05:00
class ObjectChangeActionChoices(ChoiceSet):
ACTION_CREATE = 'create'
ACTION_UPDATE = 'update'
ACTION_DELETE = 'delete'
CHOICES = (
2021-12-28 20:18:07 -05:00
(ACTION_CREATE, 'Created', 'green'),
(ACTION_UPDATE, 'Updated', 'blue'),
(ACTION_DELETE, 'Deleted', 'red'),
2019-12-05 16:30:15 -05:00
)
2021-03-17 12:51:39 -04:00
#
# Jounral entries
#
class JournalEntryKindChoices(ChoiceSet):
key = 'JournalEntry.kind'
2021-03-17 12:51:39 -04:00
KIND_INFO = 'info'
KIND_SUCCESS = 'success'
KIND_WARNING = 'warning'
KIND_DANGER = 'danger'
CHOICES = [
2021-12-28 20:18:07 -05:00
(KIND_INFO, 'Info', 'cyan'),
(KIND_SUCCESS, 'Success', 'green'),
(KIND_WARNING, 'Warning', 'yellow'),
(KIND_DANGER, 'Danger', 'red'),
]
2021-03-17 12:51:39 -04:00
2020-07-06 01:58:28 -04:00
#
# Log Levels for Reports and Scripts
#
class LogLevelChoices(ChoiceSet):
LOG_DEFAULT = 'default'
2020-07-14 09:45:36 -04:00
LOG_SUCCESS = 'success'
2020-07-06 01:58:28 -04:00
LOG_INFO = 'info'
LOG_WARNING = 'warning'
LOG_FAILURE = 'failure'
CHOICES = (
2021-12-28 20:18:07 -05:00
(LOG_DEFAULT, 'Default', 'gray'),
(LOG_SUCCESS, 'Success', 'green'),
(LOG_INFO, 'Info', 'cyan'),
(LOG_WARNING, 'Warning', 'yellow'),
(LOG_FAILURE, 'Failure', 'red'),
2020-07-06 01:58:28 -04:00
)
#
# Job results
#
class JobResultStatusChoices(ChoiceSet):
STATUS_PENDING = 'pending'
STATUS_RUNNING = 'running'
STATUS_COMPLETED = 'completed'
2020-07-03 11:55:04 -04:00
STATUS_ERRORED = 'errored'
STATUS_FAILED = 'failed'
CHOICES = (
(STATUS_PENDING, 'Pending'),
(STATUS_RUNNING, 'Running'),
(STATUS_COMPLETED, 'Completed'),
2020-07-03 11:55:04 -04:00
(STATUS_ERRORED, 'Errored'),
(STATUS_FAILED, 'Failed'),
)
TERMINAL_STATE_CHOICES = (
STATUS_COMPLETED,
2020-07-03 11:55:04 -04:00
STATUS_ERRORED,
STATUS_FAILED,
)
2020-02-24 20:42:24 -05:00
#
# 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'),
)