firefighter-incident 0.0.32__tar.gz → 0.0.34__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 (535) hide show
  1. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/PKG-INFO +1 -1
  2. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/_version.py +2 -2
  3. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/api/admin.py +1 -1
  4. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/api/authentication.py +0 -1
  5. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/confluence/service.py +0 -1
  6. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/firefighter/sso.py +0 -1
  7. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/forms/unified_incident.py +3 -11
  8. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/models/incident_category.py +0 -1
  9. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/tasks/updateoncall.py +2 -2
  10. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/views/date_utils.py +0 -1
  11. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/admin.py +1 -2
  12. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/management/commands/generate_manifest.py +2 -4
  13. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/messages/slack_messages.py +0 -1
  14. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/models/conversation.py +0 -1
  15. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/signals/incident_updated.py +0 -1
  16. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/signals/postmortem_created.py +1 -4
  17. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/views/modals/edit.py +1 -4
  18. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/views/modals/open.py +3 -4
  19. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/views/modals/opening/check_current_incidents.py +0 -1
  20. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/views/modals/opening/set_details.py +0 -1
  21. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/views/modals/trigger_oncall.py +0 -1
  22. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_firefighter/test_logging.py +0 -1
  23. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/main.py +0 -1
  24. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/pyproject.toml +28 -24
  25. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/.gitignore +0 -0
  26. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/LICENSE +0 -0
  27. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/README.md +0 -0
  28. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/__init__.py +0 -0
  29. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/api/__init__.py +0 -0
  30. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/api/apps.py +0 -0
  31. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/api/migrations/0001_initial.py +0 -0
  32. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/api/migrations/0002_alter_apitokenproxy_options.py +0 -0
  33. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/api/migrations/0003_alter_apitokenproxy_options.py +0 -0
  34. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/api/migrations/__init__.py +0 -0
  35. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/api/models.py +0 -0
  36. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/api/permissions.py +0 -0
  37. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/api/renderer.py +0 -0
  38. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/api/serializers.py +0 -0
  39. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/api/urls.py +0 -0
  40. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/api/views/__init__.py +0 -0
  41. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/api/views/_base.py +0 -0
  42. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/api/views/components.py +0 -0
  43. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/api/views/environments.py +0 -0
  44. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/api/views/groups.py +0 -0
  45. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/api/views/incident_cost_types.py +0 -0
  46. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/api/views/incident_costs.py +0 -0
  47. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/api/views/incidents.py +0 -0
  48. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/api/views/severities.py +0 -0
  49. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/components/__init__.py +0 -0
  50. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/components/avatar/__init__.py +0 -0
  51. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/components/avatar/avatar.html +0 -0
  52. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/components/avatar/avatar.py +0 -0
  53. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/components/card/__init__.py +0 -0
  54. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/components/card/card.html +0 -0
  55. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/components/card/card.py +0 -0
  56. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/components/export_button/__init__.py +0 -0
  57. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/components/export_button/export_button.html +0 -0
  58. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/components/export_button/export_button.py +0 -0
  59. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/components/form/__init__.py +0 -0
  60. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/components/form/form.html +0 -0
  61. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/components/form/form.py +0 -0
  62. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/components/form_field/__init__.py +0 -0
  63. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/components/form_field/form_field.html +0 -0
  64. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/components/form_field/form_field.py +0 -0
  65. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/components/messages/__init__.py +0 -0
  66. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/components/messages/messages.html +0 -0
  67. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/components/messages/messages.py +0 -0
  68. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/components/modal/__init__.py +0 -0
  69. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/components/modal/modal.html +0 -0
  70. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/components/modal/modal.py +0 -0
  71. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/confluence/__init__.py +0 -0
  72. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/confluence/admin.py +0 -0
  73. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/confluence/apps.py +0 -0
  74. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/confluence/client.py +0 -0
  75. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/confluence/management/__init__.py +0 -0
  76. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/confluence/management/commands/__init__.py +0 -0
  77. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/confluence/management/commands/sort_postmortems.py +0 -0
  78. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/confluence/management/commands/sort_runbooks.py +0 -0
  79. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/confluence/management/commands/sync_postmortems.py +0 -0
  80. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/confluence/management/commands/sync_runbooks.py +0 -0
  81. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/confluence/migrations/0001_initial_oss.py +0 -0
  82. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/confluence/migrations/__init__.py +0 -0
  83. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/confluence/models.py +0 -0
  84. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/confluence/serializers.py +0 -0
  85. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/confluence/signals/__init__.py +0 -0
  86. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/confluence/signals/incident_updated.py +0 -0
  87. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/confluence/tables.py +0 -0
  88. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/confluence/tasks/__init__.py +0 -0
  89. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/confluence/tasks/archive_postmortems.py +0 -0
  90. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/confluence/tasks/sort_runbooks.py +0 -0
  91. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/confluence/tasks/sync_pages_content.py +0 -0
  92. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/confluence/tasks/sync_postmortems.py +0 -0
  93. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/confluence/tasks/sync_runbooks.py +0 -0
  94. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/confluence/templates/oncall_team.xml +0 -0
  95. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/confluence/templates/pages/runbook_list.html +0 -0
  96. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/confluence/urls.py +0 -0
  97. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/confluence/utils.py +0 -0
  98. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/confluence/views/__init__.py +0 -0
  99. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/confluence/views/api.py +0 -0
  100. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/confluence/views/postmortem/__init__.py +0 -0
  101. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/confluence/views/postmortem/postmortem_detail.py +0 -0
  102. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/confluence/views/runbook/__init__.py +0 -0
  103. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/confluence/views/runbook/runbook_list.py +0 -0
  104. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/firefighter/__init__.py +0 -0
  105. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/firefighter/admin.py +0 -0
  106. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/firefighter/apps.py +0 -0
  107. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/firefighter/asgi.py +0 -0
  108. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/firefighter/celery_client.py +0 -0
  109. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/firefighter/fields_forms_widgets.py +0 -0
  110. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/firefighter/filters.py +0 -0
  111. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/firefighter/formats/__init__.py +0 -0
  112. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/firefighter/formats/en/__init__.py +0 -0
  113. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/firefighter/formats/en/formats.py +0 -0
  114. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/firefighter/http_client.py +0 -0
  115. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/firefighter/management/__init__.py +0 -0
  116. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/firefighter/management/commands/__init__.py +0 -0
  117. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/firefighter/management/commands/task.py +0 -0
  118. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/firefighter/middleware.py +0 -0
  119. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/firefighter/settings/__init__.py +0 -0
  120. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/firefighter/settings/components/__init__.py +0 -0
  121. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/firefighter/settings/components/api.py +0 -0
  122. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/firefighter/settings/components/caches.py +0 -0
  123. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/firefighter/settings/components/celery.py +0 -0
  124. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/firefighter/settings/components/common.py +0 -0
  125. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/firefighter/settings/components/confluence.py +0 -0
  126. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/firefighter/settings/components/jira_app.py +0 -0
  127. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/firefighter/settings/components/logging.py +0 -0
  128. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/firefighter/settings/components/pagerduty.py +0 -0
  129. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/firefighter/settings/components/raid.py +0 -0
  130. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/firefighter/settings/components/slack.py +0 -0
  131. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/firefighter/settings/environments/__init__.py +0 -0
  132. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/firefighter/settings/environments/dev.py +0 -0
  133. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/firefighter/settings/environments/prod.py +0 -0
  134. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/firefighter/settings/settings_builder.py +0 -0
  135. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/firefighter/settings/settings_utils.py +0 -0
  136. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/firefighter/tables_utils.py +0 -0
  137. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/firefighter/templates/admin/base.html +0 -0
  138. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/firefighter/templates/admin/login.html +0 -0
  139. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/firefighter/templates/admin/send_message_conversation.html +0 -0
  140. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/firefighter/templates/robots.txt +0 -0
  141. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/firefighter/urls.py +0 -0
  142. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/firefighter/utils.py +0 -0
  143. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/firefighter/views.py +0 -0
  144. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/firefighter/wsgi.py +0 -0
  145. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/__init__.py +0 -0
  146. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/admin.py +0 -0
  147. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/apps.py +0 -0
  148. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/enums.py +0 -0
  149. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/factories.py +0 -0
  150. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/forms/__init__.py +0 -0
  151. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/forms/close_incident.py +0 -0
  152. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/forms/closure_reason.py +0 -0
  153. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/forms/create_incident.py +0 -0
  154. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/forms/edit.py +0 -0
  155. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/forms/select_impact.py +0 -0
  156. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/forms/update_key_events.py +0 -0
  157. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/forms/update_roles.py +0 -0
  158. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/forms/update_status.py +0 -0
  159. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/forms/utils.py +0 -0
  160. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/management/__init__.py +0 -0
  161. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/management/commands/__init__.py +0 -0
  162. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/management/commands/backdate_incident_mitigated.py +0 -0
  163. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/management/commands/test_postmortem_reminders.py +0 -0
  164. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/menus.py +0 -0
  165. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/migrations/0001_initial_oss.py +0 -0
  166. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/migrations/0002_alter_severity_name_alter_user_password_featureteam.py +0 -0
  167. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/migrations/0003_delete_featureteam.py +0 -0
  168. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/migrations/0004_incidentupdate_environment.py +0 -0
  169. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/migrations/0005_enable_from_p1_to_p5_priority.py +0 -0
  170. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/migrations/0006_update_group_names.py +0 -0
  171. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/migrations/0007_update_component_name.py +0 -0
  172. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/migrations/0008_impact_level.py +0 -0
  173. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/migrations/0009_update_sla.py +0 -0
  174. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/migrations/0010_update_components.py +0 -0
  175. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/migrations/0011_update_incidents.py +0 -0
  176. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/migrations/0012_alter_impactlevel.py +0 -0
  177. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/migrations/0013_add_missing_component.py +0 -0
  178. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/migrations/0014_update_components_slack_groups.py +0 -0
  179. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/migrations/0015_update_impact_level.py +0 -0
  180. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/migrations/0016_update_business_incidents_and_level.py +0 -0
  181. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/migrations/0017_reorder_impact_types.py +0 -0
  182. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/migrations/0018_update_impactlevel_names.py +0 -0
  183. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/migrations/0019_set_security_components_private.py +0 -0
  184. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/migrations/0020_create_incident_category_model.py +0 -0
  185. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/migrations/0021_copy_component_data_to_incident_category.py +0 -0
  186. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/migrations/0022_add_incident_category_fields.py +0 -0
  187. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/migrations/0023_populate_incident_category_references.py +0 -0
  188. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/migrations/0024_remove_component_fields_and_model.py +0 -0
  189. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/migrations/0025_make_incident_category_required.py +0 -0
  190. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/migrations/0026_alter_incidentcategory_options_and_more.py +0 -0
  191. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/migrations/0027_add_closure_fields.py +0 -0
  192. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/migrations/0028_add_closure_reason_constraint.py +0 -0
  193. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/migrations/0029_add_custom_fields_to_incident.py +0 -0
  194. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/migrations/0030_add_mitigated_at_field.py +0 -0
  195. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/migrations/__init__.py +0 -0
  196. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/models/__init__.py +0 -0
  197. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/models/environment.py +0 -0
  198. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/models/group.py +0 -0
  199. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/models/impact.py +0 -0
  200. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/models/incident.py +0 -0
  201. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/models/incident_cost.py +0 -0
  202. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/models/incident_cost_type.py +0 -0
  203. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/models/incident_membership.py +0 -0
  204. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/models/incident_role_type.py +0 -0
  205. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/models/incident_update.py +0 -0
  206. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/models/metric_type.py +0 -0
  207. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/models/milestone_type.py +0 -0
  208. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/models/priority.py +0 -0
  209. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/models/severity.py +0 -0
  210. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/models/user.py +0 -0
  211. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/signals.py +0 -0
  212. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/static/css/incident.css +0 -0
  213. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/static/css/main.css +0 -0
  214. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/static/css/main.min.css +0 -0
  215. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/static/css/tailwind.css +0 -0
  216. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/static/img/favicon/android-chrome-192x192.png +0 -0
  217. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/static/img/favicon/android-chrome-512x512.png +0 -0
  218. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/static/img/favicon/apple-touch-icon.png +0 -0
  219. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/static/img/favicon/favicon-16x16.png +0 -0
  220. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/static/img/favicon/favicon-32x32.png +0 -0
  221. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/static/img/favicon/favicon.ico +0 -0
  222. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/static/img/favicon/site.webmanifest +0 -0
  223. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/static/img/gameday.png +0 -0
  224. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/static/img/logo-firefighter.png +0 -0
  225. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/static/img/p1.png +0 -0
  226. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/static/img/p2.png +0 -0
  227. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/static/img/p3.png +0 -0
  228. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/static/img/p4.png +0 -0
  229. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/static/img/p5.png +0 -0
  230. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/static/js/main.js +0 -0
  231. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/static/js/main.min.js +0 -0
  232. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/tables.py +0 -0
  233. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/tasks/__init__.py +0 -0
  234. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/templates/incidents/errors/base.html +0 -0
  235. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/templates/incidents/filter.html +0 -0
  236. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/templates/incidents/table/priority_column.html +0 -0
  237. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/templates/incidents/table/status_column.html +0 -0
  238. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/templates/incidents/table.html +0 -0
  239. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/templates/incidents/widgets/form_container.html +0 -0
  240. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/templates/incidents/widgets/grouped_checkbox_nested.html +0 -0
  241. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/templates/incidents/widgets/input_option.html +0 -0
  242. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/templates/layouts/index.html +0 -0
  243. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/templates/layouts/partials/created_at_help.html +0 -0
  244. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/templates/layouts/partials/environment_pill.html +0 -0
  245. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/templates/layouts/partials/footer.html +0 -0
  246. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/templates/layouts/partials/header.html +0 -0
  247. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/templates/layouts/partials/incident_card.html +0 -0
  248. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/templates/layouts/partials/incident_metrics.html +0 -0
  249. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/templates/layouts/partials/incident_timeline.html +0 -0
  250. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/templates/layouts/partials/incident_update_key_events_view.html +0 -0
  251. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/templates/layouts/partials/incident_update_key_events_view_modal.html +0 -0
  252. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/templates/layouts/partials/partial_table_list_paginated.html +0 -0
  253. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/templates/layouts/partials/priority_icon.html +0 -0
  254. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/templates/layouts/partials/priority_pill.html +0 -0
  255. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/templates/layouts/partials/status_pill.html +0 -0
  256. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/templates/layouts/partials/table.html +0 -0
  257. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/templates/layouts/partials/user_card.html +0 -0
  258. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/templates/layouts/partials/user_tooltip.html +0 -0
  259. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/templates/layouts/view_filters.html +0 -0
  260. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/templates/pages/dashboard.html +0 -0
  261. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/templates/pages/docs_metrics.html +0 -0
  262. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/templates/pages/incident_category_detail.html +0 -0
  263. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/templates/pages/incident_category_list.html +0 -0
  264. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/templates/pages/incident_create.html +0 -0
  265. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/templates/pages/incident_detail.html +0 -0
  266. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/templates/pages/incident_list.html +0 -0
  267. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/templates/pages/incident_role_types_detail.html +0 -0
  268. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/templates/pages/incident_role_types_list.html +0 -0
  269. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/templates/pages/incident_statistics.html +0 -0
  270. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/templates/pages/incident_statistics_partial.html +0 -0
  271. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/templates/pages/incident_update_key_events_form.html +0 -0
  272. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/templates/pages/user_detail.html +0 -0
  273. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/urls.py +0 -0
  274. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/views/__init__.py +0 -0
  275. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/views/components/__init__.py +0 -0
  276. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/views/components/details.py +0 -0
  277. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/views/components/list.py +0 -0
  278. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/views/date_filter.py +0 -0
  279. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/views/docs/__init__.py +0 -0
  280. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/views/docs/metrics.py +0 -0
  281. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/views/docs/role_types.py +0 -0
  282. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/views/errors.py +0 -0
  283. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/views/reports.py +0 -0
  284. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/views/users/__init__.py +0 -0
  285. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/views/users/details.py +0 -0
  286. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/incidents/views/views.py +0 -0
  287. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/jira_app/__init__.py +0 -0
  288. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/jira_app/admin.py +0 -0
  289. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/jira_app/apps.py +0 -0
  290. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/jira_app/client.py +0 -0
  291. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/jira_app/management/__init__.py +0 -0
  292. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/jira_app/management/commands/__init__.py +0 -0
  293. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/jira_app/migrations/0001_initial_oss.py +0 -0
  294. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/jira_app/migrations/0002_add_jira_postmortem_model.py +0 -0
  295. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/jira_app/migrations/__init__.py +0 -0
  296. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/jira_app/models.py +0 -0
  297. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/jira_app/service_postmortem.py +0 -0
  298. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/jira_app/signals/__init__.py +0 -0
  299. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/jira_app/signals/incident_key_events_updated.py +0 -0
  300. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/jira_app/signals/postmortem_created.py +0 -0
  301. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/jira_app/tasks/__init__.py +0 -0
  302. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/jira_app/tasks/sync_users_jira.py +0 -0
  303. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/jira_app/templates/jira/postmortem/impact.txt +0 -0
  304. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/jira_app/templates/jira/postmortem/incident_summary.txt +0 -0
  305. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/jira_app/templates/jira/postmortem/mitigation_actions.txt +0 -0
  306. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/jira_app/templates/jira/postmortem/root_causes.txt +0 -0
  307. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/jira_app/templates/jira/postmortem/timeline.txt +0 -0
  308. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/jira_app/types.py +0 -0
  309. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/jira_app/utils.py +0 -0
  310. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/logging/__init__.py +0 -0
  311. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/logging/custom_json_formatter.py +0 -0
  312. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/logging/pretty_formatter.py +0 -0
  313. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/pagerduty/__init__.py +0 -0
  314. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/pagerduty/admin.py +0 -0
  315. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/pagerduty/apps.py +0 -0
  316. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/pagerduty/client.py +0 -0
  317. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/pagerduty/forms/__init__.py +0 -0
  318. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/pagerduty/forms/create_pagerduty_incident.py +0 -0
  319. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/pagerduty/migrations/0001_initial_oss.py +0 -0
  320. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/pagerduty/migrations/__init__.py +0 -0
  321. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/pagerduty/models.py +0 -0
  322. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/pagerduty/service.py +0 -0
  323. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/pagerduty/signals/__init__.py +0 -0
  324. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/pagerduty/signals/get_invites_from_pagerduty.py +0 -0
  325. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/pagerduty/signals/incident_channel_done_oncall.py +0 -0
  326. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/pagerduty/tasks/__init__.py +0 -0
  327. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/pagerduty/tasks/fetch_oncall.py +0 -0
  328. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/pagerduty/tasks/fetch_services.py +0 -0
  329. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/pagerduty/tasks/fetch_users.py +0 -0
  330. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/pagerduty/tasks/trigger_oncall.py +0 -0
  331. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/pagerduty/templates/pages/oncall_list.html +0 -0
  332. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/pagerduty/templates/pages/oncall_trigger.html +0 -0
  333. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/pagerduty/templates/partials/trigger_oncall_form_view.html +0 -0
  334. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/pagerduty/templates/partials/trigger_oncall_form_view_modal.html +0 -0
  335. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/pagerduty/urls.py +0 -0
  336. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/pagerduty/views/__init__.py +0 -0
  337. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/pagerduty/views/oncall_list.py +0 -0
  338. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/pagerduty/views/oncall_trigger.py +0 -0
  339. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/raid/__init__.py +0 -0
  340. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/raid/admin.py +0 -0
  341. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/raid/apps.py +0 -0
  342. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/raid/client.py +0 -0
  343. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/raid/forms.py +0 -0
  344. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/raid/messages.py +0 -0
  345. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/raid/migrations/0001_initial_oss.py +0 -0
  346. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/raid/migrations/0002_featureteam_remove_qualifierrotation_jira_user_and_more.py +0 -0
  347. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/raid/migrations/0003_delete_raidarea.py +0 -0
  348. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/raid/migrations/__init__.py +0 -0
  349. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/raid/models.py +0 -0
  350. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/raid/resources.py +0 -0
  351. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/raid/serializers.py +0 -0
  352. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/raid/service.py +0 -0
  353. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/raid/signals/__init__.py +0 -0
  354. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/raid/signals/incident_updated.py +0 -0
  355. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/raid/tasks/__init__.py +0 -0
  356. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/raid/types.py +0 -0
  357. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/raid/urls.py +0 -0
  358. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/raid/utils.py +0 -0
  359. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/raid/views/__init__.py +0 -0
  360. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/__init__.py +0 -0
  361. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/apps.py +0 -0
  362. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/factories.py +0 -0
  363. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/forms/__init__.py +0 -0
  364. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/forms/sos_form.py +0 -0
  365. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/management/__init__.py +0 -0
  366. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/management/commands/__init__.py +0 -0
  367. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/management/commands/switch_test_users.py +0 -0
  368. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/messages/__init__.py +0 -0
  369. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/messages/base.py +0 -0
  370. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/migrations/0001_initial_oss.py +0 -0
  371. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/migrations/0002_usergroup_tag.py +0 -0
  372. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/migrations/0003_alter_usergroup_tag.py +0 -0
  373. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/migrations/0004_alter_usergroup_components.py +0 -0
  374. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/migrations/0005_add_incident_categories_fields.py +0 -0
  375. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/migrations/0006_copy_components_to_incident_categories.py +0 -0
  376. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/migrations/0007_remove_components_fields.py +0 -0
  377. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/migrations/0008_alter_conversation_incident_categories_and_more.py +0 -0
  378. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/migrations/0009_add_postmortem_reminder_periodic_task.py +0 -0
  379. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/migrations/__init__.py +0 -0
  380. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/models/__init__.py +0 -0
  381. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/models/incident_channel.py +0 -0
  382. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/models/message.py +0 -0
  383. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/models/sos.py +0 -0
  384. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/models/user.py +0 -0
  385. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/models/user_group.py +0 -0
  386. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/rules.py +0 -0
  387. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/signals/__init__.py +0 -0
  388. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/signals/create_incident_conversation.py +0 -0
  389. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/signals/get_users.py +0 -0
  390. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/signals/handle_incident_channel_done.py +0 -0
  391. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/signals/incident_closed.py +0 -0
  392. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/signals/roles_reminders.py +0 -0
  393. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/slack_app.py +0 -0
  394. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/slack_incident_context.py +0 -0
  395. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/slack_templating.py +0 -0
  396. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/tasks/__init__.py +0 -0
  397. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/tasks/fetch_conversations_members.py +0 -0
  398. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/tasks/reminder_postmortem.py +0 -0
  399. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/tasks/send_message.py +0 -0
  400. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/tasks/send_postmortem_reminders.py +0 -0
  401. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/tasks/send_reminders.py +0 -0
  402. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/tasks/sync_users.py +0 -0
  403. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/tasks/update_usergroups_members.py +0 -0
  404. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/tasks/update_users.py +0 -0
  405. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/urls.py +0 -0
  406. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/utils.py +0 -0
  407. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/views/__init__.py +0 -0
  408. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/views/events/__init__.py +0 -0
  409. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/views/events/actions_and_shortcuts.py +0 -0
  410. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/views/events/channel_archive.py +0 -0
  411. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/views/events/channel_id_changed.py +0 -0
  412. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/views/events/channel_rename.py +0 -0
  413. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/views/events/channel_shared.py +0 -0
  414. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/views/events/channel_unarchive.py +0 -0
  415. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/views/events/channel_unshared.py +0 -0
  416. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/views/events/commands.py +0 -0
  417. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/views/events/home.py +0 -0
  418. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/views/events/member_joined_channel.py +0 -0
  419. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/views/events/member_left_channel.py +0 -0
  420. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/views/events/message.py +0 -0
  421. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/views/events/message_deleted.py +0 -0
  422. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/views/events/reaction_added.py +0 -0
  423. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/views/modals/__init__.py +0 -0
  424. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/views/modals/base_modal/__init__.py +0 -0
  425. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/views/modals/base_modal/base.py +0 -0
  426. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/views/modals/base_modal/base_mixins.py +0 -0
  427. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/views/modals/base_modal/form_utils.py +0 -0
  428. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/views/modals/base_modal/mixins.py +0 -0
  429. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/views/modals/base_modal/modal_utils.py +0 -0
  430. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/views/modals/close.py +0 -0
  431. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/views/modals/closure_reason.py +0 -0
  432. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/views/modals/downgrade_workflow.py +0 -0
  433. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/views/modals/key_event_message.py +0 -0
  434. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/views/modals/opening/__init__.py +0 -0
  435. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/views/modals/opening/details/__init__.py +0 -0
  436. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/views/modals/opening/details/unified.py +0 -0
  437. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/views/modals/opening/select_impact.py +0 -0
  438. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/views/modals/opening/types.py +0 -0
  439. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/views/modals/postmortem.py +0 -0
  440. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/views/modals/select.py +0 -0
  441. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/views/modals/send_sos.py +0 -0
  442. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/views/modals/status.py +0 -0
  443. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/views/modals/update.py +0 -0
  444. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/views/modals/update_roles.py +0 -0
  445. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/views/modals/update_status.py +0 -0
  446. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/views/modals/utils.py +0 -0
  447. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter/slack/views/views.py +0 -0
  448. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_fixtures/incidents/environments.json +0 -0
  449. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_fixtures/incidents/groups.json +0 -0
  450. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_fixtures/incidents/impact_level.json +0 -0
  451. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_fixtures/incidents/impact_type.json +0 -0
  452. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_fixtures/incidents/incident_categories.json +0 -0
  453. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_fixtures/incidents/incident_role_type.json +0 -0
  454. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_fixtures/incidents/metric_type.json +0 -0
  455. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_fixtures/incidents/milestone_type.json +0 -0
  456. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_fixtures/incidents/priorities.json +0 -0
  457. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_fixtures/incidents/severities.json +0 -0
  458. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/__init__.py +0 -0
  459. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/conftest.py +0 -0
  460. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_api/test_api_landbot.py +0 -0
  461. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_api/test_api_urls.py +0 -0
  462. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_api/test_renderer.py +0 -0
  463. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_confluence/test_confluence_utils.py +0 -0
  464. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_firefighter/test_firefighter_utils.py +0 -0
  465. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_firefighter/test_sso.py +0 -0
  466. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_firefighter/test_urls.py +0 -0
  467. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_incidents/test_enums.py +0 -0
  468. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_incidents/test_forms/conftest.py +0 -0
  469. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_incidents/test_forms/test_closure_reason.py +0 -0
  470. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_incidents/test_forms/test_form_select_impact.py +0 -0
  471. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_incidents/test_forms/test_form_utils.py +0 -0
  472. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_incidents/test_forms/test_mitigated_reopening.py +0 -0
  473. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_incidents/test_forms/test_unified_incident_form.py +0 -0
  474. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_incidents/test_forms/test_unified_incident_form_integration.py +0 -0
  475. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_incidents/test_forms/test_unified_incident_form_p4_p5.py +0 -0
  476. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_incidents/test_forms/test_update_key_events.py +0 -0
  477. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_incidents/test_forms/test_update_status_workflow.py +0 -0
  478. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_incidents/test_forms/test_workflow_transitions.py +0 -0
  479. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_incidents/test_incident_urls.py +0 -0
  480. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_incidents/test_models/test_incident_category.py +0 -0
  481. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_incidents/test_models/test_incident_model.py +0 -0
  482. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_incidents/test_models/test_migrations/test_incident_migrations.py +0 -0
  483. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_incidents/test_utils/test_date_utils.py +0 -0
  484. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_incidents/test_views/test_incident_detail_view.py +0 -0
  485. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_incidents/test_views/test_index_view.py +0 -0
  486. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_jira_app/__init__.py +0 -0
  487. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_jira_app/conftest.py +0 -0
  488. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_jira_app/test_incident_key_events_sync.py +0 -0
  489. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_jira_app/test_jira_client_watchers.py +0 -0
  490. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_jira_app/test_models.py +0 -0
  491. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_jira_app/test_postmortem_issue_link.py +0 -0
  492. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_jira_app/test_postmortem_service.py +0 -0
  493. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_jira_app/test_timeline_template.py +0 -0
  494. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_raid/conftest.py +0 -0
  495. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_raid/test_raid_alert_p4_p5.py +0 -0
  496. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_raid/test_raid_client.py +0 -0
  497. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_raid/test_raid_client_users.py +0 -0
  498. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_raid/test_raid_forms.py +0 -0
  499. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_raid/test_raid_models.py +0 -0
  500. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_raid/test_raid_serializers.py +0 -0
  501. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_raid/test_raid_service.py +0 -0
  502. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_raid/test_raid_signals.py +0 -0
  503. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_raid/test_raid_transitions.py +0 -0
  504. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_raid/test_raid_utils.py +0 -0
  505. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_raid/test_raid_views.py +0 -0
  506. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_raid/test_zendesk_integration.py +0 -0
  507. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_slack/conftest.py +0 -0
  508. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_slack/messages/__init__.py +0 -0
  509. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_slack/messages/test_postmortem_reminder.py +0 -0
  510. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_slack/messages/test_slack_messages.py +0 -0
  511. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_slack/test_conversation_tags.py +0 -0
  512. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_slack/test_models/test_conversations.py +0 -0
  513. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_slack/test_models/test_incident_channel.py +0 -0
  514. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_slack/test_models/test_slack_user.py +0 -0
  515. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_slack/test_signals_downgrade.py +0 -0
  516. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_slack/test_slack_utils.py +0 -0
  517. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_slack/views/modals/conftest.py +0 -0
  518. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_slack/views/modals/test_close.py +0 -0
  519. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_slack/views/modals/test_closure_reason_modal.py +0 -0
  520. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_slack/views/modals/test_edit.py +0 -0
  521. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_slack/views/modals/test_form_utils_multiple_choice.py +0 -0
  522. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_slack/views/modals/test_key_event_message.py +0 -0
  523. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_slack/views/modals/test_open.py +0 -0
  524. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_slack/views/modals/test_opening_unified.py +0 -0
  525. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_slack/views/modals/test_postmortem_modal.py +0 -0
  526. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_slack/views/modals/test_send_sos.py +0 -0
  527. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_slack/views/modals/test_status.py +0 -0
  528. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_slack/views/modals/test_update_status.py +0 -0
  529. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/firefighter_tests/test_slack/views/modals/test_utils.py +0 -0
  530. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/gunicorn.conf.py +0 -0
  531. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/manage.py +0 -0
  532. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/package-lock.json +0 -0
  533. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/package.json +0 -0
  534. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/scripts/gen_credits.py +0 -0
  535. {firefighter_incident-0.0.32 → firefighter_incident-0.0.34}/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.32
