oncall-engine/engine/apps/api/serializers
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 add several new database columns + emit two new Django signals (#1522) 2023-04-14 09:15:57 +02:00
alert_group.py Update Slack "invite" feature to use direct paging (#2562) 2023-07-18 08:36:11 +00:00
alert_receive_channel.py Unhide direct paging integration (#2483) 2023-07-13 13:41:31 +08:00
alerts_field_cache_buster_mixin.py add several new database columns + emit two new Django signals (#1522) 2023-04-14 09:15:57 +02:00
channel_filter.py Fix duplicate orders on routes and escalation policies (#2568) 2023-07-18 17:17:53 +00:00
custom_button.py use CustomURLValidator in custom_button (#1398) 2023-03-23 12:21:17 +00:00
custom_serializers.py World, meet OnCall! 2022-06-03 08:09:47 -06:00
escalation_chain.py Add alert group filter by escalation chain (#1535) 2023-03-14 14:38:18 +00:00
escalation_policy.py Fix duplicate orders on routes and escalation policies (#2568) 2023-07-18 17:17:53 +00:00
integration_heartbeat.py World, meet OnCall! 2022-06-03 08:09:47 -06:00
live_setting.py Allow no-auth SMTP connection for email notifications (#759) 2022-11-03 16:18:37 +00:00
on_call_shifts.py continue addressing mypy violations (#2170) 2023-06-27 10:23:08 +00:00
organization.py remove organization maintenance mode + fix integration maintenance mode (#2511) 2023-07-12 16:41:44 -04:00
organization_slack_settings.py World, meet OnCall! 2022-06-03 08:09:47 -06:00
paging.py remove references to AlertGroup.is_archived and AlertGroup.unarchived_objects (#2524) 2023-07-18 11:48:34 +00:00
public_api_token.py World, meet OnCall! 2022-06-03 08:09:47 -06:00
resolution_note.py remove references to AlertGroup.is_archived and AlertGroup.unarchived_objects (#2524) 2023-07-18 11:48:34 +00:00
schedule_base.py Add support for web overrides to Terraform schedules (#1222) 2023-03-10 16:21:50 +00:00
schedule_calendar.py Add support for web overrides to Terraform schedules (#1222) 2023-03-10 16:21:50 +00:00
schedule_ical.py World, meet OnCall! 2022-06-03 08:09:47 -06:00
schedule_polymorphic.py add mypy static type checker to backend codebase (#2151) 2023-06-12 12:50:33 -04:00
schedule_reminder.py World, meet OnCall! 2022-06-03 08:09:47 -06:00
schedule_web.py Add support for web overrides to Terraform schedules (#1222) 2023-03-10 16:21:50 +00:00
slack_channel.py World, meet OnCall! 2022-06-03 08:09:47 -06:00
slack_user_identity.py World, meet OnCall! 2022-06-03 08:09:47 -06:00
team.py continue addressing mypy violations (#2170) 2023-06-27 10:23:08 +00:00
telegram.py World, meet OnCall! 2022-06-03 08:09:47 -06:00
user.py remove legacy permission strings (#2269) 2023-06-16 10:00:14 +00:00
user_group.py World, meet OnCall! 2022-06-03 08:09:47 -06:00
user_notification_policy.py Fix duplicate orders on routes and escalation policies (#2568) 2023-07-18 17:17:53 +00:00
webhook.py Rares/add template editor to webhooks (#2455) 2023-07-11 18:03:34 +00:00