@@ -142,6 +142,9 @@ func GetUserBadgesPaging(userId int64, opts GetUserBadgesOpts) ([]*Badge, error) | |||||
err := x.Join("INNER", "badge_user", "badge_user.badge_id = badge.id").Where(cond).OrderBy("badge_user.id desc").Limit(opts.PageSize, (opts.Page-1)*opts.PageSize).Find(&r) | err := x.Join("INNER", "badge_user", "badge_user.badge_id = badge.id").Where(cond).OrderBy("badge_user.id desc").Limit(opts.PageSize, (opts.Page-1)*opts.PageSize).Find(&r) | ||||
return r, err | return r, err | ||||
} | } | ||||
func CountUserBadges(userId int64) (int64, error) { | |||||
return x.Where("user_id = ?", userId).Count(&BadgeUser{}) | |||||
} | |||||
func GetUserBadges(userId, categoryId int64) ([]*Badge, error) { | func GetUserBadges(userId, categoryId int64) ([]*Badge, error) { | ||||
cond := builder.NewCond() | cond := builder.NewCond() | ||||
@@ -97,12 +97,19 @@ func Profile(ctx *context.Context) { | |||||
ctx.ServerError("GetUserBadges", err) | ctx.ServerError("GetUserBadges", err) | ||||
return | return | ||||
} | } | ||||
// Count user badges | |||||
cnt, err := badge.CountUserBadges(ctxUser.ID) | |||||
if err != nil { | |||||
ctx.ServerError("CountUserBadges", err) | |||||
return | |||||
} | |||||
ctx.Data["Title"] = ctxUser.DisplayName() | ctx.Data["Title"] = ctxUser.DisplayName() | ||||
ctx.Data["PageIsUserProfile"] = true | ctx.Data["PageIsUserProfile"] = true | ||||
ctx.Data["Owner"] = ctxUser | ctx.Data["Owner"] = ctxUser | ||||
ctx.Data["OpenIDs"] = openIDs | ctx.Data["OpenIDs"] = openIDs | ||||
ctx.Data["RecentBadges"] = badges | ctx.Data["RecentBadges"] = badges | ||||
ctx.Data["TotalBadges"] = cnt | |||||
ctx.Data["EnableHeatmap"] = setting.Service.EnableUserHeatmap | ctx.Data["EnableHeatmap"] = setting.Service.EnableUserHeatmap | ||||
ctx.Data["HeatmapUser"] = ctxUser.Name | ctx.Data["HeatmapUser"] = ctxUser.Name | ||||
showPrivate := ctx.IsSigned && (ctx.User.IsAdmin || ctx.User.ID == ctxUser.ID) | showPrivate := ctx.IsSigned && (ctx.User.IsAdmin || ctx.User.ID == ctxUser.ID) | ||||
@@ -60,6 +60,10 @@ func GetUserBadges(userId int64, opts models.ListOptions) ([]*models.Badge4UserS | |||||
return r, nil | return r, nil | ||||
} | } | ||||
func CountUserBadges(userId int64) (int64, error) { | |||||
return models.CountUserBadges(userId) | |||||
} | |||||
func GetUserAllBadges(userId int64) ([]models.UserAllBadgeInCategory, error) { | func GetUserAllBadges(userId int64) ([]models.UserAllBadgeInCategory, error) { | ||||
categoryList, err := models.GetBadgeCategoryList() | categoryList, err := models.GetBadgeCategoryList() | ||||
if err != nil { | if err != nil { | ||||