diff --git a/models/user.go b/models/user.go index 1ed949355f..8fc15848c8 100644 --- a/models/user.go +++ b/models/user.go @@ -104,6 +104,7 @@ type User struct { Rands string `xorm:"VARCHAR(10)"` Salt string `xorm:"VARCHAR(10)"` Language string `xorm:"VARCHAR(5)"` + Description string CreatedUnix util.TimeStamp `xorm:"INDEX created"` UpdatedUnix util.TimeStamp `xorm:"INDEX updated"` @@ -134,12 +135,11 @@ type User struct { NumRepos int // For organization - Description string - NumTeams int - NumMembers int - Teams []*Team `xorm:"-"` - Members []*User `xorm:"-"` - Visibility structs.VisibleType `xorm:"NOT NULL DEFAULT 0"` + NumTeams int + NumMembers int + Teams []*Team `xorm:"-"` + Members []*User `xorm:"-"` + Visibility structs.VisibleType `xorm:"NOT NULL DEFAULT 0"` // Preferences DiffViewStyle string `xorm:"NOT NULL DEFAULT ''"` diff --git a/modules/auth/user_form.go b/modules/auth/user_form.go index be0f9bf1bf..78dd75fa1d 100644 --- a/modules/auth/user_form.go +++ b/modules/auth/user_form.go @@ -201,6 +201,7 @@ type UpdateProfileForm struct { Website string `binding:"ValidUrl;MaxSize(255)"` Location string `binding:"MaxSize(50)"` Language string `binding:"Size(5)"` + Description string `binding:"MaxSize(255)"` } // Validate validates the fields diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini index 6662400ad9..06e4e2c552 100644 --- a/options/locale/locale_en-US.ini +++ b/options/locale/locale_en-US.ini @@ -334,6 +334,7 @@ following = Following follow = Follow unfollow = Unfollow heatmap.loading = Loading Heatmap… +user_bio = Biography form.name_reserved = The username '%s' is reserved. form.name_pattern_not_allowed = The pattern '%s' is not allowed in a username. diff --git a/routers/user/setting/profile.go b/routers/user/setting/profile.go index 09073498f8..96210b79f8 100644 --- a/routers/user/setting/profile.go +++ b/routers/user/setting/profile.go @@ -92,6 +92,7 @@ func ProfilePost(ctx *context.Context, form auth.UpdateProfileForm) { ctx.User.Website = form.Website ctx.User.Location = form.Location ctx.User.Language = form.Language + ctx.User.Description = form.Description if err := models.UpdateUserSetting(ctx.User); err != nil { if _, ok := err.(models.ErrEmailAlreadyUsed); ok { ctx.Flash.Error(ctx.Tr("form.email_been_used")) diff --git a/templates/user/profile.tmpl b/templates/user/profile.tmpl index f65776bdfa..6170c6d130 100644 --- a/templates/user/profile.tmpl +++ b/templates/user/profile.tmpl @@ -34,6 +34,12 @@ {{.Owner.Website}} {{end}} + {{if .Owner.Description}} +