|
|
@ -20,6 +20,7 @@ import ( |
|
|
|
|
|
|
|
|
|
|
|
const ( |
|
|
|
const ( |
|
|
|
DASHBOARD base.TplName = "user/dashboard/dashboard" |
|
|
|
DASHBOARD base.TplName = "user/dashboard/dashboard" |
|
|
|
|
|
|
|
NEWS_FEED base.TplName = "user/dashboard/feeds" |
|
|
|
ISSUES base.TplName = "user/dashboard/issues" |
|
|
|
ISSUES base.TplName = "user/dashboard/issues" |
|
|
|
PROFILE base.TplName = "user/profile" |
|
|
|
PROFILE base.TplName = "user/profile" |
|
|
|
ORG_HOME base.TplName = "org/home" |
|
|
|
ORG_HOME base.TplName = "org/home" |
|
|
@ -52,8 +53,8 @@ func getDashboardContextUser(ctx *context.Context) *models.User { |
|
|
|
// retrieveFeeds loads feeds from database by given context user.
|
|
|
|
// retrieveFeeds loads feeds from database by given context user.
|
|
|
|
// The user could be organization so it is not always the logged in user,
|
|
|
|
// The user could be organization so it is not always the logged in user,
|
|
|
|
// which is why we have to explicitly pass the context user ID.
|
|
|
|
// which is why we have to explicitly pass the context user ID.
|
|
|
|
func retrieveFeeds(ctx *context.Context, ctxUser *models.User, userID int64, page int, isProfile bool) { |
|
|
|
func retrieveFeeds(ctx *context.Context, ctxUser *models.User, userID int64, isProfile bool) { |
|
|
|
actions, err := models.GetFeeds(ctxUser, userID, page, isProfile) |
|
|
|
actions, err := models.GetFeeds(ctxUser, userID, ctx.QueryInt64("after_id"), isProfile) |
|
|
|
if err != nil { |
|
|
|
if err != nil { |
|
|
|
ctx.Handle(500, "GetFeeds", err) |
|
|
|
ctx.Handle(500, "GetFeeds", err) |
|
|
|
return |
|
|
|
return |
|
|
@ -81,6 +82,11 @@ func retrieveFeeds(ctx *context.Context, ctxUser *models.User, userID int64, pag |
|
|
|
feeds = append(feeds, act) |
|
|
|
feeds = append(feeds, act) |
|
|
|
} |
|
|
|
} |
|
|
|
ctx.Data["Feeds"] = feeds |
|
|
|
ctx.Data["Feeds"] = feeds |
|
|
|
|
|
|
|
if len(feeds) > 0 { |
|
|
|
|
|
|
|
afterID := feeds[len(feeds)-1].ID |
|
|
|
|
|
|
|
ctx.Data["AfterID"] = afterID |
|
|
|
|
|
|
|
ctx.Header().Set("X-AJAX-URL", fmt.Sprintf("%s?after_id=%d", ctx.Data["Link"], afterID)) |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
func Dashboard(ctx *context.Context) { |
|
|
|
func Dashboard(ctx *context.Context) { |
|
|
@ -89,6 +95,16 @@ func Dashboard(ctx *context.Context) { |
|
|
|
return |
|
|
|
return |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
retrieveFeeds(ctx, ctxUser, ctx.User.ID, false) |
|
|
|
|
|
|
|
if ctx.Written() { |
|
|
|
|
|
|
|
return |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if ctx.Req.Header.Get("X-AJAX") == "true" { |
|
|
|
|
|
|
|
ctx.HTML(200, NEWS_FEED) |
|
|
|
|
|
|
|
return |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
ctx.Data["Title"] = ctxUser.DisplayName() + " - " + ctx.Tr("dashboard") |
|
|
|
ctx.Data["Title"] = ctxUser.DisplayName() + " - " + ctx.Tr("dashboard") |
|
|
|
ctx.Data["PageIsDashboard"] = true |
|
|
|
ctx.Data["PageIsDashboard"] = true |
|
|
|
ctx.Data["PageIsNews"] = true |
|
|
|
ctx.Data["PageIsNews"] = true |
|
|
@ -143,10 +159,6 @@ func Dashboard(ctx *context.Context) { |
|
|
|
ctx.Data["MirrorCount"] = len(mirrors) |
|
|
|
ctx.Data["MirrorCount"] = len(mirrors) |
|
|
|
ctx.Data["Mirrors"] = mirrors |
|
|
|
ctx.Data["Mirrors"] = mirrors |
|
|
|
|
|
|
|
|
|
|
|
retrieveFeeds(ctx, ctxUser, ctx.User.ID, 1, false) |
|
|
|
|
|
|
|
if ctx.Written() { |
|
|
|
|
|
|
|
return |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
ctx.HTML(200, DASHBOARD) |
|
|
|
ctx.HTML(200, DASHBOARD) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|