Show private heatmap on profile to self & admins (#14881)
followup to #14080
This commit is contained in:
parent
11229ca539
commit
0a8a3ab0f5
3 changed files with 8 additions and 15 deletions
|
@ -268,9 +268,6 @@ func TestPrivateActivityNoHeatmapVisibleForAdmin(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// check heatmap visibility if the visibility is disabled
|
// 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) {
|
func TestPrivateActivityYesHeatmapInvisibleForPublic(t *testing.T) {
|
||||||
defer prepareTestEnv(t)()
|
defer prepareTestEnv(t)()
|
||||||
|
@ -282,7 +279,7 @@ func TestPrivateActivityYesHeatmapInvisibleForPublic(t *testing.T) {
|
||||||
assert.False(t, visible, "user should have no visible heatmap")
|
assert.False(t, visible, "user should have no visible heatmap")
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestPrivateActivityYesHeatmapInvisibleForUserItselfAtProfile(t *testing.T) {
|
func TestPrivateActivityYesHeatmapVisibleForUserItselfAtProfile(t *testing.T) {
|
||||||
defer prepareTestEnv(t)()
|
defer prepareTestEnv(t)()
|
||||||
testPrivateActivityDoSomethingForActionEntries(t)
|
testPrivateActivityDoSomethingForActionEntries(t)
|
||||||
testPrivateActivityHelperEnablePrivateActivity(t)
|
testPrivateActivityHelperEnablePrivateActivity(t)
|
||||||
|
@ -290,10 +287,10 @@ func TestPrivateActivityYesHeatmapInvisibleForUserItselfAtProfile(t *testing.T)
|
||||||
session := loginUser(t, privateActivityTestUser)
|
session := loginUser(t, privateActivityTestUser)
|
||||||
visible := testPrivateActivityHelperHasVisibleProfileHeatmapFromSession(t, session)
|
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)()
|
defer prepareTestEnv(t)()
|
||||||
testPrivateActivityDoSomethingForActionEntries(t)
|
testPrivateActivityDoSomethingForActionEntries(t)
|
||||||
testPrivateActivityHelperEnablePrivateActivity(t)
|
testPrivateActivityHelperEnablePrivateActivity(t)
|
||||||
|
@ -301,7 +298,7 @@ func TestPrivateActivityYesHeatmapInvisibleForUserItselfAtDashboard(t *testing.T
|
||||||
session := loginUser(t, privateActivityTestUser)
|
session := loginUser(t, privateActivityTestUser)
|
||||||
visible := testPrivateActivityHelperHasVisibleDashboardHeatmapFromSession(t, session)
|
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) {
|
func TestPrivateActivityYesHeatmapInvisibleForOtherUser(t *testing.T) {
|
||||||
|
@ -315,7 +312,7 @@ func TestPrivateActivityYesHeatmapInvisibleForOtherUser(t *testing.T) {
|
||||||
assert.False(t, visible, "user should have no visible heatmap")
|
assert.False(t, visible, "user should have no visible heatmap")
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestPrivateActivityYesHeatmapInvsisibleForAdmin(t *testing.T) {
|
func TestPrivateActivityYesHeatmapVisibleForAdmin(t *testing.T) {
|
||||||
defer prepareTestEnv(t)()
|
defer prepareTestEnv(t)()
|
||||||
testPrivateActivityDoSomethingForActionEntries(t)
|
testPrivateActivityDoSomethingForActionEntries(t)
|
||||||
testPrivateActivityHelperEnablePrivateActivity(t)
|
testPrivateActivityHelperEnablePrivateActivity(t)
|
||||||
|
@ -323,7 +320,7 @@ func TestPrivateActivityYesHeatmapInvsisibleForAdmin(t *testing.T) {
|
||||||
session := loginUser(t, privateActivityTestAdmin)
|
session := loginUser(t, privateActivityTestAdmin)
|
||||||
visible := testPrivateActivityHelperHasVisibleProfileHeatmapFromSession(t, session)
|
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
|
// check heatmap api provides content if the visibility is enabled
|
||||||
|
|
|
@ -104,9 +104,7 @@ func Dashboard(ctx *context.Context) {
|
||||||
ctx.Data["PageIsNews"] = true
|
ctx.Data["PageIsNews"] = true
|
||||||
ctx.Data["SearchLimit"] = setting.UI.User.RepoPagingNum
|
ctx.Data["SearchLimit"] = setting.UI.User.RepoPagingNum
|
||||||
|
|
||||||
// no heatmap access for admins; GetUserHeatmapDataByUser ignores the calling user
|
if setting.Service.EnableUserHeatmap {
|
||||||
// so everyone would get the same empty heatmap
|
|
||||||
if setting.Service.EnableUserHeatmap && !ctxUser.KeepActivityPrivate {
|
|
||||||
data, err := models.GetUserHeatmapDataByUserTeam(ctxUser, ctx.Org.Team, ctx.User)
|
data, err := models.GetUserHeatmapDataByUserTeam(ctxUser, ctx.Org.Team, ctx.User)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
ctx.ServerError("GetUserHeatmapDataByUserTeam", err)
|
ctx.ServerError("GetUserHeatmapDataByUserTeam", err)
|
||||||
|
|
|
@ -99,9 +99,7 @@ func Profile(ctx *context.Context) {
|
||||||
ctx.Data["Owner"] = ctxUser
|
ctx.Data["Owner"] = ctxUser
|
||||||
ctx.Data["OpenIDs"] = openIDs
|
ctx.Data["OpenIDs"] = openIDs
|
||||||
|
|
||||||
// no heatmap access for admins; GetUserHeatmapDataByUser ignores the calling user
|
if setting.Service.EnableUserHeatmap {
|
||||||
// so everyone would get the same empty heatmap
|
|
||||||
if setting.Service.EnableUserHeatmap && !ctxUser.KeepActivityPrivate {
|
|
||||||
data, err := models.GetUserHeatmapDataByUser(ctxUser, ctx.User)
|
data, err := models.GetUserHeatmapDataByUser(ctxUser, ctx.User)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
ctx.ServerError("GetUserHeatmapDataByUser", err)
|
ctx.ServerError("GetUserHeatmapDataByUser", err)
|
||||||
|
|
Reference in a new issue