choices.py 3.7 KB

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