aboutsummaryrefslogtreecommitdiff
path: root/routers
diff options
context:
space:
mode:
Diffstat (limited to 'routers')
-rw-r--r--routers/user/home.go24
-rw-r--r--routers/user/profile.go2
2 files changed, 19 insertions, 7 deletions
diff --git a/routers/user/home.go b/routers/user/home.go
index 5dc83466..2fe70c43 100644
--- a/routers/user/home.go
+++ b/routers/user/home.go
@@ -20,6 +20,7 @@ import (
const (
DASHBOARD base.TplName = "user/dashboard/dashboard"
+ NEWS_FEED base.TplName = "user/dashboard/feeds"
ISSUES base.TplName = "user/dashboard/issues"
PROFILE base.TplName = "user/profile"
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.
// 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.
-func retrieveFeeds(ctx *context.Context, ctxUser *models.User, userID int64, page int, isProfile bool) {
- actions, err := models.GetFeeds(ctxUser, userID, page, isProfile)
+func retrieveFeeds(ctx *context.Context, ctxUser *models.User, userID int64, isProfile bool) {
+ actions, err := models.GetFeeds(ctxUser, userID, ctx.QueryInt64("after_id"), isProfile)
if err != nil {
ctx.Handle(500, "GetFeeds", err)
return
@@ -81,6 +82,11 @@ func retrieveFeeds(ctx *context.Context, ctxUser *models.User, userID int64, pag
feeds = append(feeds, act)
}
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) {
@@ -89,6 +95,16 @@ func Dashboard(ctx *context.Context) {
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["PageIsDashboard"] = true
ctx.Data["PageIsNews"] = true
@@ -143,10 +159,6 @@ func Dashboard(ctx *context.Context) {
ctx.Data["MirrorCount"] = len(mirrors)
ctx.Data["Mirrors"] = mirrors
- retrieveFeeds(ctx, ctxUser, ctx.User.ID, 1, false)
- if ctx.Written() {
- return
- }
ctx.HTML(200, DASHBOARD)
}
diff --git a/routers/user/profile.go b/routers/user/profile.go
index be435619..ee5f97c5 100644
--- a/routers/user/profile.go
+++ b/routers/user/profile.go
@@ -86,7 +86,7 @@ func Profile(ctx *context.Context) {
ctx.Data["TabName"] = tab
switch tab {
case "activity":
- retrieveFeeds(ctx, ctxUser, -1, 0, true)
+ retrieveFeeds(ctx, ctxUser, -1, true)
if ctx.Written() {
return
}