| @@ -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 { | ||||