3
+ Version: 0.0.34
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/
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '0.0.32'
32
- __version_tuple__ = version_tuple = (0, 0, 32)
31
+ __version__ = version = '0.0.34'
32
+ __version_tuple__ = version_tuple = (0, 0, 34)
33
33
 
34
34
  __commit_id__ = commit_id = None
@@ -49,7 +49,7 @@ class APITokenAdmin(TokenAdmin):
49
49
  self,
50
50
  request: HttpRequest, # type: ignore[override]
51
51
  obj: APITokenProxy | None = None,
52
- change: bool = False, # noqa: FBT001, FBT002
52
+ change: bool = False, # noqa: FBT002
53
53
  **kwargs: Any,
54
54
  ) -> type[ModelForm[APITokenProxy]]:
55
55
  """Prefill the form with the current user."""
@@ -14,7 +14,6 @@ class BearerTokenAuthentication(TokenAuthentication):
14
14
  keyword = "Bearer"
15
15
 
16
16
  def get_model(self) -> type[Model]:
17
- # ruff: noqa: PLC0415
18
17
  from firefighter.api.models import APIToken
19
18
 
20
19
  return APIToken
@@ -20,7 +20,6 @@ logger = logging.getLogger(__name__)
20
20
 
21
21
  @cache
22
22
  def get_confluence_client() -> type[ConfluenceClient]:
