oncall-engine/engine/apps/alerts/models
Vadim Stepanov 602ed535e3
Fix duplicate orders on routes and escalation policies (#2568)
# What this PR does

Fix duplicate `order` values for models `EscalationPolicy` and
`ChannelFilter` using the same approach as
https://github.com/grafana/oncall/pull/2278.

- Make internal API action `move_to_position` a part of
[OrderedModelViewSet](https://github.com/grafana/oncall/pull/2568/files#diff-eb62521ccbcb072d1bd2156adeadae3b5895bce6d0d54432a23db3948b0ada54R11-R34),
so all ordered model views use the same logic.
- Make public API serializers for ordered models inherit from
[OrderedModelSerializer](https://github.com/grafana/oncall/pull/2568/files#diff-d749f94af5a49adaf5074325cdfad10ddd5a52dbfd78b49582867ebb9c92fae5R6-R38),
so ordered model views are consistent with each other in public API.
- Remove `order` from plugin fronted, since it's not being used
anywhere. The frontend uses step indices & `move_to_position` action
instead.
- Make escalation snapshot use step indices instead of orders, since
orders are not guaranteed to be sequential (+fix a minor off-by-one bug)

## Which issue(s) this PR fixes

https://github.com/grafana/oncall-private/issues/1680

## Checklist

- [x] Unit, integration, and e2e (if applicable) tests updated
- [x] Documentation added (or `pr:no public docs` PR label added if not
required)
- [x] `CHANGELOG.md` updated (or `pr:no changelog` PR label added if not
required)
2023-07-18 17:17:53 +00:00
..
__init__.py World, meet OnCall! 2022-06-03 08:09:47 -06:00
alert.py remove references to AlertGroup.is_archived and AlertGroup.unarchived_objects (#2524) 2023-07-18 11:48:34 +00:00
alert_group.py remove references to AlertGroup.is_archived and AlertGroup.unarchived_objects (#2524) 2023-07-18 11:48:34 +00:00
alert_group_counter.py World, meet OnCall! 2022-06-03 08:09:47 -06:00
alert_group_log_record.py add several new database columns + emit two new Django signals (#1522) 2023-04-14 09:15:57 +02:00
alert_manager_models.py Limit number of alertmanager alerts in alert group to autoresolve (#1779) 2023-04-24 05:38:21 +00:00
alert_receive_channel.py Remove INTEGRATIONS_TO_REVERSE_URL_MAP (#2533) 2023-07-17 04:43:24 +00:00
channel_filter.py Fix duplicate orders on routes and escalation policies (#2568) 2023-07-18 17:17:53 +00:00
custom_button.py re-enable mypy GitHub Actions CI job (#2390) 2023-06-29 14:01:52 +00:00
escalation_chain.py re-enable mypy GitHub Actions CI job (#2390) 2023-06-29 14:01:52 +00:00
escalation_policy.py Fix duplicate orders on routes and escalation policies (#2568) 2023-07-18 17:17:53 +00:00
grafana_alerting_contact_point.py Fix creation contact points for grafana alerting integration 2022-06-16 17:16:31 +03:00
invitation.py add mypy static type checker to backend codebase (#2151) 2023-06-12 12:50:33 -04:00
maintainable_object.py remove references to AlertGroup.is_archived and AlertGroup.unarchived_objects (#2524) 2023-07-18 11:48:34 +00:00
resolution_note.py add mypy static type checker to backend codebase (#2151) 2023-06-12 12:50:33 -04:00
user_has_notification.py World, meet OnCall! 2022-06-03 08:09:47 -06:00