firefighter-incident 0.0.3__tar.gz → 0.0.5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (447) hide show
  1. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/PKG-INFO +1 -1
  2. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/_version.py +2 -2
  3. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/forms/close_incident.py +1 -1
  4. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/forms/create_incident.py +1 -1
  5. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/forms/select_impact.py +1 -1
  6. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/forms/update_status.py +1 -1
  7. firefighter_incident-0.0.5/firefighter/incidents/migrations/0009_update_sla.py +30 -0
  8. firefighter_incident-0.0.5/firefighter/incidents/migrations/0010_update_components.py +102 -0
  9. firefighter_incident-0.0.5/firefighter/incidents/migrations/0011_update_incidents.py +87 -0
  10. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/models/incident.py +1 -1
  11. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/templates/pages/component_detail.html +1 -1
  12. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/views/components/list.py +1 -1
  13. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/raid/client.py +2 -2
  14. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/models/user_group.py +1 -1
  15. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/views/modals/opening/details/critical.py +1 -1
  16. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/views/modals/opening/select_impact.py +3 -2
  17. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/views/modals/update_status.py +1 -1
  18. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter_tests/test_incidents/test_forms/test_form_utils.py +2 -2
  19. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter_tests/test_slack/views/modals/test_close.py +2 -2
  20. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter_tests/test_slack/views/modals/test_update_status.py +2 -2
  21. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/.gitignore +0 -0
  22. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/LICENSE +0 -0
  23. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/README.md +0 -0
  24. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/__init__.py +0 -0
  25. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/api/__init__.py +0 -0
  26. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/api/admin.py +0 -0
  27. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/api/apps.py +0 -0
  28. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/api/authentication.py +0 -0
  29. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/api/migrations/0001_initial.py +0 -0
  30. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/api/migrations/0002_alter_apitokenproxy_options.py +0 -0
  31. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/api/migrations/0003_alter_apitokenproxy_options.py +0 -0
  32. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/api/migrations/__init__.py +0 -0
  33. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/api/models.py +0 -0
  34. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/api/permissions.py +0 -0
  35. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/api/renderer.py +0 -0
  36. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/api/serializers.py +0 -0
  37. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/api/urls.py +0 -0
  38. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/api/views/__init__.py +0 -0
  39. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/api/views/_base.py +0 -0
  40. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/api/views/components.py +0 -0
  41. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/api/views/environments.py +0 -0
  42. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/api/views/groups.py +0 -0
  43. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/api/views/incident_cost_types.py +0 -0
  44. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/api/views/incident_costs.py +0 -0
  45. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/api/views/incidents.py +0 -0
  46. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/api/views/severities.py +0 -0
  47. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/components/__init__.py +0 -0
  48. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/components/avatar/__init__.py +0 -0
  49. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/components/avatar/avatar.html +0 -0
  50. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/components/avatar/avatar.py +0 -0
  51. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/components/card/__init__.py +0 -0
  52. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/components/card/card.html +0 -0
  53. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/components/card/card.py +0 -0
  54. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/components/export_button/__init__.py +0 -0
  55. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/components/export_button/export_button.html +0 -0
  56. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/components/export_button/export_button.py +0 -0
  57. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/components/form/__init__.py +0 -0
  58. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/components/form/form.html +0 -0
  59. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/components/form/form.py +0 -0
  60. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/components/form_field/__init__.py +0 -0
  61. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/components/form_field/form_field.html +0 -0
  62. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/components/form_field/form_field.py +0 -0
  63. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/components/messages/__init__.py +0 -0
  64. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/components/messages/messages.html +0 -0
  65. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/components/messages/messages.py +0 -0
  66. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/components/modal/__init__.py +0 -0
  67. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/components/modal/modal.html +0 -0
  68. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/components/modal/modal.py +0 -0
  69. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/confluence/__init__.py +0 -0
  70. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/confluence/admin.py +0 -0
  71. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/confluence/apps.py +0 -0
  72. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/confluence/client.py +0 -0
  73. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/confluence/management/__init__.py +0 -0
  74. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/confluence/management/commands/__init__.py +0 -0
  75. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/confluence/management/commands/sort_postmortems.py +0 -0
  76. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/confluence/management/commands/sort_runbooks.py +0 -0
  77. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/confluence/management/commands/sync_postmortems.py +0 -0
  78. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/confluence/management/commands/sync_runbooks.py +0 -0
  79. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/confluence/migrations/0001_initial_oss.py +0 -0
  80. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/confluence/migrations/__init__.py +0 -0
  81. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/confluence/models.py +0 -0
  82. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/confluence/serializers.py +0 -0
  83. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/confluence/service.py +0 -0
  84. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/confluence/signals/__init__.py +0 -0
  85. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/confluence/signals/incident_updated.py +0 -0
  86. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/confluence/tables.py +0 -0
  87. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/confluence/tasks/__init__.py +0 -0
  88. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/confluence/tasks/archive_postmortems.py +0 -0
  89. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/confluence/tasks/sort_runbooks.py +0 -0
  90. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/confluence/tasks/sync_pages_content.py +0 -0
  91. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/confluence/tasks/sync_postmortems.py +0 -0
  92. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/confluence/tasks/sync_runbooks.py +0 -0
  93. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/confluence/templates/oncall_team.xml +0 -0
  94. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/confluence/templates/pages/runbook_list.html +0 -0
  95. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/confluence/urls.py +0 -0
  96. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/confluence/utils.py +0 -0
  97. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/confluence/views/__init__.py +0 -0
  98. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/confluence/views/api.py +0 -0
  99. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/confluence/views/postmortem/__init__.py +0 -0
  100. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/confluence/views/postmortem/postmortem_detail.py +0 -0
  101. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/confluence/views/runbook/__init__.py +0 -0
  102. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/confluence/views/runbook/runbook_list.py +0 -0
  103. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/firefighter/__init__.py +0 -0
  104. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/firefighter/admin.py +0 -0
  105. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/firefighter/apps.py +0 -0
  106. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/firefighter/asgi.py +0 -0
  107. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/firefighter/celery_client.py +0 -0
  108. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/firefighter/fields_forms_widgets.py +0 -0
  109. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/firefighter/filters.py +0 -0
  110. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/firefighter/formats/__init__.py +0 -0
  111. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/firefighter/formats/en/__init__.py +0 -0
  112. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/firefighter/formats/en/formats.py +0 -0
  113. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/firefighter/http_client.py +0 -0
  114. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/firefighter/management/__init__.py +0 -0
  115. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/firefighter/management/commands/__init__.py +0 -0
  116. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/firefighter/management/commands/task.py +0 -0
  117. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/firefighter/middleware.py +0 -0
  118. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/firefighter/settings/__init__.py +0 -0
  119. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/firefighter/settings/components/__init__.py +0 -0
  120. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/firefighter/settings/components/api.py +0 -0
  121. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/firefighter/settings/components/caches.py +0 -0
  122. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/firefighter/settings/components/celery.py +0 -0
  123. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/firefighter/settings/components/common.py +0 -0
  124. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/firefighter/settings/components/confluence.py +0 -0
  125. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/firefighter/settings/components/jira_app.py +0 -0
  126. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/firefighter/settings/components/logging.py +0 -0
  127. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/firefighter/settings/components/pagerduty.py +0 -0
  128. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/firefighter/settings/components/raid.py +0 -0
  129. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/firefighter/settings/components/slack.py +0 -0
  130. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/firefighter/settings/environments/__init__.py +0 -0
  131. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/firefighter/settings/environments/dev.py +0 -0
  132. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/firefighter/settings/environments/prod.py +0 -0
  133. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/firefighter/settings/settings_builder.py +0 -0
  134. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/firefighter/settings/settings_utils.py +0 -0
  135. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/firefighter/sso.py +0 -0
  136. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/firefighter/tables_utils.py +0 -0
  137. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/firefighter/templates/admin/base.html +0 -0
  138. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/firefighter/templates/admin/login.html +0 -0
  139. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/firefighter/templates/admin/send_message_conversation.html +0 -0
  140. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/firefighter/templates/robots.txt +0 -0
  141. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/firefighter/urls.py +0 -0
  142. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/firefighter/utils.py +0 -0
  143. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/firefighter/views.py +0 -0
  144. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/firefighter/wsgi.py +0 -0
  145. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/__init__.py +0 -0
  146. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/admin.py +0 -0
  147. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/apps.py +0 -0
  148. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/enums.py +0 -0
  149. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/factories.py +0 -0
  150. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/forms/__init__.py +0 -0
  151. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/forms/edit.py +0 -0
  152. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/forms/update_key_events.py +0 -0
  153. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/forms/update_roles.py +0 -0
  154. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/forms/utils.py +0 -0
  155. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/menus.py +0 -0
  156. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/migrations/0001_initial_oss.py +0 -0
  157. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/migrations/0002_alter_severity_name_alter_user_password_featureteam.py +0 -0
  158. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/migrations/0003_delete_featureteam.py +0 -0
  159. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/migrations/0004_incidentupdate_environment.py +0 -0
  160. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/migrations/0005_enable_from_p1_to_p5_priority.py +0 -0
  161. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/migrations/0006_update_group_names.py +0 -0
  162. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/migrations/0007_update_component_name.py +0 -0
  163. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/migrations/0008_impact_level.py +0 -0
  164. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/migrations/__init__.py +0 -0
  165. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/models/__init__.py +0 -0
  166. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/models/component.py +0 -0
  167. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/models/environment.py +0 -0
  168. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/models/group.py +0 -0
  169. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/models/impact.py +0 -0
  170. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/models/incident_cost.py +0 -0
  171. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/models/incident_cost_type.py +0 -0
  172. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/models/incident_membership.py +0 -0
  173. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/models/incident_role_type.py +0 -0
  174. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/models/incident_update.py +0 -0
  175. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/models/metric_type.py +0 -0
  176. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/models/milestone_type.py +0 -0
  177. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/models/priority.py +0 -0
  178. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/models/severity.py +0 -0
  179. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/models/user.py +0 -0
  180. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/signals.py +0 -0
  181. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/static/css/incident.css +0 -0
  182. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/static/css/main.css +0 -0
  183. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/static/css/main.min.css +0 -0
  184. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/static/css/tailwind.css +0 -0
  185. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/static/img/favicon/android-chrome-192x192.png +0 -0
  186. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/static/img/favicon/android-chrome-512x512.png +0 -0
  187. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/static/img/favicon/apple-touch-icon.png +0 -0
  188. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/static/img/favicon/favicon-16x16.png +0 -0
  189. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/static/img/favicon/favicon-32x32.png +0 -0
  190. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/static/img/favicon/favicon.ico +0 -0
  191. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/static/img/favicon/site.webmanifest +0 -0
  192. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/static/img/gameday.png +0 -0
  193. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/static/img/logo-firefighter.png +0 -0
  194. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/static/img/p1.png +0 -0
  195. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/static/img/p2.png +0 -0
  196. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/static/img/p3.png +0 -0
  197. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/static/img/p4.png +0 -0
  198. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/static/img/p5.png +0 -0
  199. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/static/js/main.js +0 -0
  200. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/static/js/main.min.js +0 -0
  201. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/tables.py +0 -0
  202. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/tasks/__init__.py +0 -0
  203. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/tasks/updateoncall.py +0 -0
  204. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/templates/incidents/errors/base.html +0 -0
  205. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/templates/incidents/filter.html +0 -0
  206. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/templates/incidents/table/priority_column.html +0 -0
  207. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/templates/incidents/table/status_column.html +0 -0
  208. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/templates/incidents/table.html +0 -0
  209. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/templates/incidents/widgets/form_container.html +0 -0
  210. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/templates/incidents/widgets/grouped_checkbox_nested.html +0 -0
  211. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/templates/incidents/widgets/input_option.html +0 -0
  212. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/templates/layouts/index.html +0 -0
  213. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/templates/layouts/partials/created_at_help.html +0 -0
  214. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/templates/layouts/partials/environment_pill.html +0 -0
  215. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/templates/layouts/partials/footer.html +0 -0
  216. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/templates/layouts/partials/header.html +0 -0
  217. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/templates/layouts/partials/incident_card.html +0 -0
  218. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/templates/layouts/partials/incident_metrics.html +0 -0
  219. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/templates/layouts/partials/incident_timeline.html +0 -0
  220. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/templates/layouts/partials/incident_update_key_events_view.html +0 -0
  221. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/templates/layouts/partials/incident_update_key_events_view_modal.html +0 -0
  222. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/templates/layouts/partials/partial_table_list_paginated.html +0 -0
  223. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/templates/layouts/partials/priority_icon.html +0 -0
  224. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/templates/layouts/partials/priority_pill.html +0 -0
  225. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/templates/layouts/partials/status_pill.html +0 -0
  226. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/templates/layouts/partials/table.html +0 -0
  227. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/templates/layouts/partials/user_card.html +0 -0
  228. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/templates/layouts/partials/user_tooltip.html +0 -0
  229. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/templates/layouts/view_filters.html +0 -0
  230. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/templates/pages/component_list.html +0 -0
  231. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/templates/pages/dashboard.html +0 -0
  232. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/templates/pages/docs_metrics.html +0 -0
  233. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/templates/pages/incident_create.html +0 -0
  234. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/templates/pages/incident_detail.html +0 -0
  235. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/templates/pages/incident_list.html +0 -0
  236. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/templates/pages/incident_role_types_detail.html +0 -0
  237. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/templates/pages/incident_role_types_list.html +0 -0
  238. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/templates/pages/incident_statistics.html +0 -0
  239. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/templates/pages/incident_statistics_partial.html +0 -0
  240. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/templates/pages/incident_update_key_events_form.html +0 -0
  241. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/templates/pages/user_detail.html +0 -0
  242. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/urls.py +0 -0
  243. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/views/__init__.py +0 -0
  244. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/views/components/__init__.py +0 -0
  245. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/views/components/details.py +0 -0
  246. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/views/date_filter.py +0 -0
  247. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/views/date_utils.py +0 -0
  248. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/views/docs/__init__.py +0 -0
  249. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/views/docs/metrics.py +0 -0
  250. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/views/docs/role_types.py +0 -0
  251. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/views/errors.py +0 -0
  252. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/views/reports.py +0 -0
  253. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/views/users/__init__.py +0 -0
  254. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/views/users/details.py +0 -0
  255. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/incidents/views/views.py +0 -0
  256. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/jira_app/__init__.py +0 -0
  257. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/jira_app/admin.py +0 -0
  258. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/jira_app/apps.py +0 -0
  259. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/jira_app/client.py +0 -0
  260. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/jira_app/migrations/0001_initial_oss.py +0 -0
  261. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/jira_app/migrations/__init__.py +0 -0
  262. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/jira_app/models.py +0 -0
  263. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/jira_app/tasks/__init__.py +0 -0
  264. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/jira_app/tasks/sync_users_jira.py +0 -0
  265. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/jira_app/types.py +0 -0
  266. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/jira_app/utils.py +0 -0
  267. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/logging/__init__.py +0 -0
  268. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/logging/custom_json_formatter.py +0 -0
  269. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/logging/pretty_formatter.py +0 -0
  270. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/pagerduty/__init__.py +0 -0
  271. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/pagerduty/admin.py +0 -0
  272. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/pagerduty/apps.py +0 -0
  273. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/pagerduty/client.py +0 -0
  274. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/pagerduty/forms/__init__.py +0 -0
  275. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/pagerduty/forms/create_pagerduty_incident.py +0 -0
  276. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/pagerduty/migrations/0001_initial_oss.py +0 -0
  277. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/pagerduty/migrations/__init__.py +0 -0
  278. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/pagerduty/models.py +0 -0
  279. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/pagerduty/service.py +0 -0
  280. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/pagerduty/signals/__init__.py +0 -0
  281. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/pagerduty/signals/get_invites_from_pagerduty.py +0 -0
  282. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/pagerduty/signals/incident_channel_done_oncall.py +0 -0
  283. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/pagerduty/tasks/__init__.py +0 -0
  284. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/pagerduty/tasks/fetch_oncall.py +0 -0
  285. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/pagerduty/tasks/fetch_services.py +0 -0
  286. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/pagerduty/tasks/fetch_users.py +0 -0
  287. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/pagerduty/tasks/trigger_oncall.py +0 -0
  288. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/pagerduty/templates/pages/oncall_list.html +0 -0
  289. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/pagerduty/templates/pages/oncall_trigger.html +0 -0
  290. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/pagerduty/templates/partials/trigger_oncall_form_view.html +0 -0
  291. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/pagerduty/templates/partials/trigger_oncall_form_view_modal.html +0 -0
  292. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/pagerduty/urls.py +0 -0
  293. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/pagerduty/views/__init__.py +0 -0
  294. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/pagerduty/views/oncall_list.py +0 -0
  295. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/pagerduty/views/oncall_trigger.py +0 -0
  296. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/raid/__init__.py +0 -0
  297. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/raid/admin.py +0 -0
  298. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/raid/apps.py +0 -0
  299. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/raid/forms.py +0 -0
  300. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/raid/messages.py +0 -0
  301. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/raid/migrations/0001_initial_oss.py +0 -0
  302. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/raid/migrations/0002_featureteam_remove_qualifierrotation_jira_user_and_more.py +0 -0
  303. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/raid/migrations/__init__.py +0 -0
  304. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/raid/models.py +0 -0
  305. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/raid/resources.py +0 -0
  306. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/raid/serializers.py +0 -0
  307. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/raid/service.py +0 -0
  308. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/raid/signals/__init__.py +0 -0
  309. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/raid/signals/incident_created.py +0 -0
  310. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/raid/signals/incident_updated.py +0 -0
  311. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/raid/tasks/__init__.py +0 -0
  312. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/raid/types.py +0 -0
  313. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/raid/urls.py +0 -0
  314. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/raid/utils.py +0 -0
  315. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/raid/views/__init__.py +0 -0
  316. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/raid/views/open_normal.py +0 -0
  317. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/__init__.py +0 -0
  318. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/admin.py +0 -0
  319. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/apps.py +0 -0
  320. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/factories.py +0 -0
  321. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/forms/__init__.py +0 -0
  322. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/forms/sos_form.py +0 -0
  323. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/management/__init__.py +0 -0
  324. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/management/commands/__init__.py +0 -0
  325. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/management/commands/generate_manifest.py +0 -0
  326. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/messages/__init__.py +0 -0
  327. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/messages/base.py +0 -0
  328. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/messages/slack_messages.py +0 -0
  329. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/migrations/0001_initial_oss.py +0 -0
  330. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/migrations/0002_usergroup_tag.py +0 -0
  331. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/migrations/0003_alter_usergroup_tag.py +0 -0
  332. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/migrations/__init__.py +0 -0
  333. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/models/__init__.py +0 -0
  334. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/models/conversation.py +0 -0
  335. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/models/incident_channel.py +0 -0
  336. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/models/message.py +0 -0
  337. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/models/sos.py +0 -0
  338. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/models/user.py +0 -0
  339. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/rules.py +0 -0
  340. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/signals/__init__.py +0 -0
  341. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/signals/create_incident_conversation.py +0 -0
  342. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/signals/get_users.py +0 -0
  343. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/signals/handle_incident_channel_done.py +0 -0
  344. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/signals/incident_closed.py +0 -0
  345. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/signals/incident_updated.py +0 -0
  346. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/signals/postmortem_created.py +0 -0
  347. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/signals/roles_reminders.py +0 -0
  348. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/slack_app.py +0 -0
  349. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/slack_incident_context.py +0 -0
  350. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/slack_templating.py +0 -0
  351. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/tasks/__init__.py +0 -0
  352. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/tasks/fetch_conversations_members.py +0 -0
  353. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/tasks/reminder_postmortem.py +0 -0
  354. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/tasks/send_message.py +0 -0
  355. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/tasks/send_reminders.py +0 -0
  356. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/tasks/sync_users.py +0 -0
  357. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/tasks/update_usergroups_members.py +0 -0
  358. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/tasks/update_users.py +0 -0
  359. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/urls.py +0 -0
  360. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/utils.py +0 -0
  361. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/views/__init__.py +0 -0
  362. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/views/events/__init__.py +0 -0
  363. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/views/events/actions_and_shortcuts.py +0 -0
  364. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/views/events/channel_archive.py +0 -0
  365. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/views/events/channel_id_changed.py +0 -0
  366. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/views/events/channel_rename.py +0 -0
  367. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/views/events/channel_shared.py +0 -0
  368. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/views/events/channel_unarchive.py +0 -0
  369. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/views/events/channel_unshared.py +0 -0
  370. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/views/events/commands.py +0 -0
  371. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/views/events/home.py +0 -0
  372. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/views/events/member_joined_channel.py +0 -0
  373. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/views/events/member_left_channel.py +0 -0
  374. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/views/events/message.py +0 -0
  375. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/views/events/message_deleted.py +0 -0
  376. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/views/events/reaction_added.py +0 -0
  377. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/views/modals/__init__.py +0 -0
  378. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/views/modals/base_modal/__init__.py +0 -0
  379. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/views/modals/base_modal/base.py +0 -0
  380. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/views/modals/base_modal/base_mixins.py +0 -0
  381. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/views/modals/base_modal/form_utils.py +0 -0
  382. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/views/modals/base_modal/mixins.py +0 -0
  383. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/views/modals/base_modal/modal_utils.py +0 -0
  384. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/views/modals/close.py +0 -0
  385. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/views/modals/downgrade_workflow.py +0 -0
  386. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/views/modals/edit.py +0 -0
  387. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/views/modals/key_event_message.py +0 -0
  388. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/views/modals/open.py +0 -0
  389. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/views/modals/opening/__init__.py +0 -0
  390. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/views/modals/opening/check_current_incidents.py +0 -0
  391. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/views/modals/opening/details/__init__.py +0 -0
  392. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/views/modals/opening/set_details.py +0 -0
  393. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/views/modals/opening/types.py +0 -0
  394. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/views/modals/postmortem.py +0 -0
  395. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/views/modals/select.py +0 -0
  396. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/views/modals/send_sos.py +0 -0
  397. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/views/modals/status.py +0 -0
  398. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/views/modals/trigger_oncall.py +0 -0
  399. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/views/modals/update.py +0 -0
  400. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/views/modals/update_roles.py +0 -0
  401. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter/slack/views/views.py +0 -0
  402. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter_fixtures/incidents/components.json +0 -0
  403. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter_fixtures/incidents/environments.json +0 -0
  404. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter_fixtures/incidents/groups.json +0 -0
  405. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter_fixtures/incidents/impact_level.json +0 -0
  406. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter_fixtures/incidents/impact_type.json +0 -0
  407. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter_fixtures/incidents/incident_role_type.json +0 -0
  408. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter_fixtures/incidents/metric_type.json +0 -0
  409. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter_fixtures/incidents/milestone_type.json +0 -0
  410. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter_fixtures/incidents/priorities.json +0 -0
  411. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter_fixtures/incidents/severities.json +0 -0
  412. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter_fixtures/raid/area.json +0 -0
  413. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter_tests/__init__.py +0 -0
  414. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter_tests/conftest.py +0 -0
  415. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter_tests/test_api/test_api_landbot.py +0 -0
  416. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter_tests/test_api/test_api_urls.py +0 -0
  417. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter_tests/test_confluence/test_confluence_utils.py +0 -0
  418. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter_tests/test_firefighter/test_firefighter_utils.py +0 -0
  419. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter_tests/test_firefighter/test_logging.py +0 -0
  420. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter_tests/test_firefighter/test_urls.py +0 -0
  421. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter_tests/test_incidents/test_forms/test_form_select_impact.py +0 -0
  422. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter_tests/test_incidents/test_forms/test_update_key_events.py +0 -0
  423. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter_tests/test_incidents/test_incident_urls.py +0 -0
  424. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter_tests/test_incidents/test_models/test_incident_model.py +0 -0
  425. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter_tests/test_incidents/test_models/test_migrations/test_incident_migrations.py +0 -0
  426. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter_tests/test_incidents/test_utils/test_date_utils.py +0 -0
  427. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter_tests/test_incidents/test_views/test_incident_detail_view.py +0 -0
  428. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter_tests/test_incidents/test_views/test_index_view.py +0 -0
  429. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter_tests/test_raid/test_raid_client_users.py +0 -0
  430. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter_tests/test_raid/test_raid_transitions.py +0 -0
  431. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter_tests/test_raid/test_raid_utils.py +0 -0
  432. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter_tests/test_slack/conftest.py +0 -0
  433. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter_tests/test_slack/test_models/test_conversations.py +0 -0
  434. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter_tests/test_slack/test_models/test_incident_channel.py +0 -0
  435. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter_tests/test_slack/test_models/test_slack_user.py +0 -0
  436. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter_tests/test_slack/test_slack_utils.py +0 -0
  437. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter_tests/test_slack/views/modals/test_open.py +0 -0
  438. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter_tests/test_slack/views/modals/test_send_sos.py +0 -0
  439. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/firefighter_tests/test_slack/views/modals/test_status.py +0 -0
  440. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/gunicorn.conf.py +0 -0
  441. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/main.py +0 -0
  442. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/manage.py +0 -0
  443. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/package-lock.json +0 -0
  444. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/package.json +0 -0
  445. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/pyproject.toml +0 -0
  446. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/scripts/gen_credits.py +0 -0
  447. {firefighter_incident-0.0.3 → firefighter_incident-0.0.5}/scripts/hatch_build.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: firefighter-incident
