Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Teams redesign #1528

Merged
merged 60 commits into from
Mar 21, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
4f2a59b
Add alert group filtering based on owning team
iskhakov Mar 11, 2023
5aea1ee
part 2
iskhakov Mar 13, 2023
6f6548b
part 3
iskhakov Mar 13, 2023
b0201af
Rename owning team filter to team
iskhakov Mar 13, 2023
0230f0d
Add filters for schedule and escalation chains
iskhakov Mar 13, 2023
d98d675
Add integrations filter and maintenance filters endpoint
iskhakov Mar 13, 2023
9b3784e
Show team name next to the resource
iskhakov Mar 13, 2023
3535638
add RemoteFilters
Mar 14, 2023
8728e7d
move cards out of incidents filters
Mar 14, 2023
bd3defb
Refactor team filter
iskhakov Mar 15, 2023
6b40193
add RemoteFilters to all pages
Mar 15, 2023
4f1ce1d
Merge branch 'iskhakov/teams-refactoring' of github.com:grafana/oncal…
Mar 15, 2023
4a1fe3e
Display team
iskhakov Mar 15, 2023
78d4c60
add team selector to forms
Mar 15, 2023
a0f10eb
Merge branch 'iskhakov/teams-refactoring' of github.com:grafana/oncal…
Mar 15, 2023
4c3a600
Add teams settings page
iskhakov Mar 15, 2023
ef83c15
Fix bug
iskhakov Mar 15, 2023
3c6963a
Add schedule filters
iskhakov Mar 15, 2023
05f4fd4
Add schedule filters
iskhakov Mar 15, 2023
d7e4252
Add schedule filters
iskhakov Mar 15, 2023
b58a2cb
Add modal window for setting
iskhakov Mar 15, 2023
2df5c11
add TeamSettings modal, add Private esc chain render
Mar 15, 2023
7a9c39d
Clean up and add style name
iskhakov Mar 16, 2023
762279b
add private schedule, webhook display
Mar 16, 2023
6450113
Merge branch 'iskhakov/teams-refactoring' of github.com:grafana/oncal…
Mar 16, 2023
862bc71
Fix bug when unable to set default team
iskhakov Mar 16, 2023
78a544b
show team settings in main settings for old nav only
Mar 16, 2023
5d87a0b
Merge branch 'iskhakov/teams-refactoring' of github.com:grafana/oncal…
Mar 16, 2023
a0c7a27
Add shared teams support, fix team change for integration
iskhakov Mar 16, 2023
bf8b1c1
fix ts errors
Mar 16, 2023
c06fdc2
Merge branch 'iskhakov/teams-refactoring' of github.com:grafana/oncal…
Mar 16, 2023
3c9b32c
Clean up
iskhakov Mar 16, 2023
23e28f0
Add global flag to teams filter
iskhakov Mar 16, 2023
294b226
add support for global filters
Mar 16, 2023
7f8601b
fix integration team preselected, fix global filters
Mar 16, 2023
ae47988
Add team acess control to rest of the resources
iskhakov Mar 16, 2023
3d322dc
Cleanup
iskhakov Mar 16, 2023
1e424b1
Update grafana-plugin/src/components/PageErrorHandlingWrapper/PageErr…
iskhakov Mar 20, 2023
3d5aa3b
Apply suggestions from code review
iskhakov Mar 20, 2023
8da4b52
Fixes for code review
iskhakov Mar 20, 2023
dd364e5
Fix typos
iskhakov Mar 20, 2023
8108c10
Code optimisations after reviews
iskhakov Mar 20, 2023
c09edf1
Add tooltips and descriptions
iskhakov Mar 20, 2023
c12962a
Merge branch 'dev' into iskhakov/teams-refactoring
Mar 20, 2023
faaffcc
Deduplicate team ModelMultipleChoiceFilter
iskhakov Mar 20, 2023
68871ae
Add team field to direct paging
iskhakov Mar 20, 2023
d3dbabd
fix ts
Mar 20, 2023
e8438d9
fix escalation chains filtering
Mar 20, 2023
e365ed7
disable outgoing webhooks page test
Mar 20, 2023
6c8000b
fix remote filters parsers
Mar 20, 2023
9270721
Merge branch 'dev' into iskhakov/teams-refactoring
iskhakov Mar 21, 2023
cd54dfb
Change how team is displayed
iskhakov Mar 21, 2023
85d4468
Fix tests and minor bugs
iskhakov Mar 21, 2023
d7b849c
Merge branch 'dev' into iskhakov/teams-refactoring
iskhakov Mar 21, 2023
061899e
fix integrations and esc chains page autoselect
Mar 21, 2023
a245912
Add team selector to alert groups and add more descriptions
iskhakov Mar 21, 2023
b702d8c
Merge branch 'iskhakov/teams-refactoring' of github.com:grafana/oncal…
Mar 21, 2023
7665001
Fix integration tests and comment out integrations search test
iskhakov Mar 21, 2023
6d9217c
Merge branch 'dev' into iskhakov/teams-refactoring
iskhakov Mar 21, 2023
7733ab6
Add entry to changelog
iskhakov Mar 21, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Code optimisations after reviews
  • Loading branch information
iskhakov committed Mar 20, 2023
commit 8108c102ef13cb94426c2aace1b1da2712697369
3 changes: 2 additions & 1 deletion engine/apps/user_management/models/user.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
from django.conf import settings
from django.core.validators import MinLengthValidator
from django.db import models
from django.db.models import Q
from django.db.models.signals import post_save
from django.dispatch import receiver
from emoji import demojize
Expand Down Expand Up @@ -187,7 +188,7 @@ def __str__(self):
def available_teams(self):
if self.role == LegacyAccessControlRole.ADMIN:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I might suggest using the user_is_authorized method defined here. This will conditionally change how authorization is determined based on whether RBAC is enabled or not

return self.organization.teams.all()
return self.teams.all() | self.organization.teams.filter(is_sharing_resources_to_all=True)
return self.organization.teams.filter(Q(is_sharing_resources_to_all=True) | Q(users=self))

@property
def is_authenticated(self):
Expand Down
7 changes: 5 additions & 2 deletions engine/common/api_helpers/mixins.py
Original file line number Diff line number Diff line change
Expand Up @@ -198,8 +198,11 @@ class TeamFilteringMixin:

@property
def available_teams_lookup_args(self):
team_ids = list(self.request.user.available_teams.values_list("id", flat=True))
return [Q(**{f"{self.TEAM_LOOKUP}__in": team_ids}) | Q(**{f"{self.TEAM_LOOKUP}__isnull": True})]
return [
Q(**{f"{self.TEAM_LOOKUP}__users": self.request.user})
| Q(**{f"{self.TEAM_LOOKUP}__is_sharing_resources_to_all": True})
| Q(**{f"{self.TEAM_LOOKUP}__isnull": True})
]

def retrieve(self, request, *args, **kwargs):
try:
Expand Down
1 change: 0 additions & 1 deletion grafana-plugin/src/pages/schedules/Schedules.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,6 @@ class SchedulesPage extends React.Component<SchedulesPageProps, SchedulesPageSta
<VerticalGroup>
<div className={cx('schedules__filters-container')}>
<RemoteFilters query={query} page="schedules" onChange={this.handleSchedulesFiltersChange} />
{/* <SchedulesFilters value={filters} onChange={this.handleSchedulesFiltersChange} /> */}
<div className={cx('schedules__actions')}>
{users && (
<UserTimezoneSelect
Expand Down