oncall-engine/engine
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
..
apps Fix duplicate orders on routes and escalation policies (#2568) 2023-07-18 17:17:53 +00:00
common Fix duplicate orders on routes and escalation policies (#2568) 2023-07-18 17:17:53 +00:00
config_integrations Unhide direct paging integration (#2483) 2023-07-13 13:41:31 +08:00
engine remove deprecated backend code (#2502) 2023-07-12 02:07:45 -04:00
settings set default phone provider (#2523) 2023-07-17 13:04:55 +00:00
static/images World, meet OnCall! 2022-06-03 08:09:47 -06:00
type_stubs/icalendar continue addressing mypy violations (#2170) 2023-06-27 10:23:08 +00:00
.dockerignore One startup command to rule them all (#760) 2022-11-07 16:34:43 +01:00
.gitignore modify push notification settings + use fcm-django library (#998) 2022-12-20 12:41:34 +01:00
celery_with_exporter.sh Add flag to debug logs (#912) 2022-11-29 11:16:42 +08:00
conftest.py Reworked slack login pipeline errors (#2526) 2023-07-18 13:31:11 +00:00
Dockerfile install requirements-dev.txt dependencies oncall docker image dev target (#2284) 2023-06-19 05:50:59 -04:00
manage.py World, meet OnCall! 2022-06-03 08:09:47 -06:00
pyproject.toml fix import mypy errors (#2407) 2023-07-14 06:00:02 -04:00
requirements-dev.txt re-enable mypy GitHub Actions CI job (#2390) 2023-06-29 14:01:52 +00:00
requirements.txt Fix duplicate orders on routes and escalation policies (#2568) 2023-07-18 17:17:53 +00:00
tox.ini Fix duplicate orders for user notification policies (#2278) 2023-06-21 11:13:56 +00:00
uwsgi.ini Run containers as a non-root user (#2053) 2023-06-08 07:12:00 +00:00
wait_for_test_mysql_start.sh Revert "Revert "speed up ci builds from 15 to <7 minutes"" (#1643) 2023-03-28 09:34:03 +02:00