3
- Version: 0.0.3
3
+ Version: 0.0.5
4
4
  Summary: Incident Management tool made for Slack using Django
5
5
  Project-URL: Repository, https://github.com/ManoManoTech/firefighter-incident
6
6
  Project-URL: Documentation, https://manomanotech.github.io/firefighter-incident/latest/
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '0.0.3'
21
- __version_tuple__ = version_tuple = (0, 0, 3)
20
+ __version__ = version = '0.0.5'
21
+ __version_tuple__ = version_tuple = (0, 0, 5)
@@ -28,7 +28,7 @@ class CloseIncidentForm(forms.Form):
28
28
  )
29
29
  component = GroupedModelChoiceField(
30
30
  choices_groupby="group",
31
- label="Component",
31
+ label="Issue category",
32
32
  queryset=Component.objects.all()
33
33
  .select_related("group")
34
34
  .order_by(
@@ -54,7 +54,7 @@ class CreateIncidentForm(CreateIncidentFormBase):
54
54
 
55
55
  component = GroupedModelChoiceField(
56
56
  choices_groupby="group",
57
- label="Component",
57
+ label="Issue category",
58
58
  queryset=(
59
59
  Component.objects.all()
60
60
  .select_related("group")
@@ -63,7 +63,7 @@ class SelectImpactForm(forms.Form):
63
63
 
64
64
  @property
65
65
  def business_impact_new(self) -> str | None:
66
- """Get business impact. Will return N/A, Low, Medium or High."""
66
+ """Get business impact. Will return N/A, Lowest, Low, Medium, High or Highest."""
67
67
  impact_value = ""
68
68
  if self.is_valid():
69
69
  impact: dict[str, ImpactLevel] = self.cleaned_data
@@ -26,7 +26,7 @@ class UpdateStatusForm(forms.Form):
26
26
  )
27
27
  component = GroupedModelChoiceField(
28
28
  choices_groupby="group",
29
- label="Component",
29
+ label="Issue category",
30
30
  queryset=Component.objects.all()
31
31
  .select_related("group")
32
32
  .order_by(
@@ -0,0 +1,30 @@
1
+ from django.db import migrations
2
+
3
+
4
+ def update_priority_settings(apps, schema_editor):
5
+ Priority = apps.get_model("incidents", "Priority")
6
+ priorities_to_update = {
7
+ "P1": ("02:00:00", True, True),
8
+ "P2": ("04:00:00", True, True),
9
+ "P3": ("1 day, 00:00:00", True, True),
10
+ "P4": ("5 days, 00:00:00", True, True),
11
+ "P5": ("10 days, 00:00:00", True, True),
12
+ }
13
+
14
+ for name, (sla, enabled_create, enabled_update) in priorities_to_update.items():
15
+ Priority.objects.filter(name=name).update(
16
+ sla=sla,
17
+ enabled_create=enabled_create,
18
+ enabled_update=enabled_update,
19
+ )
20
+
21
+
22
+ class Migration(migrations.Migration):
23
+
24
+ dependencies = [
25
+ ("incidents", "0008_impact_level"),
26
+ ]
27
+
28
+ operations = [
29
+ migrations.RunPython(update_priority_settings),
30
+ ]
@@ -0,0 +1,102 @@
1
+
2
+ import logging
3
+
4
+ from django.db import migrations
5
+
6
+ logger = logging.getLogger(__name__)
7
+
8
+
9
+ def get_component_mappings() -> list:
10
+ """
11
+ Returns a list of tuples for updating existing component names and their attributes.
12
+
13
+ Each tuple contains:
14
+ - old_name (str): The current name of the component.
15
+ - new_name (str): The new name to assign to the component.
16
+ - slack_channel (str): The associated Slack channel for the component.
17
+ - group_name (str): The name of the group to which the component belongs.
18
+
19
+ Returns:
20
+ list: A list of tuples, each representing the details for a component update.
21
+ """
22
+ return [
23
+ # Marketplace
24
+ ("Product Discovery", "Navigation & Product discovery", "impact-nav-product-discovery", "Marketplace"),
25
+ ("User & Purchase", "Cart & funnel", "impact-cart-funnel", "Marketplace"),
26
+ ("Customer Management", "Customer login & signup", "impact-customer-login-signup", "Marketplace"),
27
+ ("Performance", "Web performance", "impact-web-performance", "Marketplace"),
28
+ # Catalog
29
+ ("Product Information", "Product Management", "impact-product-management", "Catalog"),
30
+ ("Taxonomy", "Product Structure", "impact-product-structure", "Catalog"),
31
+ ("Publication on website", "Catalog Exposition", "impact-catalog-exposition", "Catalog"),
32
+ # Payment Operations
33
+ ("Payment", "Payment", "impact-payment", "Payment Operations"),
34
+ # Operations
35
+ ("ManoFulfillment OPS", "MM Fulfillment", "impact-mm-fulfillment", "Operations"),
36
+ ("Helpcenter", "Helpcenter after sales", "impact-helpcenter-after-sales", "Operations"),
37
+ # Finance
38
+ ("Finance Operations", "Controlling", "impact-controlling", "Finance"),
39
+ # Platform
40
+ ("Spinak", "Spinak", "impact-spinak", "Platform"),
41
+ ("CDN", "CDN", "impact-cdn", "Platform"),
42
+ ("Gitlab", "Gitlab", "impact-gitlab", "Platform"),
43
+ # Data
44
+ ("data-platform", "Data Ingestion", "impact-data-ingestion", "Data"),
45
+ ("data-specialist-offer", "Data Warehouse", "impact-data-warehouse", "Data"),
46
+ ("data-wbr", "Data Analytics", "impact-data-analytics", "Data"),
47
+ # Security
48
+ ("Security Misc", "Bot management & rate limiting & WAF", "impact-bot-management-rate-limiting-waf", "Security"),
49
+ ("Attack", "Data leak", "impact-data-leak", "Security"),
50
+ ("System Compromise", "Exploited vulnerability", "impact-exploited-vulnerability", "Security"),
51
+ ("Personal Data Breach", "Stolen account(s) or IT materials", "impact-stolen-accounts-it-materials", "Security"),
52
+ ]
53
+
54
+
55
+ def update_component_names(apps, schema_editor):
56
+ Component = apps.get_model("incidents", "Component")
57
+ Group = apps.get_model("incidents", "Group")
58
+ component_mappings = get_component_mappings()
59
+
60
+ updated_count = 0
61
+
62
+ for old_name, new_name, _slack_channel, group_name in component_mappings:
63
+ try:
64
+ component = Component.objects.get(name=old_name)
65
+ logger.info(f"Updating: '{old_name}' to '{new_name}'")
66
+ component.name = new_name
67
+
68
+ group_instance = Group.objects.get(name=group_name)
69
+ component.group = group_instance
70
+ component.save()
71
+ updated_count += 1
72
+ except Exception:
73
+ logger.exception(f"Component '{old_name}' does not exist, cannot proceed with updates.")
74
+
75
+
76
+ def revert_component_names(apps, schema_editor):
77
+ Component = apps.get_model("incidents", "Component")
78
+ reverse_mappings = {new_name: old_name for old_name, new_name, _, _ in get_component_mappings()}
79
+
80
+ updated_count = 0
81
+
82
+ for new_name, old_name in reverse_mappings.items():
83
+
84
+ try:
85
+ component = Component.objects.get(name=new_name)
86
+ logger.info(f"Restoring '{new_name}' back to '{old_name}'")
87
+ component.name = old_name
88
+ component.save()
89
+ updated_count += 1
90
+ except Exception:
91
+ logger.exception(f"Component '{new_name}' does not exist, skipping restoration.")
92
+
93
+
94
+ class Migration(migrations.Migration):
95
+
96
+ dependencies = [
97
+ ("incidents", "0009_update_sla"),
98
+ ]
99
+
100
+ operations = [
101
+ migrations.RunPython(update_component_names, revert_component_names),
102
+ ]
@@ -0,0 +1,87 @@
1
+ import logging
2
+
3
+ from django.db import migrations, transaction
4
+
5
+ logger = logging.getLogger(__name__)
6
+
7
+ COMPONENT_MAPPING = {
8
+ "Internal Messaging": "Helpcenter after sales",
9
+ "Crisis Communication Room": "Other",
10
+ "data-visitors": "Data Ingestion",
11
+ "data-buyers": "Data Ingestion",
12
+ "Seller Order": "Seller Admin and Experience",
13
+ "Legacy": "Other",
14
+ "Authentification": "Customer login & signup",
15
+ "data-operations": "Data Ingestion",
16
+ "Test Incident": "Other",
17
+ "Legal": "Other",
18
+ }
19
+
20
+ # Global variable to store incidents with the previous component
21
+ # This will be used to restore the original component in case of rollback
22
+ INCIDENTS_BACKUP = {}
23
+
24
+
25
+ def forwards_func(apps, _schema_editor):
26
+ Incident = apps.get_model("incidents", "Incident")
27
+ Component = apps.get_model("incidents", "Component")
28
+ with transaction.atomic():
29
+ for old_component_name, new_component_name in COMPONENT_MAPPING.items():
30
+ old_component = Component.objects.filter(name=old_component_name).first()
31
+ if not old_component:
32
+ logger.error(f"Failed to find component {old_component_name}.")
33
+ continue
34
+ incidents = Incident.objects.filter(component=old_component)
35
+ ids = list(incidents.values_list("id", flat=True))
36
+ if ids:
37
+ INCIDENTS_BACKUP[old_component_name] = ids
38
+ new_component = Component.objects.filter(name=new_component_name).first()
39
+ if not new_component:
40
+ logger.error(f"Failed to find component {new_component_name}.")
41
+ continue
42
+ incidents.update(component=new_component)
43
+
44
+
45
+ def backwards_func(apps, _schema_editor):
46
+ Incident = apps.get_model("incidents", "Incident")
47
+ Component = apps.get_model("incidents", "Component")
48
+ with transaction.atomic():
49
+ for old_component_name, ids in INCIDENTS_BACKUP.items():
50
+ old_component = Component.objects.filter(name=old_component_name).first()
51
+ if not old_component:
52
+ logger.error(f"Failed to find component {old_component_name}.")
53
+ continue
54
+ Incident.objects.filter(id__in=ids).update(component=old_component)
55
+
56
+
57
+ def delete_old_components(apps, _schema_editor):
58
+ Component = apps.get_model("incidents", "Component")
59
+ try:
60
+ for old_name in COMPONENT_MAPPING:
61
+ Component.objects.filter(name=old_name).delete()
62
+ except Exception:
63
+ logger.exception(f"Failed to delete old components {old_name}.")
64
+
65
+
66
+ def recreate_old_components(apps, _schema_editor):
67
+ Component = apps.get_model("incidents", "Component")
68
+ try:
69
+ for old_name in COMPONENT_MAPPING:
70
+ Component.objects.get_or_create(name=old_name)
71
+ except Exception:
72
+ logger.exception(f"Failed to recreate old components {old_name}.")
73
+
74
+
75
+ class Migration(migrations.Migration):
76
+
77
+ dependencies = [
78
+ ("incidents", "0010_update_components"),
79
+ ]
80
+
81
+ operations = [
82
+ migrations.RunPython(forwards_func, backwards_func),
83
+ migrations.RunPython(
84
+ delete_old_components,
85
+ recreate_old_components,
86
+ ),
87
+ ]
@@ -667,7 +667,7 @@ class IncidentFilterSet(django_filters.FilterSet):
667
667
  )
668
668
  component = ModelMultipleChoiceFilter(
669
669
  queryset=component_filter_choices_queryset,
670
- label="Component",
670
+ label="Issue category",
671
671
  widget=GroupedCheckboxSelectMultiple,
672
672
  )
673
673
  created_at = FFDateRangeSingleFilter(field_name="created_at")
@@ -27,7 +27,7 @@
27
27
 
28
28
  <div class="mt-8 max-w-3xl mx-auto grid grid-cols-1 gap-6 sm:px-6 lg:max-w-7xl lg:grid-flow-col-dense lg:grid-cols-12">
29
29
  <div class="space-y-6 lg:col-start-1 lg:col-span-7">
30
- {% component "card" card_title="Component Information" id="component-information" %}
30
+ {% component "card" card_title="Issue category information" id="component-information" %}
31
31
  {% fill "card_content" %}
32
32
  <dl class="grid grid-cols-1 gap-x-4 gap-y-8 sm:grid-cols-2">
33
33
  {% if component.description %}
@@ -59,5 +59,5 @@ class ComponentsViewList(SingleTableMixin, FilterView):
59
59
  "metrics_period",
60
60
  "group",
61
61
  ]
62
- context["page_title"] = "Components List"
62
+ context["page_title"] = "Issue categories list"
63
63
  return context
@@ -88,8 +88,8 @@ class RaidJiraClient(JiraClient):
88
88
  f"Suggested team to be routed: *{suggested_team_routing}*"
89
89
  )
90
90
  if business_impact and business_impact != "N/A":
91
- if business_impact not in {"Low", "Medium", "High"}:
92
- raise ValueError("Business impact must be Low, Medium or High")
91
+ if business_impact not in {"Lowest", "Low", "Medium", "High", "Highest"}:
92
+ raise ValueError("Business impact must be Lowest, Low, Medium, High or Highest")
93
93
  extra_args["customfield_10936"] = {"value": business_impact}
94
94
  if platform:
95
95
  platform = platform.replace("platform-", "")
@@ -171,7 +171,7 @@ class UserGroup(models.Model):
171
171
  Component,
172
172
  related_name="usergroups",
173
173
  blank=True,
174
- help_text="Incident created with this usergroup automatically add the group members to these components.",
174
+ help_text="Incident created with this usergroup automatically add the group members to these issue categories.",
175
175
  )
176
176
 
177
177
  tag = models.CharField(
@@ -60,7 +60,7 @@ class CreateIncidentFormSlack(CreateIncidentForm):
60
60
  },
61
61
  "component": {
62
62
  "input": {
63
- "placeholder": "Select affected component",
63
+ "placeholder": "Select affected issue category",
64
64
  },
65
65
  },
66
66
  }
