oncall-engine/engine/apps/slack
Joey Orlando 04ab676463
feat: update RBAC permissioning to support grafana-irm-app (#5149)
# What this PR does

Closes https://github.com/grafana/irm/issues/31 (and supersedes
https://github.com/grafana/oncall/pull/4784)

Main changes:
- updates `apps.api.permissions.user_is_authorized` to check the value
of `organization.is_grafana_irm_enabled`. If it is, we check for the
presence of `grafana-irm-app` prefixed RBAC permissions rather than
`grafana-oncall-app`
- cleans-up `engine/apps/api/tests/test_permissions.py` (bulk of the
changes in the PR)
- converts `apps.user_management.models.User.build_permissions_query` to
a `UserQuerySet` method instead
  - means we can now do things like this instead:
  ```python3

User.objects.filter_by_permission(RBACPermission.Permissions.NOTIFICATIONS_READ,
organization)
  ```

## 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] Added the relevant release notes label (see labels prefixed w/
`release:`). These labels dictate how your PR will
    show up in the autogenerated release notes.
2024-10-10 19:02:21 +00:00
..
migrations Unified Slack app reinstall (#4682) 2024-07-19 11:53:06 +00:00
models feat: update RBAC permissioning to support grafana-irm-app (#5149) 2024-10-10 19:02:21 +00:00
representatives remove leftofter/deprecated slack log report tasks (#4858) 2024-08-19 19:10:46 -04:00
scenarios update URLs constructed by the backend to support IRM plugin (#5137) 2024-10-09 08:55:10 -04:00
tests update URLs constructed by the backend to support IRM plugin (#5137) 2024-10-09 08:55:10 -04:00
types Introduce slash command matcher (#4717) 2024-07-24 09:53:06 +00:00
__init__.py World, meet OnCall! 2022-06-03 08:09:47 -06:00
alert_group_slack_service.py Do not retry on SlackAPICantUpdateMessageError errors (#4405) 2024-05-28 17:46:15 +00:00
chatops_proxy_routing.py Prepare OnCall for Unified Slack App (#4232) 2024-06-03 09:07:10 +00:00
client.py Update when slack client ratelimit retry handler is enabled (#3447) 2023-11-30 12:35:46 +00:00
constants.py Truncate resolution note text in slack message to satisfy block limits (#3351) 2023-11-16 13:15:04 +00:00
errors.py Update Slack user group for a schedule - handle paid_team_only Slack API error (#4793) 2024-08-09 14:51:01 +00:00
installation.py Unified Slack app reinstall (#4682) 2024-07-19 11:53:06 +00:00
slack_formatter.py Fix alert group rendering (#3424) 2023-11-24 15:39:37 +00:00
slash_command.py Make root command configurable (#4863) 2024-08-21 06:54:47 +00:00
tasks.py remove leftofter/deprecated slack log report tasks (#4858) 2024-08-19 19:10:46 -04:00
test_slack_message.py Don't send request for permalink if slack token has been revoked (#4777) 2024-08-06 15:34:08 +00:00
urls.py Make Slack URLs work without trailing slashes (#4607) 2024-07-03 15:55:54 +00:00
utils.py Address deprecation warnings in tests (#4681) 2024-08-13 20:51:18 +00:00
views.py update URLs constructed by the backend to support IRM plugin (#5137) 2024-10-09 08:55:10 -04:00