argus-server 2.2.2__tar.gz → 2.4.0__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.
- {argus_server-2.2.2 → argus_server-2.4.0}/.mailmap +3 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/CHANGELOG.md +111 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/CONTRIBUTORS.md +2 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/NOTES.md +71 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/PKG-INFO +1 -1
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/customization/htmx-frontend.rst +28 -13
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/development/howtos/htmx-frontend/override_templates.rst +1 -1
- argus_server-2.4.0/docs/development/howtos/sonarqube.rst +19 -0
- argus_server-2.4.0/docs/development/howtos/trigger-test-error-pages.rst +14 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/reference/api/v2.rst +9 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/reference/htmx-frontend.rst +173 -4
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/reference/site-specific-settings.rst +28 -2
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/user-manual.rst +37 -13
- {argus_server-2.2.2 → argus_server-2.4.0}/requirements-django52.txt +1 -1
- {argus_server-2.2.2 → argus_server-2.4.0}/requirements.txt +1 -1
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/auth/models.py +2 -2
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/auth/utils.py +3 -3
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/filter/filterwrapper.py +13 -1
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/filter/swappable/serializers.py +5 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/constants.py +0 -8
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/context_processors.py +1 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/dateformat/constants.py +8 -8
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/defaults.py +3 -2
- argus_server-2.4.0/src/argus/htmx/incident/columns.py +286 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/incident/filter.py +111 -34
- argus_server-2.4.0/src/argus/htmx/incident/forms/base.py +101 -0
- argus_server-2.4.0/src/argus/htmx/incident/forms/incident_actions.py +20 -0
- argus_server-2.4.0/src/argus/htmx/incident/forms/incident_filters.py +135 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/incident/urls.py +1 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/incident/utils.py +2 -2
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/incident/views.py +114 -33
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/notificationprofile/views.py +1 -0
- argus_server-2.4.0/src/argus/htmx/static/choices-11.1.0.min.js +2 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/static/styles.css +1084 -39
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/tailwindtheme/snippets/20-loading-box.css +5 -5
- argus_server-2.4.0/src/argus/htmx/tailwindtheme/snippets/25-choices.css +80 -0
- argus_server-2.4.0/src/argus/htmx/tailwindtheme/snippets/30-incident-table.css +21 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/tailwindtheme/styles.css +2 -0
- argus_server-2.4.0/src/argus/htmx/templates/400.html +7 -0
- argus_server-2.4.0/src/argus/htmx/templates/401.html +7 -0
- argus_server-2.4.0/src/argus/htmx/templates/403.html +7 -0
- argus_server-2.4.0/src/argus/htmx/templates/404.html +7 -0
- argus_server-2.4.0/src/argus/htmx/templates/410.html +7 -0
- argus_server-2.4.0/src/argus/htmx/templates/500.html +7 -0
- argus_server-2.4.0/src/argus/htmx/templates/htmx/base.html +51 -0
- argus_server-2.4.0/src/argus/htmx/templates/htmx/components/_page_title.html +9 -0
- argus_server-2.4.0/src/argus/htmx/templates/htmx/components/incident_list_refresh_info_select.html +18 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/destination/destination_list.html +1 -0
- argus_server-2.4.0/src/argus/htmx/templates/htmx/forms/search_select_multiple.html +66 -0
- argus_server-2.4.0/src/argus/htmx/templates/htmx/incident/_base_incident_table.html +32 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/incident/_incident_filterbox.html +16 -13
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/incident/_incident_list_refresh_info.html +5 -18
- argus_server-2.4.0/src/argus/htmx/templates/htmx/incident/_incident_table.html +10 -0
- argus_server-2.4.0/src/argus/htmx/templates/htmx/incident/_incident_table_autorefresh.html +12 -0
- argus_server-2.4.0/src/argus/htmx/templates/htmx/incident/_incident_table_cell_wrapper_default.html +12 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/incident/_incident_table_cell_wrapper_link_to_details.html +1 -0
- argus_server-2.4.0/src/argus/htmx/templates/htmx/incident/_incident_table_footer.html +30 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/incident/_incident_table_paginator_pageitem.html +2 -2
- argus_server-2.4.0/src/argus/htmx/templates/htmx/incident/_unpaged_incident_table.html +4 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/incident/cells/_incident_ack.html +1 -0
- argus_server-2.4.0/src/argus/htmx/templates/htmx/incident/cells/_incident_ack_icon.html +10 -0
- argus_server-2.4.0/src/argus/htmx/templates/htmx/incident/cells/_incident_actions.html +2 -0
- argus_server-2.4.0/src/argus/htmx/templates/htmx/incident/cells/_incident_age.html +4 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/incident/cells/_incident_checkbox.html +1 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/incident/cells/_incident_color_status.html +1 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/incident/cells/_incident_combined_status.html +1 -0
- argus_server-2.4.0/src/argus/htmx/templates/htmx/incident/cells/_incident_combined_status_icons.html +5 -0
- argus_server-2.4.0/src/argus/htmx/templates/htmx/incident/cells/_incident_description.html +2 -0
- argus_server-2.4.0/src/argus/htmx/templates/htmx/incident/cells/_incident_filterable_column_header.html +13 -0
- argus_server-2.4.0/src/argus/htmx/templates/htmx/incident/cells/_incident_filterable_column_header_content.html +47 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/incident/cells/_incident_level.html +1 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/incident/cells/_incident_list_select_all_checkbox_header.html +1 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/incident/cells/_incident_pk.html +1 -0
- argus_server-2.4.0/src/argus/htmx/templates/htmx/incident/cells/_incident_source.html +2 -0
- argus_server-2.4.0/src/argus/htmx/templates/htmx/incident/cells/_incident_source_type.html +2 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/incident/cells/_incident_start_time.html +1 -0
- argus_server-2.4.0/src/argus/htmx/templates/htmx/incident/cells/_incident_start_time_and_age.html +5 -0
- argus_server-2.4.0/src/argus/htmx/templates/htmx/incident/cells/_incident_start_time_header.html +2 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/incident/cells/_incident_status.html +1 -0
- argus_server-2.4.0/src/argus/htmx/templates/htmx/incident/cells/_incident_status_icon.html +10 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/incident/cells/_incident_tag.html +1 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/incident/cells/_incident_ticket.html +1 -0
- argus_server-2.4.0/src/argus/htmx/templates/htmx/incident/cells/search_fields/input_search.html +16 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/incident/incident_list.html +2 -2
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/notificationprofile/_notificationprofile_form.html +2 -2
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/notificationprofile/_notificationprofile_form_div.html +2 -2
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/notificationprofile/base.html +1 -1
- argus_server-2.4.0/src/argus/htmx/templates/htmx/styleguide.html +202 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/timeslot/base.html +1 -1
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/user/_dateformat_dropdown.html +3 -3
- argus_server-2.4.0/src/argus/htmx/templates/htmx/user/_incidents_table_columns_dropdown.html +30 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/user/_page_size_dropdown.html +3 -3
- argus_server-2.4.0/src/argus/htmx/templates/htmx/user/_preference_choice_nopreview.html +1 -0
- argus_server-2.4.0/src/argus/htmx/templates/htmx/user/_preference_choice_preview_datetime.html +2 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/user/_theme_dropdown.html +3 -3
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/user/_user_menu.html +3 -3
- argus_server-2.4.0/src/argus/htmx/templates/htmx/user/preference_field_form.html +19 -0
- argus_server-2.4.0/src/argus/htmx/templates/htmx/user/preferences_list.html +14 -0
- argus_server-2.4.0/src/argus/htmx/templates/htmx/user/radio_option.html +10 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx_base.html +3 -2
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templatetags/argus_htmx.py +32 -7
- argus_server-2.4.0/src/argus/htmx/user/factories.py +13 -0
- argus_server-2.4.0/src/argus/htmx/user/preferences/forms.py +266 -0
- argus_server-2.4.0/src/argus/htmx/user/preferences/models.py +40 -0
- argus_server-2.4.0/src/argus/htmx/user/preferences/utils.py +14 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/user/views.py +7 -1
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/widgets.py +4 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/incident/admin.py +1 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/incident/models.py +17 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/notificationprofile/media/base.py +1 -2
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/notificationprofile/media/email.py +1 -2
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/site/urls.py +2 -2
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/site/views.py +24 -48
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/util/admin_utils.py +2 -2
- argus_server-2.4.0/src/argus/version.py +1 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/auth/models.py +2 -1
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/filter/test_filterwrapper.py +81 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/htmx/incident/test_customization.py +4 -4
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/htmx/incident/test_filter.py +92 -3
- argus_server-2.4.0/tests/htmx/incident/test_forms_incident_filters.py +112 -0
- argus_server-2.4.0/tests/htmx/incident/test_views.py +58 -0
- argus_server-2.2.2/tests/htmx/test_incident.py → argus_server-2.4.0/tests/htmx/test_incident_columns_rendering.py +11 -4
- argus_server-2.4.0/tests/htmx/test_templatetags.py +20 -0
- argus_server-2.4.0/tests/site/test_views.py +66 -0
- argus_server-2.4.0/tests/util/__init__.py +0 -0
- argus_server-2.2.2/src/argus/htmx/incident/customization.py +0 -122
- argus_server-2.2.2/src/argus/htmx/incident/forms.py +0 -52
- argus_server-2.2.2/src/argus/htmx/templates/htmx/base.html +0 -47
- argus_server-2.2.2/src/argus/htmx/templates/htmx/incident/_incident_table.html +0 -51
- argus_server-2.2.2/src/argus/htmx/templates/htmx/incident/_incident_table_cell_wrapper_default.html +0 -7
- argus_server-2.2.2/src/argus/htmx/templates/htmx/incident/cells/_incident_actions.html +0 -1
- argus_server-2.2.2/src/argus/htmx/templates/htmx/incident/cells/_incident_description.html +0 -1
- argus_server-2.2.2/src/argus/htmx/templates/htmx/incident/cells/_incident_filterable_column_header.html +0 -32
- argus_server-2.2.2/src/argus/htmx/templates/htmx/incident/cells/_incident_source.html +0 -1
- argus_server-2.2.2/src/argus/htmx/templates/htmx/incident/cells/_incident_start_time_header.html +0 -1
- argus_server-2.2.2/src/argus/htmx/templates/htmx/styleguide.html +0 -188
- argus_server-2.2.2/src/argus/htmx/templates/htmx/user/_user_menu_user_preferences.html +0 -10
- argus_server-2.2.2/src/argus/htmx/templates/htmx/user/preferences.html +0 -22
- argus_server-2.2.2/src/argus/htmx/themes/constants.py +0 -13
- argus_server-2.2.2/src/argus/htmx/user/preferences/models.py +0 -75
- argus_server-2.2.2/src/argus/version.py +0 -1
- argus_server-2.2.2/tests/site/test_views.py +0 -10
- {argus_server-2.2.2 → argus_server-2.4.0}/.git-blame-ignore-revs +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/.gitattributes +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/.gitignore +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/.pre-commit-config.yaml +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/.readthedocs.yaml +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/.sonarcloud.properties +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/CONTRIBUTING.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/Dockerfile +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/LICENSE +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/MAINTAINING.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/Makefile +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/README.md +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/UPGRADING.md +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/changelog.d/.gitkeep +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/cmd.sh-template +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/codecov.yml +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/constraints.txt +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docker/Dockerfile +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docker/README.md +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docker/docker-entrypoint.sh +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docker/dockersettings.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docker-compose.yml +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/Makefile +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/_exts/djangodocs.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/_static/.gitkeep +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/_templates/.gitkeep +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/about-argus.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/conf.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/customization.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/development/howtos/add-more-preferences.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/development/howtos/change-settings.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/development/howtos/changelog-entry.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/development/howtos/commit-messages.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/development/howtos/customizing-filtering.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/development/howtos/federated-logins.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/development/howtos/howtos-for-git.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/development/howtos/howtos-for-github.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/development/howtos/htmx-frontend/column_for_specific_ack_group.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/development/howtos/htmx-frontend/column_for_specific_tag.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/development/howtos/htmx-frontend/custom-incident-actions.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/development/howtos/htmx-frontend/customize-filtering.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/development/howtos/htmx-frontend/dependencies.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/development/howtos/htmx-frontend/font_awesome.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/development/howtos/htmx-frontend.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/development/howtos/notification-system-testing.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/development/howtos/recover-from-migration-trouble.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/development/howtos/regenerate-the-ER-diagram.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/development/howtos/release-checklist.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/development/howtos/toggle-django-debug-toolbar.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/development/howtos/update-contributors.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/development/howtos/vendor-a-repo.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/development/howtos.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/development/makefile-rules.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/development/management-commands.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/development/notes.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/development/styleguide.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/development/troubleshooting.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/development.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/django_settings.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/img/default_timeslot.png +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/img/destinations_view.png +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/img/example_timeslot.png +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/img/filter_selector.png +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/img/incident_details_view.png +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/img/incidents_filter.png +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/img/incidents_page.png +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/img/new_notification_profile.png +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/img/notification_profiles.png +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/img/synced_destination_delete_error.png +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/img/timeslots_view.png +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/img/unsaved_recurrence.png +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/img/user_menu.png +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/index.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/integrations/_note.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/integrations/glue-services/index.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/integrations/glue-services/writing-glueservices.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/integrations/index.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/integrations/notifications/email-plugin.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/integrations/notifications/index.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/integrations/notifications/sms-plugin.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/integrations/notifications/writing-notification-plugins.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/integrations/ticket-systems/index.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/integrations/ticket-systems/writing-ticket-system-plugins.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/make.bat +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/reference/admin.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/reference/api.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/reference/authentication.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/reference/glossary.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/reference/img/ER_model.png +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/reference/models.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/docs/reference.rst +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/pyproject.toml +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/requirements/dev.txt +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/requirements/django52.txt +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/requirements/please-pip-sync.txt +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/requirements/test.txt +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/__init__.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/auth/__init__.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/auth/admin.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/auth/apps.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/auth/authentication.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/auth/context_processors.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/auth/drftoken/__init__.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/auth/drftoken/serializers.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/auth/drftoken/urls.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/auth/drftoken/views.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/auth/factories.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/auth/knox/__init__.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/auth/knox/serializers.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/auth/knox/urls.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/auth/knox/views.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/auth/management/__init__.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/auth/management/commands/__init__.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/auth/management/commands/changeuser.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/auth/management/commands/createuser.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/auth/management/commands/grantsuperuser.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/auth/management/commands/revokesuperuser.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/auth/management/commands/setpassword.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/auth/migrations/0001_initial.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/auth/migrations/0002_alter_user_first_name.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/auth/migrations/0002_squashed_auth_20250512_add_preferences_model.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/auth/migrations/0003_delete_phonenumber.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/auth/migrations/0004_add_preferences_model.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/auth/migrations/__init__.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/auth/serializers.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/auth/urls.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/auth/views.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/base/__init__.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/base/apps.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/base/static/favicon.svg +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/base/templates/base.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/base/templates/index.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/compat.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/dev/__init__.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/dev/apps.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/dev/management/__init__.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/dev/management/commands/__init__.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/dev/management/commands/bulk_incidents.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/dev/management/commands/check_token_expiry.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/dev/management/commands/close_incident.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/dev/management/commands/create_fake_incident.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/dev/management/commands/create_source.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/dev/management/commands/gen_secret_key.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/dev/management/commands/initial_setup.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/dev/management/commands/list_filters.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/dev/management/commands/stresstest.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/dev/management/commands/toggle_profile_activation.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/dev/utils.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/drf/__init__.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/drf/permissions.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/filter/__init__.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/filter/apps.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/filter/checks.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/filter/default.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/filter/factories.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/filter/filters.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/filter/primitive_serializers.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/filter/queryset_filters.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/filter/serializers.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/filter/swappable/__init__.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/filter/validators.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/__init__.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/appconfig.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/apps.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/auth/__init__.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/auth/views.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/checks.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/dateformat/__init__.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/destination/__init__.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/destination/forms.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/destination/urls.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/destination/views.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/forms.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/htmx_urls.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/incident/__init__.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/incident/constants.py +0 -0
- {argus_server-2.2.2/src/argus/htmx/management → argus_server-2.4.0/src/argus/htmx/incident/forms}/__init__.py +0 -0
- {argus_server-2.2.2/src/argus/htmx/management/commands → argus_server-2.4.0/src/argus/htmx/management}/__init__.py +0 -0
- {argus_server-2.2.2/src/argus/htmx/migrations → argus_server-2.4.0/src/argus/htmx/management/commands}/__init__.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/management/commands/tailwind_config.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/middleware.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/migrations/0001_initial.py +0 -0
- {argus_server-2.2.2/src/argus/htmx/notificationprofile → argus_server-2.4.0/src/argus/htmx/migrations}/__init__.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/modals.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/models.py +0 -0
- {argus_server-2.2.2/src/argus/htmx/tailwindtheme → argus_server-2.4.0/src/argus/htmx/notificationprofile}/__init__.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/notificationprofile/urls.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/request.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/root_urls.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/settings.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/static/htmx-2.0.2.min.js +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/static/hyperscript-0.9.13.min.js +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/static/logo_white.svg +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/tailwindtheme/README.md +0 -0
- {argus_server-2.2.2/src/argus/htmx/templatetags → argus_server-2.4.0/src/argus/htmx/tailwindtheme}/__init__.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/tailwindtheme/config.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/tailwindtheme/get_tailwind.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/tailwindtheme/snippets/10-tailwind.css +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/tailwindtheme/snippets/15-alert-message.css +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/tailwindtheme/tailwind.config.js +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/tailwindtheme/utils.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/django/forms/errors/dict/ul.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/django/forms/errors/list/ul.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/django/forms/field.html +1 -1
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/django/forms/label.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/django/forms/widgets/attrs.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/django/forms/widgets/checkbox.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/django/forms/widgets/checkbox_option.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/django/forms/widgets/classless_attrs.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/django/forms/widgets/date.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/django/forms/widgets/datetime.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/django/forms/widgets/input.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/django/forms/widgets/radio_option.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/django/forms/widgets/range.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/django/forms/widgets/select.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/django/forms/widgets/time.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/_base_confirm_dialog.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/_base_form_modal.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/_base_form_modal_button.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/_base_form_modal_experimental.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/destination/_collapse_with_forms.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/destination/_content.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/destination/_create_form.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/destination/_delete_form.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/destination/_edit_form.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/destination/_form_list.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/forms/badge_dropdown_select_multiple.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/forms/checkbox_select_multiple.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/forms/dropdown_select_multiple.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/forms/input_field.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/incident/_base.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/incident/_base_incident_update_modal.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/incident/_delete_filter_confirm_dialog.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/incident/_existing_filters.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/incident/_filter_controls.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/incident/_filter_create_modal.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/incident/_filter_delete_dropdown.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/incident/_filter_select.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/incident/_filter_update_dropdown.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/incident/_incident_acknowledge_modal.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/incident/_incident_close_modal.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/incident/_incident_list_menubar.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/incident/_incident_list_update_menu.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/incident/_incident_reopen_modal.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/incident/_incident_table_paginator.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/incident/_incident_table_row.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/incident/_incident_table_rows.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/incident/_incident_ticket_autocreate_modal.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/incident/_incident_ticket_edit_modal.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/incident/_incident_ticket_manual_create_modal.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/incident/_update_filter_confirm_dialog.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/incident/filter_list.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/incident/incident_detail.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/incident/responses/_incident_list_refresh.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/incident/responses/empty_list_item.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/notificationprofile/notificationprofile_confirm_delete.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/notificationprofile/notificationprofile_form.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/notificationprofile/notificationprofile_list.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/timeslot/_delete_timeslot_confirm_dialog.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/timeslot/_timeslot_detail.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/timeslot/_timeslot_form.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/timeslot/checkbox_option.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/timeslot/timerecurrence_div.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/timeslot/timeslot_confirm_delete.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/timeslot/timeslot_form.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/timeslot/timeslot_list.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/user/_current_theme.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/user/_incidents_table_layout_dropdown.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/user/_update_interval_dropdown.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/user/_user_menu_logout.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/htmx/user/_user_menu_notification_config.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/messages/_notification_message.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/messages/_notification_messages.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/messages/_notification_messages_htmx_append.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/registration/login.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/tailwind/styles.css +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/tailwind/tailwind.config.js +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/templates/tailwind_whitelist.html +0 -0
- {argus_server-2.2.2/src/argus/htmx/themes → argus_server-2.4.0/src/argus/htmx/templatetags}/__init__.py +0 -0
- {argus_server-2.2.2/src/argus/htmx/timeslot → argus_server-2.4.0/src/argus/htmx/themes}/__init__.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/themes/utils.py +0 -0
- {argus_server-2.2.2/src/argus/htmx/user/preferences → argus_server-2.4.0/src/argus/htmx/timeslot}/__init__.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/timeslot/urls.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/timeslot/views.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/urls.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/user/__init__.py +0 -0
- {argus_server-2.2.2/src/argus/incident/migrations → argus_server-2.4.0/src/argus/htmx/user/preferences}/__init__.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/user/urls.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/utils.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/htmx/views.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/incident/__init__.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/incident/apps.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/incident/constants.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/incident/factories.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/incident/fields.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/incident/forms.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/incident/migrations/0001_initial.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/incident/migrations/0001_squashed_incident_20250514.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/incident/migrations/0002_empty_source_incident_id.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/incident/migrations/0003_incident_level.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/incident/migrations/0004_add_ChangeEvent_proxy.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/incident/migrations/0005_alter_event_type.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/incident/migrations/0006_incident_search_text.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/incident/migrations/0007_alter_event_type.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/incident/migrations/0008_incident_metadata.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/incident/migrations/0009_use_bigautofield_on_quickly_growing_tables.py +0 -0
- {argus_server-2.2.2/src/argus/incident/ticket → argus_server-2.4.0/src/argus/incident/migrations}/__init__.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/incident/serializers.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/incident/signals.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/incident/templates/incident/admin/fake_incident_add_form.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/incident/templates/incident/admin/incident_change_list.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/incident/templates/incident/admin/widgets/split_datetime_infinity.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/incident/templates/incident/ticket/default_ticket_body.html +0 -0
- {argus_server-2.2.2/src/argus/notificationprofile/migrations → argus_server-2.4.0/src/argus/incident/ticket}/__init__.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/incident/ticket/base.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/incident/ticket/dummy.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/incident/ticket/utils.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/incident/urls.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/incident/validators.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/incident/views.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/incident/widgets.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/notificationprofile/__init__.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/notificationprofile/admin.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/notificationprofile/apps.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/notificationprofile/checks.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/notificationprofile/factories.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/notificationprofile/media/__init__.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/notificationprofile/media/sms_as_email.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/notificationprofile/migrations/0001_squashed_0015_remove_days_alter_days_array.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/notificationprofile/migrations/0001_squashed_notificationprofile_20250512.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/notificationprofile/migrations/0016_noop.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/notificationprofile/migrations/0017_change_event_type_to_event_types.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/notificationprofile/migrations/0018_remove_closed_and_unacked_from_filterblob.py +0 -0
- {argus_server-2.2.2/src/argus/site → argus_server-2.4.0/src/argus/notificationprofile/migrations}/__init__.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/notificationprofile/models.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/notificationprofile/serializers.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/notificationprofile/signals.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/notificationprofile/templates/notificationprofile/email.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/notificationprofile/templates/notificationprofile/email.txt +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/notificationprofile/templates/schemawrapper.html +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/notificationprofile/urls.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/notificationprofile/views.py +0 -0
- {argus_server-2.2.2/src/argus/util → argus_server-2.4.0/src/argus/site}/__init__.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/site/api_v2_urls.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/site/logging.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/site/serializers.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/site/settings/__init__.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/site/settings/_serializers.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/site/settings/backend.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/site/settings/base.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/site/settings/dev.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/site/settings/dockerdev.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/site/settings/prod.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/site/settings/test_CI.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/site/utils.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/site/wsgi.py +0 -0
- {argus_server-2.2.2/tests → argus_server-2.4.0/src/argus/util}/__init__.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/util/datetime_utils.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/util/testing.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/src/argus/util/utils.py +0 -0
- {argus_server-2.2.2/tests/auth/management_commands → argus_server-2.4.0/tests}/__init__.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/auth/__init__.py +0 -0
- {argus_server-2.2.2/tests/dev → argus_server-2.4.0/tests/auth/management_commands}/__init__.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/auth/management_commands/test_changeuser.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/auth/management_commands/test_createuser.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/auth/test_auth.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/auth/test_knox_views.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/auth/test_models.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/auth/test_utils.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/auth/test_views.py +0 -0
- {argus_server-2.2.2/tests/filter → argus_server-2.4.0/tests/dev}/__init__.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/dev/test_bulk_incidents.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/dev/test_check_token_expiry.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/dev/test_close_incident.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/dev/test_create_fake_incident.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/dev/test_create_source.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/dev/test_gen_secret_key.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/dev/test_initial_setup.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/dev/test_list_filters.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/dev/test_toggle_profile_activation.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/dev/test_utils.py +0 -0
- {argus_server-2.2.2/tests/htmx → argus_server-2.4.0/tests/filter}/__init__.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/filter/dummyplugin.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/filter/test_filterplugin.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/filter/test_queryset_filters.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/helpers.py +0 -0
- {argus_server-2.2.2/tests/htmx/incident → argus_server-2.4.0/tests/htmx}/__init__.py +0 -0
- {argus_server-2.2.2/tests/htmx/notificationprofile → argus_server-2.4.0/tests/htmx/incident}/__init__.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/htmx/incident/test_utils.py +0 -0
- {argus_server-2.2.2/tests/incident/fixtures → argus_server-2.4.0/tests/htmx/notificationprofile}/__init__.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/htmx/notificationprofile/test_forms.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/htmx/test_middleware.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/htmx/test_utils.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/incident/__init__.py +0 -0
- {argus_server-2.2.2/tests/incident/ticket_plugins → argus_server-2.4.0/tests/incident/fixtures}/__init__.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/incident/test_change_event.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/incident/test_create_fake_incident.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/incident/test_event.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/incident/test_filters.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/incident/test_incident.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/incident/test_incident_fields.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/incident/test_queryset.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/incident/test_serializers.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/incident/test_source_system.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/incident/test_source_system_type.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/incident/test_views.py +0 -0
- {argus_server-2.2.2/tests/incident/unit → argus_server-2.4.0/tests/incident/ticket_plugins}/__init__.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/incident/ticket_plugins/test_base.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/incident/ticket_plugins/test_dummy.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/incident/ticket_plugins/test_utils.py +0 -0
- {argus_server-2.2.2/tests/notificationprofile/destinations → argus_server-2.4.0/tests/incident/unit}/__init__.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/incident/unit/test_incident_details_url.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/migration_example.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/notificationprofile/__init__.py +0 -0
- {argus_server-2.2.2/tests/notificationprofile/migrations → argus_server-2.4.0/tests/notificationprofile/destinations}/__init__.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/notificationprofile/destinations/test_email.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/notificationprofile/destinations/test_sms.py +0 -0
- {argus_server-2.2.2/tests/site → argus_server-2.4.0/tests/notificationprofile/migrations}/__init__.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/notificationprofile/test_github236.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/notificationprofile/test_media.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/notificationprofile/test_models.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/notificationprofile/test_serializers.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/notificationprofile/test_views.py +0 -0
- {argus_server-2.2.2/tests/util → argus_server-2.4.0/tests/site}/__init__.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/site/test_misc.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/site/test_settings_helpers.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/site/test_settings_validators.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tests/util/test_utils.py +0 -0
- {argus_server-2.2.2 → argus_server-2.4.0}/tox.ini +0 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
# canonical
|
|
2
2
|
|
|
3
|
+
Aleksander Fløtten <aleksander.flotten@sikt.no>
|
|
3
4
|
Alexander Staff <alexamst@stud.ntnu.no>
|
|
4
5
|
Andreas Melzer <akrimelzer@gmail.com>
|
|
5
6
|
Dabble <ddabble@users.noreply.github.com>
|
|
@@ -11,12 +12,14 @@ Karoline Bonnerud <kbonnerud@gmail.com>
|
|
|
11
12
|
Kat Hößel <kathoe@uninett.no>
|
|
12
13
|
Morten Brekkevold <morten.brekkevold@sikt.no>
|
|
13
14
|
Pelle Koster <elfjes@users.noreply.github.com>
|
|
15
|
+
Simen Abelsen <simen@abelweb.no>
|
|
14
16
|
Simon Oliver Tveit <simon.tveit@sikt.no>
|
|
15
17
|
Theodor Astrup Wiik <theo.aw@hotmail.com>
|
|
16
18
|
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
|
|
17
19
|
jorund1 <jorund@washbear.eu>
|
|
18
20
|
|
|
19
21
|
# rewrites
|
|
22
|
+
Aleksander Fløtten <aleksander.flotten@sikt.no> aleksfl <99869083+aleksfl@users.noreply.github.com>
|
|
20
23
|
Alexander Staff <alexamst@stud.ntnu.no> <34887403+Tralphium@users.noreply.github.com>
|
|
21
24
|
Dabble <ddabble@users.noreply.github.com> Anders <6058745+ddabble@users.noreply.github.com>
|
|
22
25
|
Hanne Moa <hanne.moa@sikt.no> <hanne.moa@uninett.no>
|
|
@@ -8,6 +8,117 @@ This project uses [*towncrier*](https://towncrier.readthedocs.io/) and the chang
|
|
|
8
8
|
|
|
9
9
|
<!-- towncrier release notes start -->
|
|
10
10
|
|
|
11
|
+
## [2.4.0] - 2025-11-28
|
|
12
|
+
|
|
13
|
+
The most important feature this release is being able to filter on source
|
|
14
|
+
system type. If you have multiple source systems in a filter, all of them of
|
|
15
|
+
the same type, it might pay off to switch over to using the source system type
|
|
16
|
+
instead.
|
|
17
|
+
|
|
18
|
+
The rest is frontend improvements: The tags filter now has typeahead find. The
|
|
19
|
+
header and footer of the incident list never scroll off screen. The status
|
|
20
|
+
columns have variants with icons instead of text, and there's new columns
|
|
21
|
+
showing an incident's age (time since it happened).
|
|
22
|
+
|
|
23
|
+
See NOTES.md for further detail.
|
|
24
|
+
|
|
25
|
+
### Added
|
|
26
|
+
|
|
27
|
+
- Added test error page ([#1024](https://github.com/Uninett/Argus/issues/1024))
|
|
28
|
+
- Add age columns to incident table
|
|
29
|
+
([#1552](https://github.com/Uninett/Argus/issues/1552))
|
|
30
|
+
- Made it possible to filter on a source's type in the incident list, API, and
|
|
31
|
+
for sending notifications. Also added a new built-in column "source type" for
|
|
32
|
+
the incident list. When there are very many sources of the same type, the
|
|
33
|
+
filter and column become useful.
|
|
34
|
+
([#1556](https://github.com/Uninett/Argus/issues/1556))
|
|
35
|
+
- Add status columns that use icons instead of text
|
|
36
|
+
([#1635](https://github.com/Uninett/Argus/issues/1635))
|
|
37
|
+
- Made a system for rendering previews of preference choices.
|
|
38
|
+
|
|
39
|
+
### Changed
|
|
40
|
+
|
|
41
|
+
- Change incident table header and footer to always be visible
|
|
42
|
+
([#1548](https://github.com/Uninett/Argus/issues/1548))
|
|
43
|
+
- Add clear button to search column header
|
|
44
|
+
([#1573](https://github.com/Uninett/Argus/issues/1573))
|
|
45
|
+
- Change tags input to use searchable multiselect
|
|
46
|
+
([#1604](https://github.com/Uninett/Argus/issues/1604))
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
## [2.3.0] - 2025-11-20
|
|
50
|
+
|
|
51
|
+
This release has numerous improvements to the frontend. The various
|
|
52
|
+
widgets on the incident list page now work better together, and where
|
|
53
|
+
there are more than one to choose from the choices are now sorted
|
|
54
|
+
alphabetically. No user preferences are left in the user menu. The
|
|
55
|
+
preference page has had a slight rework though more is planned.
|
|
56
|
+
|
|
57
|
+
The big new thing is the possibility to select more than one column
|
|
58
|
+
layout. You can now choose a preferred layout on the user preferences
|
|
59
|
+
page if any have been configured in addition to the standard one.
|
|
60
|
+
A nice looking preview of each configured layout is planned for the
|
|
61
|
+
next release.
|
|
62
|
+
|
|
63
|
+
Due to the possibility of choosing between multiple column layouts,
|
|
64
|
+
several new types of columns have been added. There's also a new
|
|
65
|
+
section in the reference documentation explaining and naming all the
|
|
66
|
+
built-in column types.
|
|
67
|
+
|
|
68
|
+
See NOTES.md for how to convert an existing column layout to the new format.
|
|
69
|
+
|
|
70
|
+
### Added
|
|
71
|
+
|
|
72
|
+
- Sort list of filters in filter dropdown alphabetically
|
|
73
|
+
([#1553](https://github.com/Uninett/Argus/issues/1553))
|
|
74
|
+
- Sort list of sources in filter dropdown alphabetically
|
|
75
|
+
([#1554](https://github.com/Uninett/Argus/issues/1554))
|
|
76
|
+
- Added and documented more searchable columns for the incident list:
|
|
77
|
+
`search_description`, `select_levels`, `has_ticket_url`,
|
|
78
|
+
`search_ticket_url`, and a way to mass-produce single-field forms to
|
|
79
|
+
add even more searchable columns and eventually systematize the
|
|
80
|
+
incident filter forms in the topmost box.
|
|
81
|
+
- Make it possible to define more than one column layout, and make it
|
|
82
|
+
possible to switch between them via a user preference. Fixes #1581,
|
|
83
|
+
#1582.
|
|
84
|
+
- Added the column `narrow_start_time`.
|
|
85
|
+
|
|
86
|
+
### Changed
|
|
87
|
+
|
|
88
|
+
- Remove user preferences from global header dropdown
|
|
89
|
+
([#1567](https://github.com/Uninett/Argus/issues/1567))
|
|
90
|
+
- Use DaisyUI dropdowns in searchable columns
|
|
91
|
+
([#1574](https://github.com/Uninett/Argus/issues/1574))
|
|
92
|
+
- Sort filter dropdowns for update / delete filter alphabetically
|
|
93
|
+
([#1592](https://github.com/Uninett/Argus/issues/1592))
|
|
94
|
+
- Add consistent title to notification config pages
|
|
95
|
+
([#1606](https://github.com/Uninett/Argus/issues/1606))
|
|
96
|
+
- Auto-align filterable column dropdown if it extends beyond the screen
|
|
97
|
+
([#1607](https://github.com/Uninett/Argus/issues/1607))
|
|
98
|
+
- Fixed several problems with filtering the incident list in the
|
|
99
|
+
frontend: the various widgets were stepping on each others toes.
|
|
100
|
+
Made much easier by turning all GET-abble filters into Django forms.
|
|
101
|
+
- Improved documentation of how notificationprofiles with multiple
|
|
102
|
+
filters work, with changes to the user manual, new tests, and a help
|
|
103
|
+
text added to the field in question in the frontend.
|
|
104
|
+
- Preferences are all now properly backed by forms, inheriting from
|
|
105
|
+
`SimplePreferenceForm` which is a perfect fit for preferences where
|
|
106
|
+
you choose one of several options. Using `PreferenceField` directly
|
|
107
|
+
will still work, but the form used now receives the request on
|
|
108
|
+
`__init__`. It is therefore necessary to upgrade the old forms by
|
|
109
|
+
either mixing in the `ClassicPreferenceFormMixin`, which will
|
|
110
|
+
discard the passed-in `request`, or writing your own `__init__` that
|
|
111
|
+
will prevent passing in the `request` via `super().__init__(*args,
|
|
112
|
+
**kwargs)`.
|
|
113
|
+
- User preferences were refactored. This is to increase consistency,
|
|
114
|
+
cut down on copypasta, and eventually use Django forms on the user
|
|
115
|
+
preference page, but more importantly: Django settings are no longer
|
|
116
|
+
read on import. Turns out, preferences that depend on Django
|
|
117
|
+
settings *sometimes* read the settings too soon, before the
|
|
118
|
+
settings-file was complete, and therefore getting the wrong or no
|
|
119
|
+
setting.
|
|
120
|
+
|
|
121
|
+
|
|
11
122
|
## [2.2.2] - 2025-11-03
|
|
12
123
|
|
|
13
124
|
### Added
|
|
@@ -3,6 +3,77 @@
|
|
|
3
3
|
This file documents changes to Argus that are relevant for operations,
|
|
4
4
|
customizers and end-users.
|
|
5
5
|
|
|
6
|
+
## [2.4.0] - 2025-11-28
|
|
7
|
+
|
|
8
|
+
The most important feature this release is being able to filter on source
|
|
9
|
+
system type. If you have multiple source systems in a filter, all of them of
|
|
10
|
+
the same type, it might pay off to switch over to using the source system type
|
|
11
|
+
instead.
|
|
12
|
+
|
|
13
|
+
The rest is frontend improvements: The tags filter now has typeahead find. The
|
|
14
|
+
header and footer of the incident list never scroll off screen. The status
|
|
15
|
+
columns have variants with icons instead of text, and there's new columns
|
|
16
|
+
showing an incident's age (time since it happened).
|
|
17
|
+
|
|
18
|
+
The new columns are called `age`, `start_time_and_age`, `status_icon`,
|
|
19
|
+
`ack_icon` and `combined_status_icons`. The last takes up the least horizontal
|
|
20
|
+
space in the table.
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
## [2.3.0] - 2025-11-20
|
|
24
|
+
|
|
25
|
+
This release has numerous improvements to the frontend. The various
|
|
26
|
+
widgets on the incident list page now work better together, and where
|
|
27
|
+
there are more than one to choose from the choices are now sorted
|
|
28
|
+
alphabetically. No user preferences are left in the user menu. The
|
|
29
|
+
preference page has had a slight rework though more is planned.
|
|
30
|
+
|
|
31
|
+
The big new thing is the possibility to select more than one column
|
|
32
|
+
layout. You can now choose a preferred layout on the user preferences
|
|
33
|
+
page if any have been configured in addition to the standard one.
|
|
34
|
+
A nice looking preview of each configured layout is planned for the
|
|
35
|
+
next release.
|
|
36
|
+
|
|
37
|
+
Due to the possibility of choosing between multiple column layouts,
|
|
38
|
+
several new types of columns have been added. There's also a new
|
|
39
|
+
section in the reference documentation explaining and naming all the
|
|
40
|
+
built-in column types.
|
|
41
|
+
|
|
42
|
+
As of this release, please convert the setting `INCIDENT_TABLE_COLUMNS` to the
|
|
43
|
+
new `INCIDENT_TABLE_COLUMN_LAYOUTS` setting. Usage of `INCIDENT_TABLE_COLUMNS`
|
|
44
|
+
is deprecated and support will eventually be removed.
|
|
45
|
+
|
|
46
|
+
If your current `INCIDENT_TABLE_COLUMNS` looks like this:
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
INCIDENT_TABLE_COLUMNS = [
|
|
50
|
+
"row_select",
|
|
51
|
+
"combined_status",
|
|
52
|
+
"source",
|
|
53
|
+
"description",
|
|
54
|
+
]
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
then the equivalent new setting looks like:
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
INCIDENT_TABLE_COLUMN_LAYOUTS = {
|
|
61
|
+
"default": [
|
|
62
|
+
"row_select",
|
|
63
|
+
"combined_status",
|
|
64
|
+
"source",
|
|
65
|
+
"description",
|
|
66
|
+
]
|
|
67
|
+
}
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
This will make it possible to select between two different layouts: "built-in"
|
|
71
|
+
and "default". If you wish to hide the built-in layout, use the name
|
|
72
|
+
"built-in" for one of the layouts in `INCIDENT_TABLE_COLUMN_LAYOUTS`.
|
|
73
|
+
|
|
74
|
+
If you do not convert the setting, the layout defined in the old setting will
|
|
75
|
+
be available as "default" together with the built-in layout as "built-in".
|
|
76
|
+
|
|
6
77
|
## [2.2.2] - 2025-11-03
|
|
7
78
|
|
|
8
79
|
To aid in development there a live styleguide for the frontend on
|
|
@@ -119,8 +119,9 @@ How to customize the look:
|
|
|
119
119
|
Incident table column customization
|
|
120
120
|
===================================
|
|
121
121
|
|
|
122
|
-
The :setting:`
|
|
123
|
-
in the incident table. This setting takes a
|
|
122
|
+
The :setting:`INCIDENT_TABLE_COLUMN_LAYOUTS` setting controls which columns are
|
|
123
|
+
shown in the incident table. This setting takes a dictionary where the key is
|
|
124
|
+
the name of a layout and the value is a list of ``str`` or
|
|
124
125
|
``argus.htmx.incidents.customization.IncidentTableColumn`` instances. when
|
|
125
126
|
given a ``str``, this key must be available in the
|
|
126
127
|
``argus.htmx.incidents.customization.BUILTIN_COLUMNS`` dictionary. For
|
|
@@ -128,17 +129,21 @@ example::
|
|
|
128
129
|
|
|
129
130
|
from argus.htmx.incidents.customization import BUILTIN_COLUMNS, IncidentTableColumn
|
|
130
131
|
|
|
131
|
-
|
|
132
|
-
"
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
132
|
+
INCIDENT_TABLE_COLUMN_LAYOUTS = {
|
|
133
|
+
"default": [
|
|
134
|
+
"id",
|
|
135
|
+
"start_time",
|
|
136
|
+
BUILTIN_COLUMNS["description"], # equivalent to just "description"
|
|
137
|
+
IncidentTableColumn( # a new column definition
|
|
138
|
+
name="name",
|
|
139
|
+
label="Custom",
|
|
140
|
+
cell_template="/path/to/template.html", # contents of cell
|
|
141
|
+
),
|
|
142
|
+
]
|
|
143
|
+
}
|
|
140
144
|
|
|
141
|
-
|
|
145
|
+
The settings :setting:`INCIDENT_TABLE_COLUMNS` took a single list and is
|
|
146
|
+
deprecated. If it exists it is interpreted as a layout named "default".
|
|
142
147
|
|
|
143
148
|
|
|
144
149
|
.. py:class:: IncidentTableColumn
|
|
@@ -172,11 +177,21 @@ example::
|
|
|
172
177
|
a ``<td>``-tag. This makes it possible to add attributes to the
|
|
173
178
|
``<td>``-tag or skip including the ``cell_template`` altogether.
|
|
174
179
|
|
|
180
|
+
Deprecated: see ``detail_link``
|
|
181
|
+
|
|
175
182
|
Replacing the default with
|
|
176
183
|
``htmx/incident/_incident_table_cell_wrapper_link_to_details.html`` will
|
|
177
184
|
result in the ``cell_template`` being wrapped in a link (``<a>``) to the
|
|
178
185
|
details page.
|
|
179
186
|
|
|
187
|
+
.. py:attribute::detail_link
|
|
188
|
+
|
|
189
|
+
:type: bool
|
|
190
|
+
:value: False
|
|
191
|
+
|
|
192
|
+
Setting ``detail_link`` to ``True`` will wrap the contents of the cell
|
|
193
|
+
with a link (``<a>``) to the details page.
|
|
194
|
+
|
|
180
195
|
.. py:attribute:: column_classes
|
|
181
196
|
|
|
182
197
|
:type: str
|
|
@@ -243,7 +258,7 @@ You could then create ``path/to/_extra_widget.html`` as following::
|
|
|
243
258
|
|
|
244
259
|
|
|
245
260
|
Toast messages
|
|
246
|
-
|
|
261
|
+
==============
|
|
247
262
|
|
|
248
263
|
``argus_htmx`` uses the `Django Messages`_ framework to dynamically display notifications toast
|
|
249
264
|
messages to the user. Some of these messages stay on screen until the user refreshes, while others
|
|
@@ -83,7 +83,7 @@ an extensive list, but can provide entry points or inspiration:
|
|
|
83
83
|
``hx-swap-oob`` content, to a incident list htmx partial response
|
|
84
84
|
* ``htmx/user/_user_menu.html``: add or remove items to the user menu (the menu that appears when
|
|
85
85
|
clicking on the user's initials in the top right)
|
|
86
|
-
* ``htmx/user/
|
|
86
|
+
* ``htmx/user/preferences_list.html``: add custom preferences to the preferences page
|
|
87
87
|
* ``registration/login.html``: show additional information to a user prior to logging in, such as
|
|
88
88
|
a link to a privacy policy or other terms
|
|
89
89
|
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
=======================
|
|
2
|
+
Howto: Handle sonarqube
|
|
3
|
+
=======================
|
|
4
|
+
|
|
5
|
+
We use `sonarqube`_ to scan new code for potential issues and security hotspots.
|
|
6
|
+
It posts comments on pull requests when it finds new issues in that code using rules
|
|
7
|
+
defined by the developer team at Sikt.
|
|
8
|
+
|
|
9
|
+
But we sometimes also disagree with how it handles parts of certain rules. We will
|
|
10
|
+
document that here and which comment to use when marking such an issue as accepted or
|
|
11
|
+
false positive.
|
|
12
|
+
|
|
13
|
+
python:S1192 - String literals should not be duplicated
|
|
14
|
+
-------------------------------------------------------
|
|
15
|
+
|
|
16
|
+
If it makes it more readable, for example if configuration is happening within the
|
|
17
|
+
Python code, then we accept it with "This is better for readability".
|
|
18
|
+
|
|
19
|
+
.. _sonarqube: https://www.sonarsource.com/products/sonarcloud/
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
===============================
|
|
2
|
+
How to trigger test error pages
|
|
3
|
+
===============================
|
|
4
|
+
|
|
5
|
+
To test Django's error views in Argus, the following endpoint can be used:
|
|
6
|
+
|
|
7
|
+
``/.error/?status-code=<error_code>``
|
|
8
|
+
|
|
9
|
+
Replace ``<error_code>`` with one of the supported HTML error codes: 400, 401, 403, 404, 410, or 500.
|
|
10
|
+
|
|
11
|
+
Notes
|
|
12
|
+
~~~~~
|
|
13
|
+
- DEBUG must be set to False in the Django settings to view the standard error pages.
|
|
14
|
+
- Status codes ``404`` and ``500`` will trigger relevant exceptions, which in turn send messages to the user in the main view.
|
|
@@ -607,6 +607,9 @@ Notification profile endpoints
|
|
|
607
607
|
"sourceSystemIds": [
|
|
608
608
|
2
|
|
609
609
|
],
|
|
610
|
+
"source_types": [
|
|
611
|
+
"argus"
|
|
612
|
+
],
|
|
610
613
|
"open": null,
|
|
611
614
|
"acked": null,
|
|
612
615
|
"stateful": null,
|
|
@@ -931,6 +934,9 @@ Notification profile endpoints
|
|
|
931
934
|
"sourceSystemIds": [
|
|
932
935
|
1
|
|
933
936
|
],
|
|
937
|
+
"source_types": [
|
|
938
|
+
"argus"
|
|
939
|
+
],
|
|
934
940
|
"tags": [
|
|
935
941
|
"key1=value1"
|
|
936
942
|
],
|
|
@@ -955,6 +961,9 @@ Notification profile endpoints
|
|
|
955
961
|
"sourceSystemIds": [
|
|
956
962
|
1
|
|
957
963
|
],
|
|
964
|
+
"source_types": [
|
|
965
|
+
"argus"
|
|
966
|
+
],
|
|
958
967
|
"tags": [
|
|
959
968
|
"key1=value1"
|
|
960
969
|
],
|
|
@@ -172,13 +172,168 @@ a time), and the user can select a different page size from ``[10, 20, 50,
|
|
|
172
172
|
:setting:`ARGUS_INCIDENTS_DEFAULT_PAGE_SIZE` (an integer) and
|
|
173
173
|
:setting:`ARGUS_INCIDENTS_PAGE_SIZES` setting respectively.
|
|
174
174
|
|
|
175
|
-
|
|
176
|
-
-----------------------------------
|
|
175
|
+
.. _table-column-reference:
|
|
177
176
|
|
|
178
|
-
|
|
179
|
-
|
|
177
|
+
Table columns
|
|
178
|
+
-------------
|
|
179
|
+
|
|
180
|
+
Argus ships with more possible column types than what are configured by
|
|
181
|
+
default.
|
|
182
|
+
|
|
183
|
+
The columns to use are set with the :setting:`INCIDENT_TABLE_COLUMN_LAYOUTS`
|
|
184
|
+
setting.
|
|
185
|
+
|
|
186
|
+
This is the default for the setting as of this version of Argus:
|
|
187
|
+
|
|
188
|
+
.. code-block:: python3
|
|
189
|
+
|
|
190
|
+
INCIDENT_TABLE_COLUMN_LAYOUTS = {
|
|
191
|
+
"built-in": [
|
|
192
|
+
"color_status",
|
|
193
|
+
"row_select",
|
|
194
|
+
"start_time",
|
|
195
|
+
"combined_status",
|
|
196
|
+
"level",
|
|
197
|
+
"source",
|
|
198
|
+
"description",
|
|
199
|
+
"ticket",
|
|
200
|
+
]
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
You can define your own columns from scratch, see
|
|
180
204
|
:ref:`customize-htmx-frontend` for examples.
|
|
181
205
|
|
|
206
|
+
All built-in columns
|
|
207
|
+
~~~~~~~~~~~~~~~~~~~~
|
|
208
|
+
|
|
209
|
+
ack
|
|
210
|
+
:From: ack
|
|
211
|
+
:Name: ack
|
|
212
|
+
:Description: Show whether the incident is acked or not.
|
|
213
|
+
:Redundant with: combined_status, combined_status_icons
|
|
214
|
+
|
|
215
|
+
ack_icon
|
|
216
|
+
:From: ack
|
|
217
|
+
:Name: ack_icon
|
|
218
|
+
:Description: Show whether the incident is acked or not, using an icon instead of text.
|
|
219
|
+
:Redundant with: combined_status, combined_status_icons
|
|
220
|
+
|
|
221
|
+
color_status
|
|
222
|
+
:From: ack + status
|
|
223
|
+
:Name: color_status
|
|
224
|
+
:Description: A combination of ackedness and openness, shown only as a color.
|
|
225
|
+
|
|
226
|
+
combined_status
|
|
227
|
+
:From: ack + status
|
|
228
|
+
:Name: combined_status
|
|
229
|
+
:Description: Merges the "open" column and the "ack" column into one.
|
|
230
|
+
|
|
231
|
+
combined_status_icons
|
|
232
|
+
:From: ack + status
|
|
233
|
+
:Name: combined_status_icons
|
|
234
|
+
:Description: Merges the "open" column and the "ack" column into one, using icons instead of text.
|
|
235
|
+
|
|
236
|
+
description
|
|
237
|
+
:From: description
|
|
238
|
+
:Name: description
|
|
239
|
+
:Description: The contents of the description-field of the incident.
|
|
240
|
+
:Redundant with: search_description
|
|
241
|
+
|
|
242
|
+
search_description
|
|
243
|
+
:From: description
|
|
244
|
+
:Name: search_description
|
|
245
|
+
:Description: Search for (free text) all tickets that matches and show their
|
|
246
|
+
incidents.
|
|
247
|
+
:Redundant with: description
|
|
248
|
+
|
|
249
|
+
id
|
|
250
|
+
:From: id
|
|
251
|
+
:Name: id
|
|
252
|
+
:Description: The internal id of the incident in argus.
|
|
253
|
+
|
|
254
|
+
level
|
|
255
|
+
:From: level
|
|
256
|
+
:Name: level
|
|
257
|
+
:Description: The severity level.
|
|
258
|
+
:Redundant with: select_levels
|
|
259
|
+
|
|
260
|
+
select_levels
|
|
261
|
+
:From: level
|
|
262
|
+
:Name: select_levels
|
|
263
|
+
:Description: The severity level. One or more can be selected. Might conflict
|
|
264
|
+
with the notification filter field ``maxlevel``. If maxlevel is
|
|
265
|
+
set to less than max, you will get no results if searching for
|
|
266
|
+
the max via this field.
|
|
267
|
+
:Redundant with: level
|
|
268
|
+
|
|
269
|
+
status
|
|
270
|
+
:From: open
|
|
271
|
+
:Name: status
|
|
272
|
+
:Description: Whether the incident is still ongoing or has been closed.
|
|
273
|
+
:Redundant with: combined_status, combined_status_icons
|
|
274
|
+
|
|
275
|
+
status_icon
|
|
276
|
+
:From: open
|
|
277
|
+
:Name: status_icon
|
|
278
|
+
:Description: Whether the incident is still ongoing or has been closed, using an icon instead of text.
|
|
279
|
+
:Redundant with: combined_status, combined_status_icons
|
|
280
|
+
|
|
281
|
+
row_select
|
|
282
|
+
:From: depends on incident id
|
|
283
|
+
:Name: row_select
|
|
284
|
+
:Description: Checkbox to select the row for bulk changes.
|
|
285
|
+
|
|
286
|
+
source
|
|
287
|
+
:From: source
|
|
288
|
+
:Name: source
|
|
289
|
+
:Description: The source of the incident.
|
|
290
|
+
|
|
291
|
+
start_time
|
|
292
|
+
:From: start_time
|
|
293
|
+
:Name: start_time
|
|
294
|
+
:Description: When the incident started, fixed width.
|
|
295
|
+
:Redundant with: narrow_start_time
|
|
296
|
+
|
|
297
|
+
narrow_start_time
|
|
298
|
+
:From: start_time
|
|
299
|
+
:Name: start_time
|
|
300
|
+
:Description: When the incident started, width depends on date format.
|
|
301
|
+
:Redundant with: start_time
|
|
302
|
+
|
|
303
|
+
start_time_and_age
|
|
304
|
+
:From: start_time + age
|
|
305
|
+
:Name: start_time_and_age
|
|
306
|
+
:Description: When the incident started, and how long it has been ongoing.
|
|
307
|
+
:Redundant with: start_time
|
|
308
|
+
|
|
309
|
+
age
|
|
310
|
+
:From: age
|
|
311
|
+
:Name: age
|
|
312
|
+
:Description: How long the incident has been ongoing.
|
|
313
|
+
:Redundant with: start_time_and_age
|
|
314
|
+
|
|
315
|
+
ticket
|
|
316
|
+
:From: ticket_url
|
|
317
|
+
:Name: ticket
|
|
318
|
+
:Description: A link to a ticket/issue in an external system with more information.
|
|
319
|
+
:Redundant with: has_ticket_url, search_ticket_url
|
|
320
|
+
|
|
321
|
+
has_ticket_url
|
|
322
|
+
:From: ticket_url
|
|
323
|
+
:Name: has_ticket_url
|
|
324
|
+
:Description: A link to a ticket/issue in an external system with more information.
|
|
325
|
+
Can toggle showing only incidents that has or lacks a ticket url.
|
|
326
|
+
:Redundant with: ticket, search_ticket_url
|
|
327
|
+
|
|
328
|
+
search_ticket_url
|
|
329
|
+
:From: ticket_url
|
|
330
|
+
:Name: search_ticket_url
|
|
331
|
+
:Description: A link to a ticket/issue in an external system with more information.
|
|
332
|
+
Can search through all the tickets for the term, and only show
|
|
333
|
+
the matching incidents.
|
|
334
|
+
:Redundant with: ticket, has_ticket_url
|
|
335
|
+
|
|
336
|
+
|
|
182
337
|
Themes
|
|
183
338
|
------
|
|
184
339
|
|
|
@@ -186,6 +341,20 @@ If you wish to change the available themes, first make sure the support for
|
|
|
186
341
|
Tailwind CSS and daisyUI has been installed, then see
|
|
187
342
|
:ref:`customize-htmx-frontend`.
|
|
188
343
|
|
|
344
|
+
Usage of Javascript
|
|
345
|
+
===================
|
|
346
|
+
|
|
347
|
+
The amount of javascript libraries is deliberately being kept to a minimum. The
|
|
348
|
+
ones in use are vendored to avoid a build step and stored locally to not depend
|
|
349
|
+
on DNS.
|
|
350
|
+
|
|
351
|
+
The following are in use:
|
|
352
|
+
|
|
353
|
+
* `htmx <https://htmx.org/>`_ for updating parts of a page smoothly
|
|
354
|
+
* `hyperscript <https://hyperscript.org/>`_ for adding client-side interactivity, used for cases where htmx alone is not sufficient
|
|
355
|
+
* `choices.js <https://choices-js.github.io/Choices/>`_ for typeahead search,
|
|
356
|
+
multi select
|
|
357
|
+
|
|
189
358
|
Customization
|
|
190
359
|
=============
|
|
191
360
|
|
|
@@ -315,8 +315,35 @@ Ticket system settings
|
|
|
315
315
|
``TICKET_PLUGIN``, ``TICKET_ENDPOINT``, ``TICKET_AUTHENTICATION_SECRET``,
|
|
316
316
|
``TICKET_INFORMATION`` are all described in :ref:`ticket-systems-settings`.
|
|
317
317
|
|
|
318
|
+
Frontend settings
|
|
319
|
+
-----------------
|
|
320
|
+
|
|
321
|
+
.. setting:: INCIDENT_TABLE_COLUMN_LAYOUTS
|
|
322
|
+
|
|
323
|
+
* :setting:`INCIDENT_TABLE_COLUMN_LAYOUTS` allows adding one or more choosable
|
|
324
|
+
incident list column layouts in addition to the built-in layout. Format::
|
|
325
|
+
|
|
326
|
+
INCIDENT_TABLE_COLUMN_LAYOUTS = {
|
|
327
|
+
"default": [
|
|
328
|
+
"row_select",
|
|
329
|
+
"combined_status",
|
|
330
|
+
"source",
|
|
331
|
+
"description",
|
|
332
|
+
]
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
See :ref:`table-column-reference` for the built-in layout and a list of all
|
|
336
|
+
available built-in column types.
|
|
337
|
+
|
|
338
|
+
.. setting:: INCIDENT_TABLE_COLUMNS
|
|
339
|
+
|
|
340
|
+
* :setting:`INCIDENT_TABLE_COLUMNS`
|
|
341
|
+
|
|
342
|
+
The old, deprecated variant of :setting:`INCIDENT_TABLE_COLUMN_LAYOUTS`, it
|
|
343
|
+
only supported a single column layout.
|
|
344
|
+
|
|
318
345
|
Special environment settings
|
|
319
|
-
|
|
346
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
320
347
|
|
|
321
348
|
.. setting:: BANNER_MESSAGE
|
|
322
349
|
|
|
@@ -344,4 +371,3 @@ Debugging settings
|
|
|
344
371
|
|
|
345
372
|
* :setting:`TEMPLATE_DEBUG` (optional) provides a convenient way to turn debugging on and off
|
|
346
373
|
for templates. If undefined it will default to the value of :setting:`DEBUG`.
|
|
347
|
-
|
|
@@ -626,19 +626,43 @@ receive by creating, editing and deleting *notification profiles*.
|
|
|
626
626
|
About components of notification profiles
|
|
627
627
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
628
628
|
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
629
|
+
Timeslot
|
|
630
|
+
^^^^^^^^
|
|
631
|
+
|
|
632
|
+
**Timeslot** allows you to customize **when** you want to receive
|
|
633
|
+
the alarm notifications. You can choose one timeslot per
|
|
634
|
+
notification profile. Timeslots are reusable across multiple
|
|
635
|
+
notification profiles.
|
|
636
|
+
|
|
637
|
+
Filter
|
|
638
|
+
^^^^^^
|
|
639
|
+
|
|
640
|
+
**Filter** allows you to customize **what** alarms (incidents) you
|
|
641
|
+
want to receive the notifications about. Filters are reusable
|
|
642
|
+
across multiple notification profiles.
|
|
643
|
+
|
|
644
|
+
You can choose multiple filters per notification profile. They are
|
|
645
|
+
*combined to increase precision*. You cannot use *one* profile for
|
|
646
|
+
*sufficiently different types of incidents*.
|
|
647
|
+
|
|
648
|
+
For instance, if an incident may only ever have one tag that
|
|
649
|
+
starts with ``hostname=``, then having a profile with multiple
|
|
650
|
+
filters, each asking for *different* hostnames, will never be able
|
|
651
|
+
to match anything.
|
|
652
|
+
|
|
653
|
+
If you need to match multiple hostname tags in a profile, make
|
|
654
|
+
a filter that only matches hostnames and include that filter in
|
|
655
|
+
the profile.
|
|
656
|
+
|
|
657
|
+
Destination
|
|
658
|
+
^^^^^^^^^^^
|
|
659
|
+
|
|
660
|
+
**Destination** allows you to customize **where** you want to
|
|
661
|
+
receive the alarm notifications. You can choose multiple
|
|
662
|
+
destinations per notification profile. Destinations are reusable
|
|
663
|
+
across multiple notification profiles. Destinations may be of
|
|
664
|
+
`different media types
|
|
665
|
+
<#about-the-available-notification-media>`_.
|
|
642
666
|
|
|
643
667
|
.. _about-the-available-notification-media:
|
|
644
668
|
About the available notification media
|