mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-22 17:23:10 +00:00
parent
ba2f6a45c8
commit
d1c982cb73
6 changed files with 19 additions and 6 deletions
|
@ -104,6 +104,7 @@ type User struct {
|
||||||
Rands string `xorm:"VARCHAR(10)"`
|
Rands string `xorm:"VARCHAR(10)"`
|
||||||
Salt string `xorm:"VARCHAR(10)"`
|
Salt string `xorm:"VARCHAR(10)"`
|
||||||
Language string `xorm:"VARCHAR(5)"`
|
Language string `xorm:"VARCHAR(5)"`
|
||||||
|
Description string
|
||||||
|
|
||||||
CreatedUnix util.TimeStamp `xorm:"INDEX created"`
|
CreatedUnix util.TimeStamp `xorm:"INDEX created"`
|
||||||
UpdatedUnix util.TimeStamp `xorm:"INDEX updated"`
|
UpdatedUnix util.TimeStamp `xorm:"INDEX updated"`
|
||||||
|
@ -134,12 +135,11 @@ type User struct {
|
||||||
NumRepos int
|
NumRepos int
|
||||||
|
|
||||||
// For organization
|
// For organization
|
||||||
Description string
|
NumTeams int
|
||||||
NumTeams int
|
NumMembers int
|
||||||
NumMembers int
|
Teams []*Team `xorm:"-"`
|
||||||
Teams []*Team `xorm:"-"`
|
Members []*User `xorm:"-"`
|
||||||
Members []*User `xorm:"-"`
|
Visibility structs.VisibleType `xorm:"NOT NULL DEFAULT 0"`
|
||||||
Visibility structs.VisibleType `xorm:"NOT NULL DEFAULT 0"`
|
|
||||||
|
|
||||||
// Preferences
|
// Preferences
|
||||||
DiffViewStyle string `xorm:"NOT NULL DEFAULT ''"`
|
DiffViewStyle string `xorm:"NOT NULL DEFAULT ''"`
|
||||||
|
|
|
@ -201,6 +201,7 @@ type UpdateProfileForm struct {
|
||||||
Website string `binding:"ValidUrl;MaxSize(255)"`
|
Website string `binding:"ValidUrl;MaxSize(255)"`
|
||||||
Location string `binding:"MaxSize(50)"`
|
Location string `binding:"MaxSize(50)"`
|
||||||
Language string `binding:"Size(5)"`
|
Language string `binding:"Size(5)"`
|
||||||
|
Description string `binding:"MaxSize(255)"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// Validate validates the fields
|
// Validate validates the fields
|
||||||
|
|
|
@ -334,6 +334,7 @@ following = Following
|
||||||
follow = Follow
|
follow = Follow
|
||||||
unfollow = Unfollow
|
unfollow = Unfollow
|
||||||
heatmap.loading = Loading Heatmap…
|
heatmap.loading = Loading Heatmap…
|
||||||
|
user_bio = Biography
|
||||||
|
|
||||||
form.name_reserved = The username '%s' is reserved.
|
form.name_reserved = The username '%s' is reserved.
|
||||||
form.name_pattern_not_allowed = The pattern '%s' is not allowed in a username.
|
form.name_pattern_not_allowed = The pattern '%s' is not allowed in a username.
|
||||||
|
|
|
@ -92,6 +92,7 @@ func ProfilePost(ctx *context.Context, form auth.UpdateProfileForm) {
|
||||||
ctx.User.Website = form.Website
|
ctx.User.Website = form.Website
|
||||||
ctx.User.Location = form.Location
|
ctx.User.Location = form.Location
|
||||||
ctx.User.Language = form.Language
|
ctx.User.Language = form.Language
|
||||||
|
ctx.User.Description = form.Description
|
||||||
if err := models.UpdateUserSetting(ctx.User); err != nil {
|
if err := models.UpdateUserSetting(ctx.User); err != nil {
|
||||||
if _, ok := err.(models.ErrEmailAlreadyUsed); ok {
|
if _, ok := err.(models.ErrEmailAlreadyUsed); ok {
|
||||||
ctx.Flash.Error(ctx.Tr("form.email_been_used"))
|
ctx.Flash.Error(ctx.Tr("form.email_been_used"))
|
||||||
|
|
|
@ -34,6 +34,12 @@
|
||||||
<a target="_blank" rel="noopener noreferrer me" href="{{.Owner.Website}}">{{.Owner.Website}}</a>
|
<a target="_blank" rel="noopener noreferrer me" href="{{.Owner.Website}}">{{.Owner.Website}}</a>
|
||||||
</li>
|
</li>
|
||||||
{{end}}
|
{{end}}
|
||||||
|
{{if .Owner.Description}}
|
||||||
|
<li>
|
||||||
|
<i class="octicon octicon-info"></i>
|
||||||
|
<span>{{.Owner.Description}}</span>
|
||||||
|
</li>
|
||||||
|
{{end}}
|
||||||
{{range .OpenIDs}}
|
{{range .OpenIDs}}
|
||||||
{{if .Show}}
|
{{if .Show}}
|
||||||
<li>
|
<li>
|
||||||
|
|
|
@ -31,6 +31,10 @@
|
||||||
<input name="keep_email_private" type="checkbox" {{if .SignedUser.KeepEmailPrivate}}checked{{end}}>
|
<input name="keep_email_private" type="checkbox" {{if .SignedUser.KeepEmailPrivate}}checked{{end}}>
|
||||||
</div>
|
</div>
|
||||||
</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}}">
|
<div class="field {{if .Err_Website}}error{{end}}">
|
||||||
<label for="website">{{.i18n.Tr "settings.website"}}</label>
|
<label for="website">{{.i18n.Tr "settings.website"}}</label>
|
||||||
<input id="website" name="website" type="url" value="{{.SignedUser.Website}}">
|
<input id="website" name="website" type="url" value="{{.SignedUser.Website}}">
|
||||||
|
|
Loading…
Reference in a new issue