Browse Source

Show private heatmap on profile to self & admins (#14881)

followup to #14080
mj-v1.14.3
Norwin 2 years ago
committed by GitHub
parent
commit
0a8a3ab0f5
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 15
      integrations/privateactivity_test.go
  2. 4
      routers/user/home.go
  3. 4
      routers/user/profile.go

15
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

4
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)

4
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)

Loading…
Cancel
Save