23
- # ruff: noqa: PLC0415
24
23
  from firefighter.confluence.client import ConfluenceClient
25
24
 
26
25
  return ConfluenceClient
@@ -10,7 +10,6 @@ logger = logging.getLogger(__name__)
10
10
 
11
11
 
12
12
  def link_auth_user(user: User, claim: dict[str, str | list[str]]) -> None:
13
- # ruff: noqa: PLC0415
14
13
 
15
14
  # Check that roles are in the claim
16
15
  group_names = claim.get("roles")
@@ -11,12 +11,11 @@ from firefighter.incidents.forms.create_incident import CreateIncidentFormBase
11
11
  from firefighter.incidents.forms.select_impact import SelectImpactForm
12
12
  from firefighter.incidents.forms.utils import GroupedModelChoiceField
13
13
  from firefighter.incidents.models import Environment, IncidentCategory, Priority
14
- from firefighter.incidents.models.impact import LevelChoices
14
+ from firefighter.incidents.models.impact import ImpactLevel, LevelChoices
15
15
  from firefighter.incidents.models.incident import Incident
16
16
  from firefighter.incidents.signals import create_incident_conversation
17
17
 
18
18
  if TYPE_CHECKING:
19
- from firefighter.incidents.models.impact import ImpactLevel
20
19
  from firefighter.incidents.models.user import User
