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