diff options
author | techknowlogick <matti@mdranta.net> | 2019-03-18 22:28:10 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-03-18 22:28:10 -0400 |
commit | d1c982cb731a0744e2a8e0863b46ff9e99c99b63 (patch) | |
tree | fd6dc3e432f90e3cc4a5e132ef97f94633ce3149 | |
parent | ba2f6a45c8ef44f74772456fc98c27faca058241 (diff) | |
download | gitea-d1c982cb731a0744e2a8e0863b46ff9e99c99b63.tar.gz gitea-d1c982cb731a0744e2a8e0863b46ff9e99c99b63.zip |
Add bio field for user (#6113)
Fix #4339
-rw-r--r-- | models/user.go | 12 | ||||
-rw-r--r-- | modules/auth/user_form.go | 1 | ||||
-rw-r--r-- | options/locale/locale_en-US.ini | 1 | ||||
-rw-r--r-- | routers/user/setting/profile.go | 1 | ||||
-rw-r--r-- | templates/user/profile.tmpl | 6 | ||||
-rw-r--r-- | templates/user/settings/profile.tmpl | 4 |
6 files changed, 19 insertions, 6 deletions
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 @@ <a target="_blank" rel="noopener noreferrer me" href="{{.Owner.Website}}">{{.Owner.Website}}</a> </li> {{end}} + {{if .Owner.Description}} + <li> + <i class="octicon octicon-info"></i> + <span>{{.Owner.Description}}</span> + </li> + {{end}} {{range .OpenIDs}} {{if .Show}} <li> diff --git a/templates/user/settings/profile.tmpl b/templates/user/settings/profile.tmpl index 6a654fda70..995bdfd638 100644 --- a/templates/user/settings/profile.tmpl +++ b/templates/user/settings/profile.tmpl @@ -31,6 +31,10 @@ <input name="keep_email_private" type="checkbox" {{if .SignedUser.KeepEmailPrivate}}checked{{end}}> </div> </div> + <div class="field {{if .Err_Description}}error{{end}}"> + <label for="description">{{$.i18n.Tr "user.user_bio"}}</label> + <textarea id="description" name="description" rows="2">{{.SignedUser.Description}}</textarea> + </div> <div class="field {{if .Err_Website}}error{{end}}"> <label for="website">{{.i18n.Tr "settings.website"}}</label> <input id="website" name="website" type="url" value="{{.SignedUser.Website}}"> |