21
20
  from firefighter.jira_app.models import JiraUser
22
21
 
@@ -232,13 +231,9 @@ class UnifiedIncidentForm(CreateIncidentFormBase):
232
231
 
233
232
  # If it's a UUID string, fetch the ImpactLevel from database
234
233
  if isinstance(impact, str):
235
- from firefighter.incidents.models.impact import (
236
- ImpactLevel as ImpactLevelModel,
237
- )
238
-
239
234
  try:
240
- impact_obj = ImpactLevelModel.objects.get(id=impact)
241
- except ImpactLevelModel.DoesNotExist:
235
+ impact_obj = ImpactLevel.objects.get(id=impact)
236
+ except ImpactLevel.DoesNotExist:
242
237
  return False
243
238
  else:
244
239
  return impact_obj.value != LevelChoices.NONE.value
@@ -415,9 +410,6 @@ class UnifiedIncidentForm(CreateIncidentFormBase):
415
410
  creator: User creating the incident
416
411
  impacts_data: Dictionary of impact data
417
412
  """
418
- from firefighter.incidents.forms.select_impact import (
419
- SelectImpactForm,
420
- )
421
413
  from firefighter.raid.client import client as jira_client
422
414
  from firefighter.raid.forms import (
423
415
  alert_slack_new_jira_ticket,
@@ -159,7 +159,6 @@ class IncidentCategory(models.Model):
159
159
  updated_at = models.DateTimeField(auto_now=True)
160
160
 
161
161
  if TYPE_CHECKING:
162
- # ruff: noqa: PLC0415
163
162
  if settings.ENABLE_SLACK:
164
163
  from firefighter.slack.models.conversation import Conversation
165
164
  from firefighter.slack.models.user_group import UserGroup
@@ -3,7 +3,7 @@ from __future__ import annotations
3
3
  import logging
4
4
  from typing import TYPE_CHECKING, Any
5
5
 
6
- from celery import shared_task
6
+ from celery import Signature, shared_task
7
7
  from django.conf import settings
8
8
 
9
9
  from firefighter.slack.slack_templating import user_slack_handle_or_name
@@ -28,7 +28,7 @@ BASE_URL: str = settings.BASE_URL
28
28
  @shared_task(name="incidents.update_oncall")
29
29
  def update_oncall() -> None:
30
30
  """Fetch current on-calls and update the on-call Slack topic and Confluence page."""
31
- chain = (
31
+ chain: Signature[bool] = (
32
32
  fetch_oncalls.s() # pyright: ignore[reportUnboundVariable]
33
33
  | update_oncall_views.s()
34
34
  )
@@ -17,7 +17,6 @@ TZ = timezone.get_current_timezone()
17
17
 
18
18
  @functools.cache
19
19
  def get_ddp() -> DateDataParser:
20
- # ruff: noqa: PLC0415
21
20
  from dateparser.date import DateDataParser
22
21
 
23
22
  return DateDataParser(
@@ -234,7 +234,7 @@ class UserGroupAdmin(admin.ModelAdmin[UserGroup]):
234
234
  request: HttpRequest,
235
235
  obj: UserGroup,
236
236
  form: ModelForm[UserGroup],
237
- change: bool, # noqa: FBT001
237
+ change: bool,
238
238
  ) -> None:
239
239
  # If added, check that we have all properties, or fetch them from firefighter.slack.
240
240
  if not change and not (
@@ -374,7 +374,6 @@ def ask_key_timestamps(
374
374
  """Will send a message to the Incident conversation (if it exists) to ask for key events.