@@ -100,10 +100,11 @@ class SelectImpactModal(
100
100
  else:
101
101
  err_msg = f"Invalid priority data: {priority_data}" # type: ignore[unreachable]
102
102
  raise TypeError(err_msg)
103
+ process = ":slack: Slack :jira_new: Jira ticket" if open_incident_context.get("response_type") == "critical" else ":jira_new: Jira ticket"
103
104
  blocks.extend((
104
105
  DividerBlock(),
105
106
  SectionBlock(
106
- text=f"💡 Suggested priority: {priority} - {priority.description}\n⏱️ SLA: {priority.sla}"
107
+ text=f"💡 Selected priority: {priority} - {priority.description}\n⏱️ SLA: {priority.sla}\n{process}"
107
108
  ),
108
109
  ))
109
110
 
@@ -173,7 +174,7 @@ class SelectImpactModal(
173
174
  def _calculate_proposed_incident_type(
174
175
  suggested_priority_value: int,
175
176
  ) -> ResponseType:
176
- return "critical" if suggested_priority_value <= 2 else "normal"
177
+ return "critical" if suggested_priority_value <= 3 else "normal"
177
178
 
178
179
  @staticmethod
179
180
  def _update_private_metadata(
@@ -53,7 +53,7 @@ class UpdateStatusFormSlack(UpdateStatusForm):
53
53
  },
54
54
  "component": {
55
55
  "input": {
56
- "placeholder": "Select affected component",
56
+ "placeholder": "Select affected issue category",
57
57
  }
58
58
  },
59
59
  }
@@ -28,8 +28,8 @@ def group() -> Group:
28
28
  @pytest.fixture
29
29
  def components(group: Group):
30
30
  return [
31
- Component.objects.create(name="Component 1", group=group, order=1),
32
- Component.objects.create(name="Component 2", group=group, order=2),
31
+ Component.objects.create(name="Issue category 1", group=group, order=1),
32
+ Component.objects.create(name="Issue category 2", group=group, order=2),
33
33
  ]
34
34
 
35
35
 
@@ -221,7 +221,7 @@ valid_submission = {
221
221
  {
222
222
  "type": "input",
223
223
  "block_id": "component",
224
- "label": {"type": "plain_text", "text": "Component", "emoji": True},
224
+ "label": {"type": "plain_text", "text": "Issue category", "emoji": True},
225
225
  "optional": False,
226
226
  "dispatch_action": False,
227
227
  "element": {
@@ -229,7 +229,7 @@ valid_submission = {
229
229
  "action_id": "component",
230
230
  "placeholder": {
231
231
  "type": "plain_text",
232
- "text": "Select affected component",
232
+ "text": "Select affected issue category",
233
233
  "emoji": True,
234
234
  },
235
235
  "option_groups": [
@@ -251,7 +251,7 @@ valid_submission = {
251
251
  {
252
252
  "type": "input",
253
253
  "block_id": "component",
254
- "label": {"type": "plain_text", "text": "Component", "emoji": True},
254
+ "label": {"type": "plain_text", "text": "Issue category", "emoji": True},
255
255
  "optional": False,
256
256
  "dispatch_action": False,
257
257
  "element": {
@@ -259,7 +259,7 @@ valid_submission = {
259
259
  "action_id": "component",
260
260
  "placeholder": {
261
261
  "type": "plain_text",
262
- "text": "Select affected component",
262
+ "text": "Select affected issue category",
263
263
  "emoji": True,
264
264
  },
265
265
  "initial_option": {