choices.py 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. from utilities.choices import ChoiceSet
  2. #
  3. # CustomFields
  4. #
  5. class CustomFieldTypeChoices(ChoiceSet):
  6. TYPE_TEXT = 'text'
  7. TYPE_LONGTEXT = 'longtext'
  8. TYPE_INTEGER = 'integer'
  9. TYPE_BOOLEAN = 'boolean'
  10. TYPE_DATE = 'date'
  11. TYPE_URL = 'url'
  12. TYPE_JSON = 'json'
  13. TYPE_SELECT = 'select'
  14. TYPE_MULTISELECT = 'multiselect'
  15. CHOICES = (
  16. (TYPE_TEXT, 'Text'),
  17. (TYPE_LONGTEXT, 'Text (long)'),
  18. (TYPE_INTEGER, 'Integer'),
  19. (TYPE_BOOLEAN, 'Boolean (true/false)'),
  20. (TYPE_DATE, 'Date'),
  21. (TYPE_URL, 'URL'),
  22. (TYPE_JSON, 'JSON'),
  23. (TYPE_SELECT, 'Selection'),
  24. (TYPE_MULTISELECT, 'Multiple selection'),
  25. )
  26. class CustomFieldFilterLogicChoices(ChoiceSet):
  27. FILTER_DISABLED = 'disabled'
  28. FILTER_LOOSE = 'loose'
  29. FILTER_EXACT = 'exact'
  30. CHOICES = (
  31. (FILTER_DISABLED, 'Disabled'),
  32. (FILTER_LOOSE, 'Loose'),
  33. (FILTER_EXACT, 'Exact'),
  34. )
  35. #
  36. # CustomLinks
  37. #
  38. class CustomLinkButtonClassChoices(ChoiceSet):
  39. CLASS_DEFAULT = 'outline-dark'
  40. CLASS_LINK = 'ghost-dark'
  41. CLASS_BLUE = 'blue'
  42. CLASS_INDIGO = 'indigo'
  43. CLASS_PURPLE = 'purple'
  44. CLASS_PINK = 'pink'
  45. CLASS_RED = 'red'
  46. CLASS_ORANGE = 'orange'
  47. CLASS_YELLOW = 'yellow'
  48. CLASS_GREEN = 'green'
  49. CLASS_TEAL = 'teal'
  50. CLASS_CYAN = 'cyan'
  51. CLASS_GRAY = 'secondary'
  52. CHOICES = (
  53. (CLASS_DEFAULT, 'Default'),
  54. (CLASS_LINK, 'Link'),
  55. (CLASS_BLUE, 'Blue'),
  56. (CLASS_INDIGO, 'Indigo'),
  57. (CLASS_PURPLE, 'Purple'),
  58. (CLASS_PINK, 'Pink'),
  59. (CLASS_RED, 'Red'),
  60. (CLASS_ORANGE, 'Orange'),
  61. (CLASS_YELLOW, 'Yellow'),
  62. (CLASS_GREEN, 'Green'),
  63. (CLASS_TEAL, 'Teal'),
  64. (CLASS_CYAN, 'Cyan'),
  65. (CLASS_GRAY, 'Gray'),
  66. )
  67. #
  68. # ObjectChanges
  69. #
  70. class ObjectChangeActionChoices(ChoiceSet):
  71. ACTION_CREATE = 'create'
  72. ACTION_UPDATE = 'update'
  73. ACTION_DELETE = 'delete'
  74. CHOICES = (
  75. (ACTION_CREATE, 'Created', 'green'),
  76. (ACTION_UPDATE, 'Updated', 'blue'),
  77. (ACTION_DELETE, 'Deleted', 'red'),
  78. )
  79. #
  80. # Jounral entries
  81. #
  82. class JournalEntryKindChoices(ChoiceSet):
  83. KIND_INFO = 'info'
  84. KIND_SUCCESS = 'success'
  85. KIND_WARNING = 'warning'
  86. KIND_DANGER = 'danger'
  87. CHOICES = (
  88. (KIND_INFO, 'Info', 'cyan'),
  89. (KIND_SUCCESS, 'Success', 'green'),
  90. (KIND_WARNING, 'Warning', 'yellow'),
  91. (KIND_DANGER, 'Danger', 'red'),
  92. )
  93. #
  94. # Log Levels for Reports and Scripts
  95. #
  96. class LogLevelChoices(ChoiceSet):
  97. LOG_DEFAULT = 'default'
  98. LOG_SUCCESS = 'success'
  99. LOG_INFO = 'info'
  100. LOG_WARNING = 'warning'
  101. LOG_FAILURE = 'failure'
  102. CHOICES = (
  103. (LOG_DEFAULT, 'Default', 'gray'),
  104. (LOG_SUCCESS, 'Success', 'green'),
  105. (LOG_INFO, 'Info', 'cyan'),
  106. (LOG_WARNING, 'Warning', 'yellow'),
  107. (LOG_FAILURE, 'Failure', 'red'),
  108. )
  109. #
  110. # Job results
  111. #
  112. class JobResultStatusChoices(ChoiceSet):
  113. STATUS_PENDING = 'pending'
  114. STATUS_RUNNING = 'running'
  115. STATUS_COMPLETED = 'completed'
  116. STATUS_ERRORED = 'errored'
  117. STATUS_FAILED = 'failed'
  118. CHOICES = (
  119. (STATUS_PENDING, 'Pending'),
  120. (STATUS_RUNNING, 'Running'),
  121. (STATUS_COMPLETED, 'Completed'),
  122. (STATUS_ERRORED, 'Errored'),
  123. (STATUS_FAILED, 'Failed'),
  124. )
  125. TERMINAL_STATE_CHOICES = (
  126. STATUS_COMPLETED,
  127. STATUS_ERRORED,
  128. STATUS_FAILED,
  129. )
  130. #
  131. # Webhooks
  132. #
  133. class WebhookHttpMethodChoices(ChoiceSet):
  134. METHOD_GET = 'GET'
  135. METHOD_POST = 'POST'
  136. METHOD_PUT = 'PUT'
  137. METHOD_PATCH = 'PATCH'
  138. METHOD_DELETE = 'DELETE'
  139. CHOICES = (
  140. (METHOD_GET, 'GET'),
  141. (METHOD_POST, 'POST'),
  142. (METHOD_PUT, 'PUT'),
  143. (METHOD_PATCH, 'PATCH'),
  144. (METHOD_DELETE, 'DELETE'),
  145. )