375
375
  TODO Error handling.
376
376
  """
377
- # ruff: noqa: PLC0415
378
377
  from firefighter.slack.views.modals.key_event_message import SlackMessageKeyEvents
379
378
 
380
379
  success: list[tuple[int, bool]] = []
@@ -1,7 +1,9 @@
1
1
  from __future__ import annotations
2
2
 
3
+ import json
3
4
  from typing import TYPE_CHECKING, Any
4
5
 
6
+ import yaml
5
7
  from django.conf import settings
6
8
  from django.core.management.base import (
7
9
  BaseCommand,
@@ -191,11 +193,7 @@ def output_manifest(
191
193
  manifest: dict[str, Any], output_format: str, stdout: OutputWrapper
192
194
  ) -> None:
193
195
  if output_format == "json":
194
- import json
195
-
196
196
  stdout.write(json.dumps(manifest, indent=2, ensure_ascii=False))
197
197
 
198
198
  elif output_format == "yml":
199
- import yaml
200
-
201
199
  stdout.write(yaml.dump(manifest, allow_unicode=True))
@@ -61,7 +61,6 @@ SLACK_APP_EMOJI: str = settings.SLACK_APP_EMOJI
61
61
 
62
62
 
63
63
  def get_key_events_accessory(incident: Incident) -> dict[str, Any]:
64
- # ruff: noqa: PLC0415
65
64
  from firefighter.slack.views.modals.key_event_message import SlackMessageKeyEvents
66
65
 
67
66
  key_events_msg = Message.objects.get_or_none(
@@ -433,7 +433,6 @@ class Conversation(models.Model):
433
433
 
434
434
  @staticmethod
435
435
  def _get_message_manager() -> MessageManager:
436
- # ruff: noqa: PLC0415
437
436
  from firefighter.slack.models.message import Message
438
437
 
439
438
  return Message.objects
@@ -201,7 +201,6 @@ def incident_key_events_updated_handler(
201
201
  logger.info(f"Skipping key events update for incident {incident.id} (direct closure)")
202
202
  return
203
203
 
204
- # Everything in Slack views trigger the Slack handshake, so we delay the import
205
204
  from firefighter.slack.views.modals.key_event_message import (
206
205
  SlackMessageKeyEvents,
207
206
  )
@@ -8,6 +8,7 @@ from slack_sdk.errors import SlackApiError
8
8
 
9
9
  from firefighter.incidents.signals import postmortem_created
10
10
  from firefighter.slack.messages.slack_messages import (
11
+ SlackMessageIncidentDeclaredAnnouncement,
11
12
  SlackMessageIncidentPostMortemCreated,
12
13
  )
13
14
 
@@ -48,10 +49,6 @@ def postmortem_created_send(sender: Any, incident: Incident, **kwargs: Any) -> N
48
49
  )
49
50
 
50
51
  # Update the initial incident message with post-mortem links
51
- from firefighter.slack.messages.slack_messages import (
52
- SlackMessageIncidentDeclaredAnnouncement,
53
- )
54
-
55
52
  incident.conversation.send_message_and_save(
56
53
  SlackMessageIncidentDeclaredAnnouncement(incident)
57
54
  )
@@ -6,6 +6,7 @@ from typing import TYPE_CHECKING, Any
6
6
  from slack_sdk.models.views import View
7
7
 
8
8
  from firefighter.incidents.forms.edit import EditMetaForm
9
+ from firefighter.incidents.models import Environment
9
10
  from firefighter.slack.views.modals.base_modal.base import ModalForm
10
11
 
11
12
  if TYPE_CHECKING:
@@ -57,8 +58,6 @@ class EditMetaModal(ModalForm[EditMetaFormSlack]):
57
58
  form_class = EditMetaFormSlack
58
59
 
59
60
  def build_modal_fn(self, incident: Incident, **kwargs: Any) -> View:
60
- from firefighter.incidents.models import Environment
61
-
62
61
  # Get all environments from custom_fields, fallback to single environment
63
62
  environments_values = incident.custom_fields.get("environments", [])
64
63
  if environments_values:
@@ -90,8 +89,6 @@ class EditMetaModal(ModalForm[EditMetaFormSlack]):
90
89
  def handle_modal_fn( # type: ignore
91
90
  self, ack: Ack, body: dict[str, Any], incident: Incident, user: User
92
91
  ):
93
- from firefighter.incidents.models import Environment
94
-
95
92
  # Get current environments for initial comparison
96
93
  environments_values = incident.custom_fields.get("environments", [])
97
94
  if environments_values:
@@ -1,5 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
+ import inspect
3
4
  import json
4
5
  import logging
5
6
  from datetime import timedelta
@@ -293,10 +294,10 @@ class OpenModal(SlackModal):
293
294
  def get_done_review_blocks(
294
295
  open_incident_context: OpeningData,
295
296
  user: User,
296
- details_form_done: bool, # noqa: FBT001
297
+ details_form_done: bool,
297
298
  details_form_class: type[CreateIncidentFormBase] | None,
298
299
  details_form: CreateIncidentFormBase | None,
299
- can_submit: bool, # noqa: FBT001
300
+ can_submit: bool,
300
301
  ) -> list[Block]:
301
302
  if not can_submit:
302
303
  return []
@@ -416,7 +417,6 @@ class OpenModal(SlackModal):
416
417
 
417
418
  # Pass impacts_data and response_type to form if it supports them (UnifiedIncidentForm)
418
419
  # Check if __init__ accepts these parameters
419
- import inspect
420
420
  init_params = inspect.signature(details_form_class.__init__).parameters
421
421
  form_kwargs: dict[str, Any] = {}
422
422
  if "impacts_data" in init_params:
@@ -631,7 +631,6 @@ class OpenModal(SlackModal):
631
631
  )
632
632
  if details_form_class:
633
633
  # Pass impacts_data and response_type to form if it supports them (UnifiedIncidentForm)
634
- import inspect
635
634
  init_params = inspect.signature(details_form_class.__init__).parameters
636
635
  form_kwargs: dict[str, Any] = {}
637
636
  if "impacts_data" in init_params:
@@ -25,7 +25,6 @@ class CheckCurrentIncidentsModal(
25
25
 
26
26
  @staticmethod
27
27
  def build_modal_fn(body: dict[str, Any], **kwargs: Any) -> View:
28
- # ruff: noqa: PLC0415
29
28
  from firefighter.slack.views.events.home import _home_incident_element
30
29
 
31
30
  # Close or back button?
@@ -138,7 +138,6 @@ class SetIncidentDetails(ModalForm[T], Generic[T]):
138
138
 
139
139
  if skip_form:
140
140
  return
141
- # ruff: noqa: PLC0415
142
141
  from firefighter.slack.views.modals.open import modal_open
143
142
 
144
143
  if "priority" in private_metadata and isinstance(
@@ -91,7 +91,6 @@ class OnCallModal(IncidentSelectableModalMixin, SlackModal):
91
91
  "view.state.values.oncall_service.select_oncall_service.selected_option.value",
92
92
  )
93
93
  # TODO Fix the dependency on PagerDuty app
94
- # ruff: noqa: PLC0415
95
94
  from firefighter.pagerduty.tasks.trigger_oncall import trigger_oncall
96
95
 
97
96
  service: PagerDutyService | None = PagerDutyService.objects.get(
@@ -5,7 +5,6 @@ import pytest
5
5
 
6
6
  def test_json_logging(caplog: pytest.LogCaptureFixture, capsys, settings) -> None:
7
7
  """This test ensures that JSON logging is working."""
8
- # ruff: noqa: PLC0415
9
8
  import logging
10
9
 
11
10
  from firefighter.firefighter.settings.components.logging import (
@@ -30,7 +30,6 @@ class StandaloneApplication(gunicorn.app.wsgiapp.WSGIApplication):
30
30
 
31
31
  def main() -> None:
32
32
  os.environ.setdefault("DJANGO_SETTINGS_MODULE", "firefighter.firefighter.settings")
33
- # ruff: noqa: PLC0415
34
33
  from django import setup
35
34
 
36
35
  setup()
@@ -167,30 +167,6 @@ celery-beat = {cmd="celery -A firefighter.firefighter beat -l INFO", help="Run t
167
167
  switch-test-users = {cmd="ff-manage switch_test_users", help="Generate and apply Slack user mapping for test environment"}
168
168
 
169
169
  [tool.pdm.dev-dependencies]
170
- dev = [
171
- "mypy>=1.7.1",
172
- "pylint>=3.0.2",
173
- "pylint-django>=2.5.5",
174
- "yamllint>=1.33.0",
175
- "django-browser-reload>=1.12.1",
176
- "django-silk>=5.0.4",
177
- "django-debug-toolbar>=4.2.0",
178
- "django-extra-checks>=0.13.3",
179
- "nplusone>=1.0.0",
180
- "django-migration-linter>=5.0.0",
181
- "ipdb>=0.13.13",
182
- "ipython>=8.18.1",
183
- "djhtml>=3.0.6",
184
- "django-extensions>=3.2.3",
185
- "pyparsing>=3.1.1",
186
- "pydot>=1.4.2",
187
- "lazy-object-proxy>=1.9.0",
188
- "werkzeug>=3.0.1",
189
- "django-watchfiles>=0.1.0",
190
- "ruff>=0.1.6",
191
- "mypy-to-codeclimate>=0.0.3",
192
- "djade>=1.1.1",
193
- ]
194
170
  tests = [
195
171
  "pytest>=7.4.3",
196
172
  "pytest-cov>=4.1.0",
@@ -534,6 +510,8 @@ ignore = [
534
510
  "CPY001", # Missing copyright notice at top of file
535
511
  "PLR6301", # XXX Method could be a function or static method -- needs allow list or @override support
536
512
  "E203", # XXX whitespace-before-punctuation -- still unstable with black formatting
513
+ "PLC0415", # Allow imports inside functions for circular dependencies and optional modules
514
+ "FBT001", # Allow boolean positional arguments in function definitions
537
515
  ]
538
516
 
539
517
  # Allow unused variables when underscore-prefixed.
@@ -596,3 +574,29 @@ max-branches = 15
596
574
  max-returns = 10
597
575
  max-bool-expr = 6
598
576
  max-locals = 20
577
+
578
+ [dependency-groups]
579
+ dev = [
580
+ "mypy==1.19.1",
581
+ "pylint>=3.0.2",
582
+ "pylint-django>=2.5.5",
583
+ "yamllint>=1.33.0",
584
+ "django-browser-reload>=1.12.1",
585
+ "django-silk>=5.0.4",
586
+ "django-debug-toolbar>=4.2.0",
587
+ "django-extra-checks>=0.13.3",
588
+ "nplusone>=1.0.0",
589
+ "django-migration-linter>=5.0.0",
590
+ "ipdb>=0.13.13",
591
+ "ipython>=8.18.1",
592
+ "djhtml>=3.0.6",
593
+ "django-extensions>=3.2.3",
594
+ "pyparsing>=3.1.1",
595
+ "pydot>=1.4.2",
596
+ "lazy-object-proxy>=1.9.0",
597
+ "werkzeug>=3.0.1",
598
+ "django-watchfiles>=0.1.0",
599
+ "ruff==0.14.14",
600
+ "mypy-to-codeclimate>=0.0.3",
601
+ "djade>=1.1.1",
602
+ ]