diff options
Diffstat (limited to 'routers')
-rw-r--r-- | routers/user/home.go | 24 | ||||
-rw-r--r-- | routers/user/profile.go | 2 |
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 } |