Skip to content

Commit 9db004b

Browse files
authored
chore(dashboards): Remove table view FF from backend (#94959)
1 parent a43f10d commit 9db004b

File tree

3 files changed

+55
-77
lines changed

3 files changed

+55
-77
lines changed

src/sentry/api/endpoints/organization_dashboards.py

Lines changed: 24 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -145,43 +145,31 @@ def get(self, request: Request, organization) -> Response:
145145
order_by = ["last_visited" if desc else "-last_visited"]
146146

147147
elif sort_by == "mydashboards":
148-
if features.has(
149-
"organizations:dashboards-table-view", organization, actor=request.user
150-
):
151-
user_name_dict = {
152-
user.id: user.name
153-
for user in user_service.get_many_by_id(
154-
ids=list(dashboards.values_list("created_by_id", flat=True))
155-
)
156-
}
157-
dashboards = dashboards.annotate(
158-
user_name=Case(
159-
*[
160-
When(created_by_id=user_id, then=Value(user_name))
161-
for user_id, user_name in user_name_dict.items()
162-
],
163-
default=Value(""),
164-
output_field=CharField(),
165-
)
148+
user_name_dict = {
149+
user.id: user.name
150+
for user in user_service.get_many_by_id(
151+
ids=list(dashboards.values_list("created_by_id", flat=True))
152+
)
153+
}
154+
dashboards = dashboards.annotate(
155+
user_name=Case(
156+
*[
157+
When(created_by_id=user_id, then=Value(user_name))
158+
for user_id, user_name in user_name_dict.items()
159+
],
160+
default=Value(""),
161+
output_field=CharField(),
166162
)
167-
order_by = [
168-
Case(
169-
When(created_by_id=request.user.id, then=-1),
170-
default=1,
171-
output_field=IntegerField(),
172-
),
173-
"-user_name" if desc else "user_name",
174-
"-date_added",
175-
]
176-
else:
177-
order_by = [
178-
Case(
179-
When(created_by_id=request.user.id, then=-1),
180-
default="created_by_id",
181-
output_field=IntegerField(),
182-
),
183-
"-date_added",
184-
]
163+
)
164+
order_by = [
165+
Case(
166+
When(created_by_id=request.user.id, then=-1),
167+
default=1,
168+
output_field=IntegerField(),
169+
),
170+
"-user_name" if desc else "user_name",
171+
"-date_added",
172+
]
185173

186174
elif sort_by == "myDashboardsAndRecentlyViewed":
187175
order_by = [

src/sentry/features/temporary.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,6 @@ def register_temporary_features(manager: FeatureManager):
9898
manager.add("organizations:dashboards-metrics-transition", OrganizationFeature, FeatureHandlerStrategy.FLAGPOLE, api_expose=True)
9999
# Enable starred dashboards with reordering
100100
manager.add("organizations:dashboards-starred-reordering", OrganizationFeature, FeatureHandlerStrategy.FLAGPOLE, api_expose=True)
101-
# Enable table view on dashboards landing page
102-
manager.add("organizations:dashboards-table-view", OrganizationFeature, FeatureHandlerStrategy.FLAGPOLE, api_expose=True)
103101
# Enable the dashboard widget builder redesign UI
104102
manager.add("organizations:dashboards-widget-builder-redesign", OrganizationFeature, FeatureHandlerStrategy.FLAGPOLE, api_expose=True)
105103
# Enable dashboard table widget visualization component to replace current widget tables

tests/sentry/api/endpoints/test_organization_dashboards.py

Lines changed: 31 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -173,14 +173,7 @@ def test_get_sortby_mydashboards(self):
173173
assert response.status_code == 200, response.content
174174

175175
values = [int(row["createdBy"]["id"]) for row in response.data if row["dateCreated"]]
176-
assert values == [self.user.id, self.user.id, user_1.id, user_2.id]
177-
178-
with self.feature("organizations:dashboards-table-view"):
179-
response = self.client.get(self.url, data={"sort": "mydashboards"})
180-
assert response.status_code == 200, response.content
181-
182-
values = [int(row["createdBy"]["id"]) for row in response.data if row["dateCreated"]]
183-
assert values == [self.user.id, self.user.id, user_2.id, user_1.id]
176+
assert values == [self.user.id, self.user.id, user_2.id, user_1.id]
184177

185178
def test_get_sortby_mydashboards_and_recently_viewed(self):
186179
user_1 = self.create_user(username="user_1")
@@ -247,37 +240,36 @@ def test_get_sortby_mydashboards_with_owner_name(self):
247240
Dashboard.objects.create(title="F", created_by_id=user_1.id, organization=self.organization)
248241

249242
self.login_as(user_1)
250-
with self.feature("organizations:dashboards-table-view"):
251-
response = self.client.get(self.url, data={"sort": "mydashboards"})
252-
assert response.status_code == 200, response.content
253-
254-
values = [row["createdBy"]["name"] for row in response.data if row["dateCreated"]]
255-
assert values == [
256-
"Cat",
257-
"Cat",
258-
"admin@localhost", # name is empty
259-
"admin@localhost",
260-
"Aapple",
261-
"Banana",
262-
"Pineapple",
263-
"Pineapple",
264-
]
265-
266-
# descending
267-
response = self.client.get(self.url, data={"sort": "-mydashboards"})
268-
assert response.status_code == 200, response.content
269-
270-
values = [row["createdBy"]["name"] for row in response.data if row["dateCreated"]]
271-
assert values == [
272-
"Cat",
273-
"Cat",
274-
"Pineapple",
275-
"Pineapple",
276-
"Banana",
277-
"Aapple",
278-
"admin@localhost", # name is empty
279-
"admin@localhost",
280-
]
243+
response = self.client.get(self.url, data={"sort": "mydashboards"})
244+
assert response.status_code == 200, response.content
245+
246+
values = [row["createdBy"]["name"] for row in response.data if row["dateCreated"]]
247+
assert values == [
248+
"Cat",
249+
"Cat",
250+
"admin@localhost", # name is empty
251+
"admin@localhost",
252+
"Aapple",
253+
"Banana",
254+
"Pineapple",
255+
"Pineapple",
256+
]
257+
258+
# descending
259+
response = self.client.get(self.url, data={"sort": "-mydashboards"})
260+
assert response.status_code == 200, response.content
261+
262+
values = [row["createdBy"]["name"] for row in response.data if row["dateCreated"]]
263+
assert values == [
264+
"Cat",
265+
"Cat",
266+
"Pineapple",
267+
"Pineapple",
268+
"Banana",
269+
"Aapple",
270+
"admin@localhost", # name is empty
271+
"admin@localhost",
272+
]
281273

282274
def test_get_only_favorites_no_sort(self):
283275
user_1 = self.create_user(username="user_1")

0 commit comments

Comments
 (0)