From 0a8a3ab0f5b46cc5280976c07a16d8721186f9f6 Mon Sep 17 00:00:00 2001 From: Norwin Date: Thu, 4 Mar 2021 22:59:13 +0000 Subject: [PATCH] Show private heatmap on profile to self & admins (#14881) followup to #14080 --- integrations/privateactivity_test.go | 15 ++++++--------- routers/user/home.go | 4 +--- routers/user/profile.go | 4 +--- 3 files changed, 8 insertions(+), 15 deletions(-) diff --git a/integrations/privateactivity_test.go b/integrations/privateactivity_test.go index 381cb6b33..23c6a7e8c 100644 --- a/integrations/privateactivity_test.go +++ b/integrations/privateactivity_test.go @@ -268,9 +268,6 @@ func TestPrivateActivityNoHeatmapVisibleForAdmin(t *testing.T) { } // check heatmap visibility if the visibility is disabled -// this behavior, in special the one for the admin, is -// due to the fact that the heatmap is the same for all viewers; -// otherwise, there is no reason for it func TestPrivateActivityYesHeatmapInvisibleForPublic(t *testing.T) { defer prepareTestEnv(t)() @@ -282,7 +279,7 @@ func TestPrivateActivityYesHeatmapInvisibleForPublic(t *testing.T) { assert.False(t, visible, "user should have no visible heatmap") } -func TestPrivateActivityYesHeatmapInvisibleForUserItselfAtProfile(t *testing.T) { +func TestPrivateActivityYesHeatmapVisibleForUserItselfAtProfile(t *testing.T) { defer prepareTestEnv(t)() testPrivateActivityDoSomethingForActionEntries(t) testPrivateActivityHelperEnablePrivateActivity(t) @@ -290,10 +287,10 @@ func TestPrivateActivityYesHeatmapInvisibleForUserItselfAtProfile(t *testing.T) session := loginUser(t, privateActivityTestUser) visible := testPrivateActivityHelperHasVisibleProfileHeatmapFromSession(t, session) - assert.False(t, visible, "user should have no visible heatmap") + assert.True(t, visible, "user should have visible heatmap") } -func TestPrivateActivityYesHeatmapInvisibleForUserItselfAtDashboard(t *testing.T) { +func TestPrivateActivityYesHeatmapVisibleForUserItselfAtDashboard(t *testing.T) { defer prepareTestEnv(t)() testPrivateActivityDoSomethingForActionEntries(t) testPrivateActivityHelperEnablePrivateActivity(t) @@ -301,7 +298,7 @@ func TestPrivateActivityYesHeatmapInvisibleForUserItselfAtDashboard(t *testing.T session := loginUser(t, privateActivityTestUser) visible := testPrivateActivityHelperHasVisibleDashboardHeatmapFromSession(t, session) - assert.False(t, visible, "user should have no visible heatmap") + assert.True(t, visible, "user should have visible heatmap") } func TestPrivateActivityYesHeatmapInvisibleForOtherUser(t *testing.T) { @@ -315,7 +312,7 @@ func TestPrivateActivityYesHeatmapInvisibleForOtherUser(t *testing.T) { assert.False(t, visible, "user should have no visible heatmap") } -func TestPrivateActivityYesHeatmapInvsisibleForAdmin(t *testing.T) { +func TestPrivateActivityYesHeatmapVisibleForAdmin(t *testing.T) { defer prepareTestEnv(t)() testPrivateActivityDoSomethingForActionEntries(t) testPrivateActivityHelperEnablePrivateActivity(t) @@ -323,7 +320,7 @@ func TestPrivateActivityYesHeatmapInvsisibleForAdmin(t *testing.T) { session := loginUser(t, privateActivityTestAdmin) visible := testPrivateActivityHelperHasVisibleProfileHeatmapFromSession(t, session) - assert.False(t, visible, "user should have no visible heatmap") + assert.True(t, visible, "user should have visible heatmap") } // check heatmap api provides content if the visibility is enabled diff --git a/routers/user/home.go b/routers/user/home.go index 9957ec6b0..886c4ab1b 100644 --- a/routers/user/home.go +++ b/routers/user/home.go @@ -104,9 +104,7 @@ func Dashboard(ctx *context.Context) { ctx.Data["PageIsNews"] = true ctx.Data["SearchLimit"] = setting.UI.User.RepoPagingNum - // no heatmap access for admins; GetUserHeatmapDataByUser ignores the calling user - // so everyone would get the same empty heatmap - if setting.Service.EnableUserHeatmap && !ctxUser.KeepActivityPrivate { + if setting.Service.EnableUserHeatmap { data, err := models.GetUserHeatmapDataByUserTeam(ctxUser, ctx.Org.Team, ctx.User) if err != nil { ctx.ServerError("GetUserHeatmapDataByUserTeam", err) diff --git a/routers/user/profile.go b/routers/user/profile.go index 5dfee07d7..ea4a1e889 100644 --- a/routers/user/profile.go +++ b/routers/user/profile.go @@ -99,9 +99,7 @@ func Profile(ctx *context.Context) { ctx.Data["Owner"] = ctxUser ctx.Data["OpenIDs"] = openIDs - // no heatmap access for admins; GetUserHeatmapDataByUser ignores the calling user - // so everyone would get the same empty heatmap - if setting.Service.EnableUserHeatmap && !ctxUser.KeepActivityPrivate { + if setting.Service.EnableUserHeatmap { data, err := models.GetUserHeatmapDataByUser(ctxUser, ctx.User) if err != nil { ctx.ServerError("GetUserHeatmapDataByUser", err)